Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package opalj

    OPAL is a Scala-based framework for the static analysis, manipulation and creation of Java bytecode.

    OPAL is a Scala-based framework for the static analysis, manipulation and creation of Java bytecode. OPAL is designed with performance, scalability and adaptability in mind.

    Its main components are:

    • a library (Common) which provides generally useful data-structures and algorithms for static analyses.
    • a framework for parsing Java bytecode (Bytecode Infrastructure) that can be used to create arbitrary representations.
    • a library to create a one-to-one in-memory representation of Java bytecode (Bytecode Disassembler).
    • a library to create a representation of Java bytecode that facilitates writing simple static analyses (Bytecode Representation - org.opalj.br).
    • a scalable, easily customizable framework for the abstract interpretation of Java bytecode (Abstract Interpretation Framework - org.opalj.ai).
    • a library to extract dependencies between code elements and to facilitate checking architecture definitions.
    • a library for the lightweight manipulation and creation of Java bytecode.

    General Design Decisions

    Thread Safety

    Unless explicitly noted, OPAL is thread safe. I.e., the classes defined by OPAL can be considered to be thread safe unless otherwise stated. (For example, it is possible to read and process class files concurrently without explicit synchronization on the client side.)

    No null Values

    Unless explicitly noted, OPAL does not null values I.e., fields that are accessible will never contain null values and methods will never return null. If a method accepts null as a value for a parameter or returns a null value it is always explicitly documented. In general, the behavior of methods that are passed null values is undefined unless explicitly documented.

    No Typecasts for Collections

    For efficiency reasons, OPAL sometimes uses mutable data-structures internally. After construction time, these data-structures are generally represented using their generic interfaces (e.g., scala.collection.{Set,Map}). However, a downcast (e.g., to add/remove elements) is always forbidden as it would effectively prevent thread-safety. Furthermore, the concrete data-structure is always considered an implementation detail and may change at any time.

    Assertions

    OPAL makes heavy use of Scala's Assertion Facility to facilitate writing correct code. Hence, for production builds (after thorough testing(!)) it is highly recommend to build OPAL again using -Xdisable-assertions.

    Definition Classes
    org
  • package hermes
    Definition Classes
    opalj
  • package queries
    Definition Classes
    hermes
  • ClassFileLocation
  • DefaultFeatureQuery
  • DefaultGroupedFeaturesQuery
  • DuplicateFeatureIDException
  • Feature
  • FeatureQueries
  • FeatureQuery
  • FieldLocation
  • Globals
  • Hermes
  • HermesCLI
  • HermesCore
  • InstructionLocation
  • Location
  • LocationsContainer
  • MethodLocation
  • PackageLocation
  • ProjectConfiguration
  • ProjectFeatures
  • ProjectInstantiation
  • Query

object Hermes extends JFXApp with HermesCore

Executes all analyses to determine the representativeness of the given projects.

Source
Hermes.scala
Linear Supertypes
HermesCore, JFXApp, DelayedInit, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Hermes
  2. HermesCore
  3. JFXApp
  4. DelayedInit
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. val analysesFinished: BooleanProperty
    Definition Classes
    HermesCore
  5. val analysisTimesStage: Stage
  6. def analyzeCorpus(runAsDaemons: Boolean): Thread

    Executes the queries for all projects.

    Executes the queries for all projects. Basically, the queries are executed in parallel for each project.

    Definition Classes
    HermesCore
    Note

    This method is only intended to be called once!

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. val corpusAnalysisTime: LongProperty
    Definition Classes
    HermesCore
  10. def createFileMenuItems(): List[MenuItem]
  11. def delayedInit(x: ⇒ Unit): Unit
    Definition Classes
    JFXApp → DelayedInit
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def exportFlare(file: File): Unit
  15. def exportMapping(file: File): Unit

    Exports the mapping between a feature query class and its feature queries.

    Exports the mapping between a feature query class and its feature queries.

    For the feature ids the following substitution scheme is used:

    • \\ is replaced by \\\\
    • new line ('\\n') is replaced by \\n
    • , is replaced by \\,
    file

    The file to which the mapping will be written.

    Definition Classes
    HermesCore
  16. def exportStatistics(file: File, exportProjectStatistics: Boolean = true): Unit
    Definition Classes
    HermesCore
  17. lazy val featureIDs: List[(String, FeatureQuery)]

    The list of unique features derived by enabled feature queries; one feature query may be referenced by multiple unique feature queries.

    The list of unique features derived by enabled feature queries; one feature query may be referenced by multiple unique feature queries.

    Definition Classes
    HermesCore
  18. lazy val featureMatrix: ObservableBuffer[ProjectFeatures[URL]]

    The matrix containing for each project the extensions of all features.

    The matrix containing for each project the extensions of all features.

    Definition Classes
    HermesCore
  19. lazy val featureQueries: List[FeatureQuery]

    The list of enabled feature queries.

    The list of enabled feature queries.

    Definition Classes
    HermesCore
  20. val featureQueryColumns: List[TableColumn[ProjectFeatures[URL], Feature[URL]]]
  21. val featuresTableView: TableView[ProjectFeatures[URL]]
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def hostServices: HostServices
    Definition Classes
    JFXApp
  26. def initialize(configFile: File): Unit

    Creates the initial, overall configuration.

    Creates the initial, overall configuration.

    Definition Classes
    HermesCore
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. val locationsView: ListView[Location[URL]]
  29. def main(args: Array[String]): Unit
    Definition Classes
    JFXApp
  30. val mainPane: HiddenSidesPane
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. val onlyShowNotAvailableFeatures: CheckBox
  35. lazy val parameters: Parameters
    Attributes
    protected
    Definition Classes
    JFXApp
  36. lazy val perFeatureCounts: Array[IntegerProperty]

    Summary of the number of occurrences of a feature across all projects.

    Summary of the number of occurrences of a feature across all projects.

    Definition Classes
    HermesCore
  37. val preferences: Preferences
  38. var primitiveFeatureIndex: Int
  39. val projectColumn: TableColumn[ProjectFeatures[URL], String]
  40. lazy val projectConfigurations: List[ProjectConfiguration]

    The set of all project configurations.

    The set of all project configurations.

    Definition Classes
    HermesCore
  41. lazy val registeredQueries: List[Query]

    The list of all registered feature queries.

    The list of all registered feature queries.

    Definition Classes
    HermesCore
  42. def reportProgress(f: ⇒ Double): Unit

    Called to report the progress.

    Called to report the progress. If the double value is 1.0 the analyses has finished. Note that report progress is executed concurrently, but f must not be called concurrently and may need to be scheduled as part of the UI thread if the progress is visualized.

    Definition Classes
    HermesHermesCore
  43. val rootPane: BorderPane
  44. val showFeatureQueryResults: GridPane
  45. val stage: PrimaryStage
    Definition Classes
    JFXApp
  46. def stopApp(): Unit
    Definition Classes
    JFXApp
  47. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  48. def toString(): String
    Definition Classes
    AnyRef → Any
  49. def updateProjectData(f: ⇒ Unit): Unit

    Note that update project data is executed concurrently, but f must not be called concurrently and may need to be scheduled as part of the UI thread if the affected data is visualized.

    Note that update project data is executed concurrently, but f must not be called concurrently and may need to be scheduled as part of the UI thread if the affected data is visualized.

    Definition Classes
    HermesHermesCore
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from HermesCore

Inherited from JFXApp

Inherited from DelayedInit

Inherited from AnyRef

Inherited from Any

Ungrouped