joeq.Compiler.Quad
Class Operator.BoundsCheck

java.lang.Object
  extended by joeq.Compiler.Quad.Operator
      extended by joeq.Compiler.Quad.Operator.BoundsCheck
Direct Known Subclasses:
Operator.BoundsCheck.BOUNDS_CHECK
Enclosing class:
Operator

public abstract static class Operator.BoundsCheck
extends Operator


Nested Class Summary
static class Operator.BoundsCheck.BOUNDS_CHECK
           
 
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.BoundsCheck()
           
 
Method Summary
 void accept(Quad q, QuadVisitor qv)
           
static Quad create(int id, Operator.BoundsCheck operator, Operand ref, Operand idx, Operand guard)
           
 UnmodifiableList.RegisterOperand getDefinedRegisters(Quad q)
           
static Operand getGuard(Quad q)
           
static Operand getIndex(Quad q)
           
static Operand getRef(Quad q)
           
 UnmodifiableList.jq_Class getThrownExceptions()
           
 UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
           
 boolean hasSideEffects()
           
static void setGuard(Quad q, Operand o)
           
static void setIndex(Quad q, Operand o)
           
static void setRef(Quad q, Operand o)
           
 
Methods inherited from class joeq.Compiler.Quad.Operator
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.BoundsCheck

public Operator.BoundsCheck()
Method Detail

create

public static Quad create(int id,
                          Operator.BoundsCheck operator,
                          Operand ref,
                          Operand idx,
                          Operand guard)

getRef

public static Operand getRef(Quad q)

getIndex

public static Operand getIndex(Quad q)

getGuard

public static Operand getGuard(Quad q)

setRef

public static void setRef(Quad q,
                          Operand o)

setIndex

public static void setIndex(Quad q,
                            Operand o)

setGuard

public static void setGuard(Quad q,
                            Operand o)

getDefinedRegisters

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

getUsedRegisters

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

hasSideEffects

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

accept

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

getThrownExceptions

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


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