trait AnalysisApplication 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
- AnalysisApplication
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract val analysis: Analysis[URL, ReportableAnalysisResult]
The analysis that will be executed.
The analysis that will be executed.
The
analyze
method 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
- 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).
- def checkAnalysisSpecificParameters(parameters: Seq[String]): Iterable[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
return
the list of issues if it can't validate all arguments. The default behavior is to check that there are no additional parameters. - def main(args: Array[String]): Unit
- def setupProject(cpFiles: Iterable[File], libcpFiles: Iterable[File], completelyLoadLibraries: Boolean, configuredConfig: Config)(implicit initialLogContext: LogContext): Project[URL]