Packages

c

org.opalj.fpcf.analyses

L0PurityAnalysis

class L0PurityAnalysis extends FPCFAnalysis

Very simple, fast, sound but also imprecise analysis of the purity of methods. See the org.opalj.fpcf.properties.Purity property for details regarding the precise semantics of (Im)Pure.

This analysis is a very, very shallow implementation that immediately gives up, when something "complicated" (e.g., method calls which take objects) is encountered. It also does not perform any significant control-/data-flow analyses.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. L0PurityAnalysis
  2. FPCFAnalysis
  3. ProjectBasedAnalysis
  4. AnyRef
  5. 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def baseMethodPurity(dm: DefinedMethod): PropertyComputationResult

    Retrieves and commits the methods purity as calculated for its declaring class type for the current DefinedMethod that represents the non-overwritten method in a subtype.

  6. final def ch: ClassHierarchy
    Definition Classes
    ProjectBasedAnalysis
  7. implicit final def classHierarchy: ClassHierarchy
    Definition Classes
    ProjectBasedAnalysis
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def determinePurity(definedMethod: DefinedMethod): PropertyComputationResult

    Determines the purity of the given method.

  10. def determinePurityStep1(definedMethod: DefinedMethod): PropertyComputationResult
  11. def doDeterminePurity(e: Entity): PropertyComputationResult

    Called when the analysis is scheduled lazily.

  12. def doDeterminePurityOfBody(definedMethod: DefinedMethod, initialDependees: Set[EOptionP[Entity, Property]]): PropertyComputationResult

    Determines the purity of the method starting with the instruction with the given pc.

    Determines the purity of the method starting with the instruction with the given pc. If the given pc is larger than 0 then all previous instructions (in particular method calls) must not violate this method's purity.

    This function encapsulates the continuation.

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. implicit final def logContext: LogContext
    Definition Classes
    ProjectBasedAnalysis
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def p: Project[_]
    Definition Classes
    ProjectBasedAnalysis
  24. final val project: SomeProject
    Definition Classes
    L0PurityAnalysisProjectBasedAnalysis
  25. implicit final val propertyStore: PropertyStore
    Definition Classes
    FPCFAnalysis
  26. final def ps: PropertyStore
    Definition Classes
    FPCFAnalysis
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from FPCFAnalysis

Inherited from ProjectBasedAnalysis

Inherited from AnyRef

Inherited from Any

Ungrouped