trait AnalysisExecutor extends AnyRef
Provides the necessary infrastructure to easily execute a given analysis that generates some analysis result that can be printed on the command line.
To facilitate the usage of this trait several implicit conversions are defined that wrap standard analyses (org.opalj.br.analyses) such that they report results that are reportable.
This class distinguishes between class files belonging to the code base under
analysis and those that belong to the libraries. Those belonging to the libraries
are loaded using the ClassFileReader for library classes (basically, all method
bodies are skipped org.opalj.br.reader.Java8LibraryFramework).
The parameter to specify library classes is -libcp=, the parameter to specify
the "normal" classpath is -cp=.
Control Flow
- Alphabetic
- By Inheritance
- AnalysisExecutor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
val
analysis: Analysis[URL, ReportableAnalysisResult]
The analysis that will be executed.
The analysis that will be executed.
The
analyzemethod implemented by the analysis will be called after loading all class files and creating aProject. Additionally, all specified (additional) parameters are passed to the analyze method.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
analysisSpecificParametersDescription: String
Describes the analysis specific parameters.
Describes the analysis specific parameters. An analysis specific parameter has to start with a dash ("-") and has to contain an equals sign ("=").
- Note
The parameter
,-cp=is already predefined (see general documentation).The parameter
-library=is already predefined (see general documentation).
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
checkAnalysisSpecificParameters(parameters: Seq[String]): Traversable[String]
Checks if the (additional) parameters are understood by the analysis.
Checks if the (additional) parameters are understood by the analysis. If an error is found, a list of issues is returned and the analysis will not be executed.
This method must be overridden if the analysis defines additional parameters. A method that overrides this method should
returnthe list of issues if it can't validate all arguments. The default behavior is to check that there are no additional parameters. -
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handleParsingExceptions(project: SomeProject, exceptions: Traversable[Throwable]): Unit
- Attributes
- protected
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def main(args: Array[String]): Unit
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
printUsage(implicit logContext: LogContext): Unit
Prints out general information how to use this analysis.
Prints out general information how to use this analysis. Printed whenever the set of specified parameters is not valid.
- Attributes
- protected
- def setupProject(cpFiles: Iterable[File], libcpFiles: Iterable[File], completelyLoadLibraries: Boolean, projectType: ProjectType, fallbackConfiguration: Config)(implicit initialLogContext: LogContext): Project[URL]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )