joeq.Compiler.Quad
Class Operator.Invoke

java.lang.Object
  extended by joeq.Compiler.Quad.Operator
      extended by joeq.Compiler.Quad.Operator.Invoke
Direct Known Subclasses:
Operator.Invoke.InvokeInterface, Operator.Invoke.InvokeStatic, Operator.Invoke.InvokeVirtual
Enclosing class:
Operator

public abstract static class Operator.Invoke
extends Operator


Nested Class Summary
static class Operator.Invoke.InvokeInterface
           
static class Operator.Invoke.INVOKEINTERFACE_A
           
static class Operator.Invoke.INVOKEINTERFACE_D
           
static class Operator.Invoke.INVOKEINTERFACE_F
           
static class Operator.Invoke.INVOKEINTERFACE_I
           
static class Operator.Invoke.INVOKEINTERFACE_L
           
static class Operator.Invoke.INVOKEINTERFACE_P
           
static class Operator.Invoke.INVOKEINTERFACE_V
           
static class Operator.Invoke.INVOKESPECIAL_A_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_D_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_F_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_I_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_L_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_P_DYNLINK
           
static class Operator.Invoke.INVOKESPECIAL_V_DYNLINK
           
static class Operator.Invoke.InvokeStatic
           
static class Operator.Invoke.INVOKESTATIC_A
           
static class Operator.Invoke.INVOKESTATIC_A_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_D
           
static class Operator.Invoke.INVOKESTATIC_D_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_F
           
static class Operator.Invoke.INVOKESTATIC_F_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_I
           
static class Operator.Invoke.INVOKESTATIC_I_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_L
           
static class Operator.Invoke.INVOKESTATIC_L_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_P
           
static class Operator.Invoke.INVOKESTATIC_P_DYNLINK
           
static class Operator.Invoke.INVOKESTATIC_V
           
static class Operator.Invoke.INVOKESTATIC_V_DYNLINK
           
static class Operator.Invoke.InvokeVirtual
           
static class Operator.Invoke.INVOKEVIRTUAL_A
           
static class Operator.Invoke.INVOKEVIRTUAL_A_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_D
           
static class Operator.Invoke.INVOKEVIRTUAL_D_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_F
           
static class Operator.Invoke.INVOKEVIRTUAL_F_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_I
           
static class Operator.Invoke.INVOKEVIRTUAL_I_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_L
           
static class Operator.Invoke.INVOKEVIRTUAL_L_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_P
           
static class Operator.Invoke.INVOKEVIRTUAL_P_DYNLINK
           
static class Operator.Invoke.INVOKEVIRTUAL_V
           
static class Operator.Invoke.INVOKEVIRTUAL_V_DYNLINK
           
 
Nested classes/interfaces inherited from class joeq.Compiler.Quad.Operator
Operator.ALength, Operator.ALoad, Operator.AStore, Operator.Binary, Operator.BoundsCheck, Operator.Branch, Operator.CheckCast, Operator.Getfield, Operator.Getstatic, Operator.Goto, Operator.InstanceOf, Operator.IntIfCmp, Operator.Invoke, Operator.Jsr, Operator.LookupSwitch, Operator.MemLoad, Operator.MemStore, Operator.Monitor, Operator.Move, Operator.New, Operator.NewArray, Operator.NullCheck, Operator.Phi, Operator.Putfield, Operator.Putstatic, Operator.Ret, Operator.Return, Operator.Special, Operator.StoreCheck, Operator.TableSwitch, Operator.Unary, Operator.ZeroCheck
 
Field Summary
 
Fields inherited from class joeq.Compiler.Quad.Operator
_delegate, anyexception, arithexception, arrayboundsexception, arraystoreexception, classcastexceptions, illegalmonitorstateexception, negativesizeexception, noexceptions, noregisters, nullptrexception, resolutionexceptions
 
Constructor Summary
Operator.Invoke()
           
 
Method Summary
 void accept(Quad q, QuadVisitor qv)
           
static Quad create(int id, Operator.Invoke operator, Operand.RegisterOperand res, Operand.MethodOperand m, int length)
           
static Operand.RegisterOperand getDest(Quad q)
           
static Operand.MethodOperand getMethod(Quad q)
           
static Operand.RegisterOperand getParam(Quad q, int i)
           
static Operand.ParamListOperand getParamList(Quad q)
           
abstract  jq_Type getReturnType()
           
 UnmodifiableList.jq_Class getThrownExceptions()
           
abstract  byte getType()
           
 UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
           
 boolean hasSideEffects()
           
 void interpret_static(Quad q, QuadInterpreter s)
           
 void interpret_virtual(Quad q, QuadInterpreter s)
           
abstract  boolean isVirtual()
           
static void setDest(Quad q, Operand.RegisterOperand o)
           
static void setMethod(Quad q, Operand.MethodOperand o)
           
static void setParam(Quad q, int i, Operand.RegisterOperand t)
           
static void setParamList(Quad q, Operand.ParamListOperand o)
           
 
Methods inherited from class joeq.Compiler.Quad.Operator
getDefinedRegisters, getReg1_check, getReg1, getReg12, getReg123, getReg1234, getReg124, getReg2, getReg23, getReg234, getReg24, getReg3, interpret
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Operator.Invoke

public Operator.Invoke()
Method Detail

create

public static Quad create(int id,
                          Operator.Invoke operator,
                          Operand.RegisterOperand res,
                          Operand.MethodOperand m,
                          int length)

setParam

public static void setParam(Quad q,
                            int i,
                            Operand.RegisterOperand t)

getDest

public static Operand.RegisterOperand getDest(Quad q)

getMethod

public static Operand.MethodOperand getMethod(Quad q)

getParam

public static Operand.RegisterOperand getParam(Quad q,
                                               int i)

getParamList

public static Operand.ParamListOperand getParamList(Quad q)

setDest

public static void setDest(Quad q,
                           Operand.RegisterOperand o)

setMethod

public static void setMethod(Quad q,
                             Operand.MethodOperand o)

setParamList

public static void setParamList(Quad q,
                                Operand.ParamListOperand o)

getUsedRegisters

public UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
Overrides:
getUsedRegisters in class Operator

isVirtual

public abstract boolean isVirtual()

getType

public abstract byte getType()

getReturnType

public abstract jq_Type getReturnType()

accept

public void accept(Quad q,
                   QuadVisitor qv)
Overrides:
accept in class Operator

getThrownExceptions

public UnmodifiableList.jq_Class getThrownExceptions()
Overrides:
getThrownExceptions in class Operator

hasSideEffects

public boolean hasSideEffects()
Specified by:
hasSideEffects in class Operator

interpret_virtual

public void interpret_virtual(Quad q,
                              QuadInterpreter s)

interpret_static

public void interpret_static(Quad q,
                             QuadInterpreter s)


Copyright © 2001-2008 John Whaley. All Rights Reserved.