Packages

c

org.opalj.tac.fpcf.analyses.cg

CallGraphAnalysis

class CallGraphAnalysis extends ReachableMethodAnalysis with TypeConsumerAnalysis

Generates call graphs based on the used TypeIterator. It uses the AI information of the three-address code to get the most precise information for virtual calls. handleImpreciseCall will be invoked for each virtual call, that could not be resolved precisely.

Source
CallGraphAnalysis.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CallGraphAnalysis
  2. ReachableMethodAnalysis
  3. TypeConsumerAnalysis
  4. FPCFAnalysis
  5. ProjectBasedAnalysis
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type ContextType = TypeIterator.ContextType
    Definition Classes
    TypeConsumerAnalysis
  2. abstract type LocalTypeInformation
  3. type PropertyType = TypeIterator.PropertyType
    Definition Classes
    TypeConsumerAnalysis

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 analyze(declaredMethod: DeclaredMethod): PropertyComputationResult
    Definition Classes
    ReachableMethodAnalysis
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def c(state: CGState[ContextType])(eps: SomeEPS): ProperPropertyComputationResult
  7. final def ch: ClassHierarchy
    Definition Classes
    ProjectBasedAnalysis
  8. implicit final def classHierarchy: ClassHierarchy
    Definition Classes
    ProjectBasedAnalysis
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  10. def continuationForTAC(declaredMethod: DeclaredMethod)(someEPS: SomeEPS): ProperPropertyComputationResult
    Attributes
    protected
    Definition Classes
    ReachableMethodAnalysis
  11. implicit val declaredMethods: DeclaredMethods
    Attributes
    protected
    Definition Classes
    ReachableMethodAnalysis
  12. def doHandleVirtualCall(callContext: ContextType, call: Call[V] with VirtualCall[V], pc: Int, specializedDeclaringClassType: ReferenceType, isPrecise: Boolean, calleesAndCallers: DirectCalls)(implicit state: CGState[ContextType]): Unit
    Attributes
    protected[this]
  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. final def handleCall(callContext: ContextType, callName: String, callDescriptor: MethodDescriptor, callDeclaringClass: ReferenceType, isStatic: Boolean, receiverType: ReferenceType, pc: Int, target: Result[Method], calleesAndCallers: DirectCalls): Unit
    Attributes
    protected
  17. def handlePreciseCall(calleeType: ObjectType, callContext: ContextType, call: Call[V] with VirtualCall[V], pc: Int, calleesAndCallers: DirectCalls)(implicit state: CGState[ContextType]): Unit
    Attributes
    protected[this]
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. implicit final def logContext: LogContext
    Definition Classes
    ProjectBasedAnalysis
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  24. implicit final def p: SomeProject
    Definition Classes
    ProjectBasedAnalysis
  25. final def processMethod(state: CGState[ContextType], calls: DirectCalls): ProperPropertyComputationResult
    Attributes
    protected
  26. final def processMethod(callContext: ContextType, tacEP: EPS[Method, properties.TACAI]): ProperPropertyComputationResult
  27. def processMethodWithoutBody(eOptP: EOptionP[DeclaredMethod, Callers]): PropertyComputationResult
    Attributes
    protected
    Definition Classes
    ReachableMethodAnalysis
  28. final val processesMethodsWithoutBody: Boolean(true)
  29. val project: SomeProject
  30. implicit final val propertyStore: PropertyStore
    Definition Classes
    FPCFAnalysis
  31. final def ps: PropertyStore
    Definition Classes
    FPCFAnalysis
  32. def returnResult(calleesAndCallers: DirectCalls, enforceCalleesResult: Boolean = false)(implicit state: CGState[ContextType]): ProperPropertyComputationResult
    Attributes
    protected[this]
  33. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  34. def toString(): String
    Definition Classes
    AnyRef → Any
  35. implicit val typeIterator: TypeIterator
    Definition Classes
    TypeConsumerAnalysis
  36. final def unknownLibraryCall(callContext: ContextType, callName: String, callDescriptor: MethodDescriptor, callDeclaringClass: ReferenceType, isStatic: Boolean, runtimeReceiverType: ReferenceType, packageName: String, pc: Int, calleesAndCallers: DirectCalls): Unit
    Attributes
    protected
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. 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 TypeConsumerAnalysis

Inherited from FPCFAnalysis

Inherited from ProjectBasedAnalysis

Inherited from AnyRef

Inherited from Any

Ungrouped