Package soot

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

      • setNumber

        public void setNumber​(int num)
        Specified by:
        setNumber in interface Numberable
      • 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)