joeq.Compiler.Quad
Class Operator.Binary

java.lang.Object
  extended by joeq.Compiler.Quad.Operator
      extended by joeq.Compiler.Quad.Operator.Binary
Direct Known Subclasses:
Operator.Binary.ADD_D, Operator.Binary.ADD_F, Operator.Binary.ADD_I, Operator.Binary.ADD_L, Operator.Binary.ADD_P, Operator.Binary.ALIGN_P, Operator.Binary.AND_I, Operator.Binary.AND_L, Operator.Binary.CMP_DG, Operator.Binary.CMP_DL, Operator.Binary.CMP_FG, Operator.Binary.CMP_FL, Operator.Binary.CMP_L, Operator.Binary.CMP_P, Operator.Binary.DIV_D, Operator.Binary.DIV_F, Operator.Binary.DIV_I, Operator.Binary.DIV_L, Operator.Binary.MUL_D, Operator.Binary.MUL_F, Operator.Binary.MUL_I, Operator.Binary.MUL_L, Operator.Binary.OR_I, Operator.Binary.OR_L, Operator.Binary.REM_D, Operator.Binary.REM_F, Operator.Binary.REM_I, Operator.Binary.REM_L, Operator.Binary.SHL_I, Operator.Binary.SHL_L, Operator.Binary.SHR_I, Operator.Binary.SHR_L, Operator.Binary.SUB_D, Operator.Binary.SUB_F, Operator.Binary.SUB_I, Operator.Binary.SUB_L, Operator.Binary.SUB_P, Operator.Binary.USHR_I, Operator.Binary.USHR_L, Operator.Binary.XOR_I, Operator.Binary.XOR_L
Enclosing class:
Operator

public abstract static class Operator.Binary
extends Operator


Nested Class Summary
static class Operator.Binary.ADD_D
           
static class Operator.Binary.ADD_F
           
static class Operator.Binary.ADD_I
           
static class Operator.Binary.ADD_L
           
static class Operator.Binary.ADD_P
           
static class Operator.Binary.ALIGN_P
           
static class Operator.Binary.AND_I
           
static class Operator.Binary.AND_L
           
static class Operator.Binary.CMP_DG
           
static class Operator.Binary.CMP_DL
           
static class Operator.Binary.CMP_FG
           
static class Operator.Binary.CMP_FL
           
static class Operator.Binary.CMP_L
           
static class Operator.Binary.CMP_P
           
static class Operator.Binary.DIV_D
           
static class Operator.Binary.DIV_F
           
static class Operator.Binary.DIV_I
           
static class Operator.Binary.DIV_L
           
static class Operator.Binary.MUL_D
           
static class Operator.Binary.MUL_F
           
static class Operator.Binary.MUL_I
           
static class Operator.Binary.MUL_L
           
static class Operator.Binary.OR_I
           
static class Operator.Binary.OR_L
           
static class Operator.Binary.REM_D
           
static class Operator.Binary.REM_F
           
static class Operator.Binary.REM_I
           
static class Operator.Binary.REM_L
           
static class Operator.Binary.SHL_I
           
static class Operator.Binary.SHL_L
           
static class Operator.Binary.SHR_I
           
static class Operator.Binary.SHR_L
           
static class Operator.Binary.SUB_D
           
static class Operator.Binary.SUB_F
           
static class Operator.Binary.SUB_I
           
static class Operator.Binary.SUB_L
           
static class Operator.Binary.SUB_P
           
static class Operator.Binary.USHR_I
           
static class Operator.Binary.USHR_L
           
static class Operator.Binary.XOR_I
           
static class Operator.Binary.XOR_L
           
 
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.Binary()
           
 
Method Summary
 void accept(Quad q, QuadVisitor qv)
           
static Quad create(int id, Operator.Binary operator, Operand.RegisterOperand dst, Operand src1, Operand src2)
           
 UnmodifiableList.RegisterOperand getDefinedRegisters(Quad q)
           
static Operand.RegisterOperand getDest(Quad q)
           
static Operand getSrc1(Quad q)
           
static Operand getSrc2(Quad q)
           
 UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
           
 boolean hasSideEffects()
           
static void setDest(Quad q, Operand.RegisterOperand o)
           
static void setSrc1(Quad q, Operand o)
           
static void setSrc2(Quad q, Operand o)
           
 
Methods inherited from class joeq.Compiler.Quad.Operator
getReg1_check, getReg1, getReg12, getReg123, getReg1234, getReg124, getReg2, getReg23, getReg234, getReg24, getReg3, getThrownExceptions, interpret
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Operator.Binary

public Operator.Binary()
Method Detail

create

public static Quad create(int id,
                          Operator.Binary operator,
                          Operand.RegisterOperand dst,
                          Operand src1,
                          Operand src2)

getDest

public static Operand.RegisterOperand getDest(Quad q)

getSrc1

public static Operand getSrc1(Quad q)

getSrc2

public static Operand getSrc2(Quad q)

setDest

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

setSrc1

public static void setSrc1(Quad q,
                           Operand o)

setSrc2

public static void setSrc2(Quad q,
                           Operand o)

hasSideEffects

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

getDefinedRegisters

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

getUsedRegisters

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

accept

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


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