Packages

t

org.opalj.br.analyses

AnalysisExecutor

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

  1. The standard parameters are checked.
  2. The analysis is called to let it verify the analysis specific parameters.
  3. The Project is created.
  4. The analyze method of the Analysis is called with the project and the parameters.
  5. The results are printed.
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AnalysisExecutor
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. 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 a Project. Additionally, all specified (additional) parameters are passed to the analyze method.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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).

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. 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 return the list of issues if it can't validate all arguments. The default behavior is to check that there are no additional parameters.

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def handleParsingExceptions(project: SomeProject, exceptions: Traversable[Throwable]): Unit
    Attributes
    protected
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def main(args: Array[String]): Unit
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. 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
  20. def setupProject(cpFiles: Iterable[File], libcpFiles: Iterable[File], completelyLoadLibraries: Boolean, projectType: ProjectType, fallbackConfiguration: Config)(implicit initialLogContext: LogContext): Project[URL]
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped