Packages

c

org.opalj.ai.analyses.cg

CallGraph

class CallGraph extends AnyRef

Basic representation of a (calculated) call graph.

Terminology

A method that calls another method is referred to as the caller. The method that is called is called the callee. Hence, a caller calls a callee.

Thread Safety

The call graph is effectively immutable and can be accessed by multiple threads concurrently. Calls will never block.

Call Graph Construction

The call graph is constructed by the CallGraphFactory.

Source
CallGraph.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CallGraph
  2. AnyRef
  3. 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 callEdgesCount: Int
  6. def callSites: Int
  7. def calledBy(method: Method): Map[Method, br.PCs]

    Returns the invoke instructions (by means of (Method,PC) pairs) that call the given method.

    Returns the invoke instructions (by means of (Method,PC) pairs) that call the given method. If this method is not called by any other method an empty map is returned.

  8. def calledByCount: Int

    Number of methods that are called by at least one other method.

  9. def calledByEdgesCount: Int
  10. def calledByStatistics(maxNumberOfResults: Int = 65536): String

    Statistics about the number of methods that potentially call a specific method.

    Statistics about the number of methods that potentially call a specific method. (TSV format (tab-separated file) - can easily be read by most spreadsheet applications).

  11. def calls(method: Method): Map[br.PC, Iterable[Method]]

    Returns the methods that are called by the invoke instructions of the given method.

    Returns the methods that are called by the invoke instructions of the given method.

    If this method does not call any methods an empty map is returned.

  12. def calls(method: Method, pc: br.PC): Iterable[Method]

    Returns the methods that are potentially invoked by the invoke instruction identified by the (method,pc) pair.

    Returns the methods that are potentially invoked by the invoke instruction identified by the (method,pc) pair.

    If the project is incomplete the iterable may be empty!

  13. def callsCount: Int

    Number of methods that call at least one other method.

  14. def callsStatistics(maxNumberOfResults: Int = 65534): String

    Statistics about the number of potential targets per call site.

    Statistics about the number of potential targets per call site. (TSV format (tab-separated file) - can easily be read by most spreadsheet applications).

  15. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def foreachCalledByMethod[U](f: (Method, Map[Method, br.PCs]) ⇒ U): Unit

    Calls the function f for each method that is called by some other method.

  20. def foreachCallingMethod[U](f: (Method, Map[br.PC, Iterable[Method]]) ⇒ U): Unit

    Calls the function f for each method that calls some other method.

  21. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. val project: SomeProject
  28. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped