soot.jimple.toolkits.callgraph
Class Edge

java.lang.Object
  |
  +--soot.jimple.toolkits.callgraph.Edge

public final class Edge
extends java.lang.Object

Represents a single edge in a call graph.


Field Summary
static int CLINIT
          Implicit call to static initializer.
static int EXIT
          Implicit call to Thread.exit().
static int FINALIZE
          Implicit call to non-trivial finalizer from constructor.
static int INTERFACE
          Due to explicit invokeinterface instruction.
static int INVALID
           
static java.lang.String[] kinds
           
static int NEWINSTANCE
          Implicit call to constructor from java.lang.Class.newInstance().
static int PRIVILEGED
          Implicit call to run() through AccessController.doPrivileged().
static int SPECIAL
          Due to explicit invokespecial instruction.
static int STATIC
          Due to explicit invokestatic instruction.
static int THREAD
          Implicit call to Thread.run() due to Thread.start() call.
static int VIRTUAL
          Due to explicit invokevirtual instruction.
 
Constructor Summary
Edge(SootMethod src, Stmt srcUnit, SootMethod tgt)
           
Edge(SootMethod src, Unit srcUnit, SootMethod tgt, int type)
           
 
Method Summary
 boolean equals(java.lang.Object other)
           
 int hashCode()
           
 boolean isClinit()
          Returns true if the call is to static initializer.
 boolean isExplicit()
          Returns true if the call is due to an explicit invoke statement.
 boolean isInstance()
          Returns true if the call is due to an explicit instance invoke statement.
 boolean isStatic()
          Returns true if the call is due to an explicit static invoke statement.
 int kind()
           
static java.lang.String kindToString(int kind)
           
 boolean passesParameters()
           
 SootMethod src()
           
 Stmt srcStmt()
           
 Unit srcUnit()
           
 SootMethod tgt()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

INVALID

public static final int INVALID

STATIC

public static final int STATIC
Due to explicit invokestatic instruction.

VIRTUAL

public static final int VIRTUAL
Due to explicit invokevirtual instruction.

INTERFACE

public static final int INTERFACE
Due to explicit invokeinterface instruction.

SPECIAL

public static final int SPECIAL
Due to explicit invokespecial instruction.

CLINIT

public static final int CLINIT
Implicit call to static initializer.

THREAD

public static final int THREAD
Implicit call to Thread.run() due to Thread.start() call.

EXIT

public static final int EXIT
Implicit call to Thread.exit().

FINALIZE

public static final int FINALIZE
Implicit call to non-trivial finalizer from constructor.

PRIVILEGED

public static final int PRIVILEGED
Implicit call to run() through AccessController.doPrivileged().

NEWINSTANCE

public static final int NEWINSTANCE
Implicit call to constructor from java.lang.Class.newInstance().

kinds

public static final java.lang.String[] kinds
Constructor Detail

Edge

public Edge(SootMethod src,
            Unit srcUnit,
            SootMethod tgt,
            int type)

Edge

public Edge(SootMethod src,
            Stmt srcUnit,
            SootMethod tgt)
Method Detail

src

public SootMethod src()

srcUnit

public Unit srcUnit()

srcStmt

public Stmt srcStmt()

tgt

public SootMethod tgt()

kind

public int kind()

isExplicit

public boolean isExplicit()
Returns true if the call is due to an explicit invoke statement.

isInstance

public boolean isInstance()
Returns true if the call is due to an explicit instance invoke statement.

isClinit

public boolean isClinit()
Returns true if the call is to static initializer.

isStatic

public boolean isStatic()
Returns true if the call is due to an explicit static invoke statement.

passesParameters

public boolean passesParameters()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

kindToString

public static java.lang.String kindToString(int kind)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object