Package soot
Class Kind
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static KindASYNCTASKImplicit call to AsyncTask.doInBackground() due to AsyncTask.execute() call.static KindCLINITImplicit call to static initializer.static KindEXECUTORImplicit call to java.lang.Runnable.run() due to Executor.execute() call.static KindFINALIZEImplicit call to java.lang.ref.Finalizer.register from new bytecode.static KindGENERIC_FAKEFake edges from our generic callback model.static KindHANDLERImplicit call to Handler.handleMessage(android.os.Message) due to Handler.sendxxxxMessagexxxx() call.static KindINTERFACEDue to explicit invokeinterface instruction.static KindINVALIDstatic KindINVOKE_FINALIZEImplicit call to finalize() from java.lang.ref.Finalizer.invokeFinalizeMethod().static KindNEWINSTANCEImplicit call to constructor from java.lang.Class.newInstance().static KindPRIVILEGEDImplicit call to run() through AccessController.doPrivileged().static KindREFL_CLASS_NEWINSTANCEDue to call to Class.newInstance(..) when reflection log is enabled.static KindREFL_CONSTR_NEWINSTANCEDue to call to Constructor.newInstance(..).static KindREFL_INVOKEDue to call to Method.invoke(..).static KindSPECIALDue to explicit invokespecial instruction.static KindSTATICDue to explicit invokestatic instruction.static KindTHREADImplicit call to Thread.run() due to Thread.start() call.static KindVIRTUALDue to explicit invokevirtual instruction.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetNumber()booleanisAsyncTask()static booleanisAsyncTask(Kind k)booleanisClinit()Returns true if the call is to static initializer.static booleanisClinit(Kind k)Returns true if the call is to static initializer.booleanisExecutor()static booleanisExecutor(Kind k)booleanisExplicit()Returns true if the call is due to an explicit invoke statement.static booleanisExplicit(Kind k)Returns true if the call is due to an explicit invoke statement.booleanisFake()static booleanisFake(Kind k)booleanisHandler()static booleanisHandler(Kind k)booleanisInstance()Returns true if the call is due to an explicit instance invoke statement.static booleanisInstance(Kind k)Returns true if the call is due to an explicit instance invoke statement.booleanisPrivileged()static booleanisPrivileged(Kind k)booleanisReflection()static booleanisReflection(Kind k)booleanisReflInvoke()static booleanisReflInvoke(Kind k)booleanisSpecial()static booleanisSpecial(Kind k)booleanisStatic()Returns true if the call is due to an explicit static invoke statement.static booleanisStatic(Kind k)Returns true if the call is due to an explicit static invoke statement.booleanisThread()static booleanisThread(Kind k)booleanisVirtual()Returns true if the call is due to an explicit virtual invoke statement.static booleanisVirtual(Kind k)Returns true if the call is due to an explicit virtual invoke statement.Stringname()booleanpassesParameters()static booleanpassesParameters(Kind k)voidsetNumber(int num)StringtoString()
-
-
-
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.
-
GENERIC_FAKE
public static final Kind GENERIC_FAKE
Fake edges from our generic callback model.
-
THREAD
public static final Kind THREAD
Implicit call to Thread.run() due to Thread.start() call.
-
EXECUTOR
public static final Kind EXECUTOR
Implicit call to java.lang.Runnable.run() due to Executor.execute() call.
-
ASYNCTASK
public static final Kind ASYNCTASK
Implicit call to AsyncTask.doInBackground() due to AsyncTask.execute() call.
-
FINALIZE
public static final Kind FINALIZE
Implicit call to java.lang.ref.Finalizer.register from new bytecode.
-
HANDLER
public static final Kind HANDLER
Implicit call to Handler.handleMessage(android.os.Message) due to Handler.sendxxxxMessagexxxx() call.
-
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:
getNumberin interfaceNumberable
-
setNumber
public void setNumber(int num)
- Specified by:
setNumberin interfaceNumberable
-
passesParameters
public boolean passesParameters()
-
isFake
public boolean isFake()
-
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()
-
isExecutor
public boolean isExecutor()
-
isAsyncTask
public boolean isAsyncTask()
-
isPrivileged
public boolean isPrivileged()
-
isReflection
public boolean isReflection()
-
isReflInvoke
public boolean isReflInvoke()
-
isHandler
public boolean isHandler()
-
passesParameters
public static boolean passesParameters(Kind k)
-
isFake
public static boolean isFake(Kind k)
-
isExplicit
public static boolean isExplicit(Kind k)
Returns true if the call is due to an explicit invoke statement.
-
isInstance
public static boolean isInstance(Kind k)
Returns true if the call is due to an explicit instance invoke statement.
-
isVirtual
public static boolean isVirtual(Kind k)
Returns true if the call is due to an explicit virtual invoke statement.
-
isSpecial
public static boolean isSpecial(Kind k)
-
isClinit
public static boolean isClinit(Kind k)
Returns true if the call is to static initializer.
-
isStatic
public static boolean isStatic(Kind k)
Returns true if the call is due to an explicit static invoke statement.
-
isThread
public static boolean isThread(Kind k)
-
isExecutor
public static boolean isExecutor(Kind k)
-
isAsyncTask
public static boolean isAsyncTask(Kind k)
-
isPrivileged
public static boolean isPrivileged(Kind k)
-
isReflection
public static boolean isReflection(Kind k)
-
isReflInvoke
public static boolean isReflInvoke(Kind k)
-
isHandler
public static boolean isHandler(Kind k)
-
-