Package qilin.core.builder.callgraph
Class Kind
java.lang.Object
qilin.core.builder.callgraph.Kind
- All Implemented Interfaces:
Numberable
Enumeration type representing the kind of a call graph edge.
- Author:
- Ondrej Lhotak
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Kind
Implicit call to AsyncTask.doInBackground() due to AsyncTask.execute() call.static final Kind
Implicit call to static initializer.static final Kind
Implicit call to java.lang.Runnable.run() due to Executor.execute() call.static final Kind
Implicit call to java.lang.ref.Finalizer.register from new bytecode.static final Kind
Fake edges from our generic callback model.static final Kind
Implicit call to Handler.handleMessage(android.os.Message) due to Handler.sendxxxxMessagexxxx() call.static final Kind
Due to explicit invokeinterface instruction.static final Kind
static final Kind
Implicit call to finalize() from java.lang.ref.Finalizer.invokeFinalizeMethod().static final Kind
Implicit call to constructor from java.lang.Class.newInstance().static final Kind
Implicit call to run() through AccessController.doPrivileged().static final Kind
Due to call to Class.newInstance(..) when reflection log is enabled.static final Kind
Due to call to Constructor.newInstance(..).static final Kind
Due to call to Method.invoke(..).static final Kind
Due to explicit invokespecial instruction.static final Kind
Due to explicit invokestatic instruction.static final Kind
Implicit call to Thread.run() due to Thread.start() call.static final Kind
Due to explicit invokevirtual instruction. -
Method Summary
Modifier and TypeMethodDescriptionint
boolean
static boolean
isAsyncTask
(Kind k) boolean
isClinit()
Returns true if the call is to static initializer.static boolean
Returns true if the call is to static initializer.boolean
static boolean
isExecutor
(Kind k) boolean
Returns true if the call is due to an explicit invoke statement.static boolean
isExplicit
(Kind k) Returns true if the call is due to an explicit invoke statement.boolean
isFake()
static boolean
boolean
static boolean
boolean
Returns true if the call is due to an explicit instance invoke statement.static boolean
isInstance
(Kind k) Returns true if the call is due to an explicit instance invoke statement.boolean
static boolean
isPrivileged
(Kind k) boolean
static boolean
isReflection
(Kind k) boolean
static boolean
isReflInvoke
(Kind k) boolean
static boolean
boolean
isStatic()
Returns true if the call is due to an explicit static invoke statement.static boolean
Returns true if the call is due to an explicit static invoke statement.boolean
isThread()
static boolean
boolean
Returns true if the call is due to an explicit virtual invoke statement.static boolean
Returns true if the call is due to an explicit virtual invoke statement.name()
boolean
static boolean
void
setNumber
(int num) toString()
-
Field Details
-
INVALID
-
STATIC
Due to explicit invokestatic instruction. -
VIRTUAL
Due to explicit invokevirtual instruction. -
INTERFACE
Due to explicit invokeinterface instruction. -
SPECIAL
Due to explicit invokespecial instruction. -
CLINIT
Implicit call to static initializer. -
GENERIC_FAKE
Fake edges from our generic callback model. -
THREAD
Implicit call to Thread.run() due to Thread.start() call. -
EXECUTOR
Implicit call to java.lang.Runnable.run() due to Executor.execute() call. -
ASYNCTASK
Implicit call to AsyncTask.doInBackground() due to AsyncTask.execute() call. -
FINALIZE
Implicit call to java.lang.ref.Finalizer.register from new bytecode. -
HANDLER
Implicit call to Handler.handleMessage(android.os.Message) due to Handler.sendxxxxMessagexxxx() call. -
INVOKE_FINALIZE
Implicit call to finalize() from java.lang.ref.Finalizer.invokeFinalizeMethod(). -
PRIVILEGED
Implicit call to run() through AccessController.doPrivileged(). -
NEWINSTANCE
Implicit call to constructor from java.lang.Class.newInstance(). -
REFL_INVOKE
Due to call to Method.invoke(..). -
REFL_CONSTR_NEWINSTANCE
Due to call to Constructor.newInstance(..). -
REFL_CLASS_NEWINSTANCE
Due to call to Class.newInstance(..) when reflection log is enabled.
-
-
Method Details
-
name
-
getNumber
public int getNumber()- Specified by:
getNumber
in interfaceNumberable
-
setNumber
public void setNumber(int num) - Specified by:
setNumber
in interfaceNumberable
-
toString
-
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
-
isFake
-
isExplicit
Returns true if the call is due to an explicit invoke statement. -
isInstance
Returns true if the call is due to an explicit instance invoke statement. -
isVirtual
Returns true if the call is due to an explicit virtual invoke statement. -
isSpecial
-
isClinit
Returns true if the call is to static initializer. -
isStatic
Returns true if the call is due to an explicit static invoke statement. -
isThread
-
isExecutor
-
isAsyncTask
-
isPrivileged
-
isReflection
-
isReflInvoke
-
isHandler
-