Packages

p

org.opalj.tac.fpcf

analyses

package analyses

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. analyses
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package alias
  2. package cg
  3. package escape
  4. package fieldaccess
  5. package fieldassignability
  6. package ide
  7. package ifds
  8. package pointsto
  9. package purity
  10. package string

  11. package systemproperties

Type Members

  1. trait APIBasedAnalysis extends FPCFAnalysis with ContextualAnalysis

    A trait for analyses that model the result of the invocation of a specific apiMethod.

    A trait for analyses that model the result of the invocation of a specific apiMethod.

    Each time a new caller of the apiMethod* is found in the Callers property, handleNewCaller* gets called.

    Note

    When handleNewCaller gets invoked, there is no guarantee that the caller's three-address code (org.opalj.tac.fpcf.properties.TACAI) is present in the property store, nor that it is final. If this is required, use the TACAIBasedAPIBasedAnalysis sub-trait.

  2. case class AllocationSiteDescription(cf: String, name: String, desc: String, instantiatedType: String, arrayComponentTypes: Seq[String]) extends EntityDescription with Product with Serializable
  3. case class ArrayDescription(array: EntityDescription, arrayType: String) extends EntityDescription with Product with Serializable
  4. case class ConfiguredMethodData(cf: String, name: String, desc: String, pointsTo: Option[Array[EntityAssignment]], methodInvocations: Option[Array[MethodDescription]]) extends Product with Serializable
  5. case class ConfiguredMethods(nativeMethods: Array[ConfiguredMethodData]) extends Product with Serializable
  6. final case class DefinitionSiteWithoutPutField(method: DeclaredMethod, pc: Int, putFieldPC: Int) extends DefinitionSiteLike with Product with Serializable

    Represents a definition site of an object that is stored into a field (that is being analyzed for locality) where the field write use-site is removed from the set of use-sites.

    Represents a definition site of an object that is stored into a field (that is being analyzed for locality) where the field write use-site is removed from the set of use-sites. It acts as an entity for the escape analysis (we are interested whether the objects stored into a field are local, i.e. doe not escape). Here, the org.opalj.tac.PutField would let the object escape.

  7. case class EntityAssignment(lhs: EntityDescription, rhs: EntityDescription) extends Product with Serializable
  8. sealed trait EntityDescription extends AnyRef
  9. class FieldImmutabilityAnalysis extends FPCFAnalysis

    Analysis that determines the immutability of org.opalj.br.Field

  10. trait FieldImmutabilityAnalysisScheduler extends FPCFAnalysisScheduler
  11. class FieldLocalityAnalysis extends FPCFAnalysis

    Determines whether the lifetime of a reference type field is the same as that of its owning instance.

    Determines whether the lifetime of a reference type field is the same as that of its owning instance. Base type fields are treated as local for convenience, but this should never be required anyway.

  12. sealed trait FieldLocalityAnalysisScheduler extends FPCFAnalysisScheduler
  13. class FieldLocalityState extends AnyRef
  14. class L0TACAIAnalysis extends FPCFAnalysis

    Basically just (re)creates the tac of a method if the result of the underlying abstract interpretation changes.

  15. sealed trait L0TACAIAnalysisScheduler extends TACAIInitializer
  16. case class MethodDescription(cf: String, name: String, desc: String) extends EntityDescription with Product with Serializable
  17. case class ParameterDescription(cf: String, name: String, desc: String, index: Int) extends EntityDescription with Product with Serializable
  18. case class StaticFieldDescription(cf: String, name: String, fieldType: String) extends EntityDescription with Product with Serializable
  19. trait TACAIBasedAPIBasedAnalysis extends APIBasedAnalysis

    An APIBasedAnalysis that ensures that whenever processNewCaller gets called, some (interim) version of the three-address code is available in the property store.

    An APIBasedAnalysis that ensures that whenever processNewCaller gets called, some (interim) version of the three-address code is available in the property store. For each update of org.opalj.tac.fpcf.properties.TACAI that actually contains a three-address code, processNewCaller is invoked, i.e., it might be called multiple times for the same caller. Due to monotonicity required for all results, this is still sound.

  20. trait TACAIBasedAnalysisState[TheContextType <: Context] extends AnalysisState with ContextualAnalysis

    A base class for the state of FPCF analyses operating on the three-address code of methods.

  21. trait TACAIInitializer extends FPCFAnalysisScheduler

    Transforms an aiResult to the 3-address code.

  22. class TACAIProvider extends FPCFAnalysis

    Provides the TACAI for all methods.

    Provides the TACAI for all methods. The TACAI provided by the TACAI provider is always detached from the underlying results of the abstract interpretation and therefore significantly reduces the overall memory consumption if the AIResults are not needed!

  23. sealed trait TACAIProviderScheduler extends TACAIInitializer with DomainBasedFPCFAnalysisScheduler

Value Members

  1. final def isTypeCompatible(formal: FieldType, actual: ValueInformation, requireNonNullReferenceValue: Boolean = false)(implicit classHierarchy: ClassHierarchy): Boolean
  2. final def isTypeCompatible(formal: FieldType, actual: FieldType)(implicit ch: ClassHierarchy): Boolean
  3. object ConfiguredMethodData extends Serializable
  4. object ConfiguredMethods extends Serializable
  5. object DefinitionSitesWithoutPutField

    Holds a map of DefinitionSiteWithoutPutField values, in order to provide unique identities (enable comparison via eq/neq).

  6. object EagerFieldImmutabilityAnalysis extends FieldImmutabilityAnalysisScheduler with BasicFPCFEagerAnalysisScheduler

    Executor for the eager field immutability analysis.

  7. object EagerFieldLocalityAnalysis extends FieldLocalityAnalysisScheduler with BasicFPCFEagerAnalysisScheduler
  8. object EagerL0TACAIAnalysis extends L0TACAIAnalysisScheduler with FPCFEagerAnalysisScheduler
  9. object EagerL1ThrownExceptionsAnalysis extends ThrownExceptionsAnalysisScheduler with BasicFPCFEagerAnalysisScheduler

    Factory and runner for the L1ThrownExceptionsAnalysis.

  10. object EagerTACAIProvider extends TACAIProviderScheduler with FPCFEagerAnalysisScheduler
  11. object EntityAssignment extends Serializable
  12. object EntityDescription
  13. object LazyFieldImmutabilityAnalysis extends FieldImmutabilityAnalysisScheduler with BasicFPCFLazyAnalysisScheduler

    Executor for the lazy field immutability analysis.

  14. object LazyFieldLocalityAnalysis extends FieldLocalityAnalysisScheduler with BasicFPCFLazyAnalysisScheduler
  15. object LazyL0TACAIAnalysis extends L0TACAIAnalysisScheduler with FPCFLazyAnalysisScheduler
  16. object LazyTACAIProvider extends TACAIProviderScheduler with FPCFLazyAnalysisScheduler
  17. object MethodDescription extends Serializable
  18. object TACAIAnalysis
  19. object TACAITransformer extends BasicFPCFTransformerScheduler with TACAIInitializer

    Transforms a BaseAIResult to the 3-address code.

Inherited from AnyRef

Inherited from Any

Ungrouped