joeq.Compiler.Quad
Class Operator.Unary

java.lang.Object
  extended by joeq.Compiler.Quad.Operator
      extended by joeq.Compiler.Quad.Operator.Unary
Direct Known Subclasses:
Operator.Unary.ADDRESS_2INT, Operator.Unary.ADDRESS_2OBJECT, Operator.Unary.DOUBLE_2FLOAT, Operator.Unary.DOUBLE_2INT, Operator.Unary.DOUBLE_2LONG, Operator.Unary.DOUBLE_2LONGBITS, Operator.Unary.FLOAT_2DOUBLE, Operator.Unary.FLOAT_2INT, Operator.Unary.FLOAT_2INTBITS, Operator.Unary.FLOAT_2LONG, Operator.Unary.INT_2ADDRESS, Operator.Unary.INT_2BYTE, Operator.Unary.INT_2CHAR, Operator.Unary.INT_2DOUBLE, Operator.Unary.INT_2FLOAT, Operator.Unary.INT_2LONG, Operator.Unary.INT_2SHORT, Operator.Unary.INTBITS_2FLOAT, Operator.Unary.ISNULL_P, Operator.Unary.LONG_2DOUBLE, Operator.Unary.LONG_2FLOAT, Operator.Unary.LONG_2INT, Operator.Unary.LONGBITS_2DOUBLE, Operator.Unary.NEG_D, Operator.Unary.NEG_F, Operator.Unary.NEG_I, Operator.Unary.NEG_L, Operator.Unary.OBJECT_2ADDRESS
Enclosing class:
Operator

public abstract static class Operator.Unary
extends Operator


Nested Class Summary
static class Operator.Unary.ADDRESS_2INT
           
static class Operator.Unary.ADDRESS_2OBJECT
           
static class Operator.Unary.DOUBLE_2FLOAT
           
static class Operator.Unary.DOUBLE_2INT
           
static class Operator.Unary.DOUBLE_2LONG
           
static class Operator.Unary.DOUBLE_2LONGBITS
           
static class Operator.Unary.FLOAT_2DOUBLE
           
static class Operator.Unary.FLOAT_2INT
           
static class Operator.Unary.FLOAT_2INTBITS
           
static class Operator.Unary.FLOAT_2LONG
           
static class Operator.Unary.INT_2ADDRESS
           
static class Operator.Unary.INT_2BYTE
           
static class Operator.Unary.INT_2CHAR
           
static class Operator.Unary.INT_2DOUBLE
           
static class Operator.Unary.INT_2FLOAT
           
static class Operator.Unary.INT_2LONG
           
static class Operator.Unary.INT_2SHORT
           
static class Operator.Unary.INTBITS_2FLOAT
           
static class Operator.Unary.ISNULL_P
           
static class Operator.Unary.LONG_2DOUBLE
           
static class Operator.Unary.LONG_2FLOAT
           
static class Operator.Unary.LONG_2INT
           
static class Operator.Unary.LONGBITS_2DOUBLE
           
static class Operator.Unary.NEG_D
           
static class Operator.Unary.NEG_F
           
static class Operator.Unary.NEG_I
           
static class Operator.Unary.NEG_L
           
static class Operator.Unary.OBJECT_2ADDRESS
           
 
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.Unary()
           
 
Method Summary
 void accept(Quad q, QuadVisitor qv)
           
static Quad create(int id, Operator.Unary operator, Operand.RegisterOperand dst, Operand src1)
           
 UnmodifiableList.RegisterOperand getDefinedRegisters(Quad q)
           
static Operand.RegisterOperand getDest(Quad q)
           
static Operand getSrc(Quad q)
           
 UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
           
 boolean hasSideEffects()
           
static void setDest(Quad q, Operand.RegisterOperand o)
           
static void setSrc(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.Unary

public Operator.Unary()
Method Detail

create

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

getDest

public static Operand.RegisterOperand getDest(Quad q)

getSrc

public static Operand getSrc(Quad q)

setDest

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

setSrc

public static void setSrc(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.