Trait

org.opalj.br.analyses

AnalysisExecutor

Related Doc: package analyses

Permalink

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]

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def analysisSpecificParametersDescription: String

    Permalink

    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 -library= is already predefined (see general documentation).

    ,

    The parameter -cp= is already predefined (see general documentation).

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def checkAnalysisSpecificParameters(parameters: Seq[String]): Traversable[String]

    Permalink

    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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def handleParsingExceptions(project: SomeProject, exceptions: Traversable[Throwable]): Unit

    Permalink
    Attributes
    protected
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. def main(unparsedArgs: Array[String]): Unit

    Permalink
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. def printUsage(): Unit

    Permalink

    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]): Project[URL]

    Permalink
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped