soot
Class Kind

java.lang.Object
  extended by soot.Kind
All Implemented Interfaces:
Numberable

public final class Kind
extends Object
implements Numberable

Enumeration type representing the kind of a call graph edge.

Author:
Ondrej Lhotak

Field Summary
static Kind CLINIT
          Implicit call to static initializer.
static Kind FINALIZE
          Implicit call to java.lang.ref.Finalizer.register from new bytecode.
static Kind INTERFACE
          Due to explicit invokeinterface instruction.
static Kind INVALID
           
static Kind INVOKE_FINALIZE
          Implicit call to finalize() from java.lang.ref.Finalizer.invokeFinalizeMethod().
static Kind NEWINSTANCE
          Implicit call to constructor from java.lang.Class.newInstance().
static Kind PRIVILEGED
          Implicit call to run() through AccessController.doPrivileged().
static Kind REFL_CLASS_NEWINSTANCE
          Due to call to Class.newInstance(..) when reflection log is enabled.
static Kind REFL_CONSTR_NEWINSTANCE
          Due to call to Constructor.newInstance(..).
static Kind REFL_INVOKE
          Due to call to Method.invoke(..).
static Kind SPECIAL
          Due to explicit invokespecial instruction.
static Kind STATIC
          Due to explicit invokestatic instruction.
static Kind THREAD
          Implicit call to Thread.run() due to Thread.start() call.
static Kind VIRTUAL
          Due to explicit invokevirtual instruction.
 
Method Summary
 int getNumber()
           
 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 isSpecial()
           
 boolean isStatic()
          Returns true if the call is due to an explicit static invoke statement.
 boolean isThread()
           
 boolean isVirtual()
          Returns true if the call is due to an explicit virtual invoke statement.
 String name()
           
 boolean passesParameters()
           
 void setNumber(int num)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INVALID

public static final Kind INVALID

STATIC

public static final Kind STATIC
Due to explicit invokestatic instruction.


VIRTUAL

public static final Kind VIRTUAL
Due to explicit invokevirtual instruction.


INTERFACE

public static final Kind INTERFACE
Due to explicit invokeinterface instruction.


SPECIAL

public static final Kind SPECIAL
Due to explicit invokespecial instruction.


CLINIT

public static final Kind CLINIT
Implicit call to static initializer.


THREAD

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


FINALIZE

public static final Kind FINALIZE
Implicit call to java.lang.ref.Finalizer.register from new bytecode.


INVOKE_FINALIZE

public static final Kind INVOKE_FINALIZE
Implicit call to finalize() from java.lang.ref.Finalizer.invokeFinalizeMethod().


PRIVILEGED

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


NEWINSTANCE

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


REFL_INVOKE

public static final Kind REFL_INVOKE
Due to call to Method.invoke(..).


REFL_CONSTR_NEWINSTANCE

public static final Kind REFL_CONSTR_NEWINSTANCE
Due to call to Constructor.newInstance(..).


REFL_CLASS_NEWINSTANCE

public static final Kind REFL_CLASS_NEWINSTANCE
Due to call to Class.newInstance(..) when reflection log is enabled.

Method Detail

name

public String name()

getNumber

public int getNumber()
Specified by:
getNumber in interface Numberable

setNumber

public void setNumber(int num)
Specified by:
setNumber in interface Numberable

toString

public String toString()
Overrides:
toString in class Object

passesParameters

public boolean passesParameters()

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.


isVirtual

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


isSpecial

public boolean isSpecial()

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.


isThread

public boolean isThread()