Class

org.opalj.ai.analyses.cg

CallGraph

Related Doc: package cg

Permalink

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def callEdgesCount: Int

    Permalink
  6. def callSites: Int

    Permalink
  7. def calledBy(method: Method): Map[Method, br.PCs]

    Permalink

    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

    Permalink

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

  9. def calledByEdgesCount: Int

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

    Permalink

    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]]

    Permalink

    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]

    Permalink

    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

    Permalink

    Number of methods that call at least one other method.

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

    Permalink

    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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit

    Permalink
    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

    Permalink

    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

    Permalink

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

  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. val project: SomeProject

    Permalink
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped