Packages

c

org.opalj.br.fpcf.analyses

L0PurityAnalysis

class L0PurityAnalysis extends FPCFAnalysis

Very simple, fast, sound but also imprecise analysis of the purity of methods. See the org.opalj.br.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.

Source
L0PurityAnalysis.scala
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. Protected

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(context: Context): ProperPropertyComputationResult

    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[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  9. def determinePurity(context: Context): ProperPropertyComputationResult

    Determines the purity of the given method.

  10. def determinePurityStep1(context: Context): ProperPropertyComputationResult
  11. def doDeterminePurity(e: Entity): ProperPropertyComputationResult

    Called when the analysis is scheduled lazily.

  12. def doDeterminePurityOfBody(context: Context, initialDependees: Set[EOptionP[Entity, Property]]): ProperPropertyComputationResult

    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: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. implicit final def logContext: LogContext
    Definition Classes
    ProjectBasedAnalysis
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  22. implicit final def p: SomeProject
    Definition Classes
    ProjectBasedAnalysis
  23. final val project: SomeProject
  24. implicit final val propertyStore: PropertyStore
    Definition Classes
    FPCFAnalysis
  25. final def ps: PropertyStore
    Definition Classes
    FPCFAnalysis
  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from FPCFAnalysis

Inherited from ProjectBasedAnalysis

Inherited from AnyRef

Inherited from Any

Ungrouped