Package qilin.core

Class ArtificialMethod

java.lang.Object
qilin.core.ArtificialMethod
Direct Known Subclasses:
FakeMainFactory, NativeMethod

public abstract class ArtificialMethod extends Object
  • Field Details

    • view

      protected final View view
    • method

      protected SootMethod method
    • bodyBuilder

      protected Body.BodyBuilder bodyBuilder
    • thisLocal

      protected Local thisLocal
    • paraLocals

      protected Local[] paraLocals
    • paraStart

      protected int paraStart
    • localStart

      protected int localStart
    • stmtList

      protected final List<Stmt> stmtList
  • Constructor Details

    • ArtificialMethod

      protected ArtificialMethod(View view)
  • Method Details

    • getThis

      protected Local getThis()
    • getPara

      protected Local getPara(int index)
    • getPara

      protected Local getPara(int index, Type type)
    • getNew

      protected Local getNew(ClassType type)
    • getNewArray

      protected Local getNewArray(ClassType type)
    • getNextLocal

      protected Local getNextLocal(Type type)
    • addReturn

      protected void addReturn(Immediate ret)
    • getStaticFieldRef

      protected JStaticFieldRef getStaticFieldRef(String className, String name)
    • getArrayRef

      protected JArrayRef getArrayRef(Value base)
    • addInvoke

      protected void addInvoke(Local receiver, String sig, Immediate... args)
      add an instance invocation receiver.sig(args)
    • getInvoke

      protected Local getInvoke(Local receiver, String sig, Immediate... args)
      add an instance invocation and get the return value rx = receiver.sig(args)
      Returns:
      rx
    • addInvoke

      protected void addInvoke(String sig, Immediate... args)
      add a static invocation sig(args)
    • getInvoke

      protected Value getInvoke(String sig, Immediate... args)
      add a static invocation and get the return value rx = sig(args)
      Returns:
      rx
    • addAssign

      protected void addAssign(LValue lValue, Value rValue)