joeq.Compiler.Quad
Class Operator

java.lang.Object
  extended by joeq.Compiler.Quad.Operator
Direct Known Subclasses:
Operator.ALength, Operator.ALoad, Operator.AStore, Operator.Binary, Operator.BoundsCheck, Operator.Branch, Operator.CheckCast, Operator.Getfield, Operator.Getstatic, Operator.InstanceOf, Operator.Invoke, Operator.MemLoad, Operator.MemStore, Operator.Monitor, Operator.Move, Operator.New, Operator.NewArray, Operator.NullCheck, Operator.Phi, Operator.Putfield, Operator.Putstatic, Operator.Return, Operator.Special, Operator.StoreCheck, Operator.Unary, Operator.ZeroCheck

public abstract class Operator
extends Object

Version:
$Id: Operator.java 2465 2006-06-07 23:03:17Z joewhaley $
Author:
John Whaley

Nested Class Summary
static class Operator.ALength
           
static class Operator.ALoad
           
static class Operator.AStore
           
static class Operator.Binary
           
static class Operator.BoundsCheck
           
static class Operator.Branch
           
static class Operator.CheckCast
           
static class Operator.Getfield
           
static class Operator.Getstatic
           
static class Operator.Goto
           
static class Operator.InstanceOf
           
static class Operator.IntIfCmp
           
static class Operator.Invoke
           
static class Operator.Jsr
           
static class Operator.LookupSwitch
           
static class Operator.MemLoad
           
static class Operator.MemStore
           
static class Operator.Monitor
           
static class Operator.Move
           
static class Operator.New
           
static class Operator.NewArray
           
static class Operator.NullCheck
           
static class Operator.Phi
           
static class Operator.Putfield
           
static class Operator.Putstatic
           
static class Operator.Ret
           
static class Operator.Return
           
static class Operator.Special
           
static class Operator.StoreCheck
           
static class Operator.TableSwitch
           
static class Operator.Unary
           
static class Operator.ZeroCheck
           
 
Field Summary
protected static joeq.Compiler.Quad.Operator.Delegate _delegate
           
static UnmodifiableList.jq_Class anyexception
           
static UnmodifiableList.jq_Class arithexception
           
static UnmodifiableList.jq_Class arrayboundsexception
           
static UnmodifiableList.jq_Class arraystoreexception
           
static UnmodifiableList.jq_Class classcastexceptions
           
static UnmodifiableList.jq_Class illegalmonitorstateexception
           
static UnmodifiableList.jq_Class negativesizeexception
           
static UnmodifiableList.jq_Class noexceptions
           
static UnmodifiableList.RegisterOperand noregisters
           
static UnmodifiableList.jq_Class nullptrexception
           
static UnmodifiableList.jq_Class resolutionexceptions
           
 
Constructor Summary
Operator()
           
 
Method Summary
 void accept(Quad q, QuadVisitor qv)
           
 UnmodifiableList.RegisterOperand getDefinedRegisters(Quad q)
           
static UnmodifiableList.RegisterOperand getReg1_check(Quad q)
           
static UnmodifiableList.RegisterOperand getReg1(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg12(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg123(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg1234(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg124(Quad q)
           
static UnmodifiableList.RegisterOperand getReg2(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg23(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg234(Quad q)
           
protected static UnmodifiableList.RegisterOperand getReg24(Quad q)
           
static UnmodifiableList.RegisterOperand getReg3(Quad q)
           
 UnmodifiableList.jq_Class getThrownExceptions()
           
 UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)
           
abstract  boolean hasSideEffects()
           
abstract  void interpret(Quad q, QuadInterpreter s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

noregisters

public static final UnmodifiableList.RegisterOperand noregisters

noexceptions

public static final UnmodifiableList.jq_Class noexceptions

anyexception

public static final UnmodifiableList.jq_Class anyexception

resolutionexceptions

public static final UnmodifiableList.jq_Class resolutionexceptions

nullptrexception

public static final UnmodifiableList.jq_Class nullptrexception

arrayboundsexception

public static final UnmodifiableList.jq_Class arrayboundsexception

arithexception

public static final UnmodifiableList.jq_Class arithexception

arraystoreexception

public static final UnmodifiableList.jq_Class arraystoreexception

negativesizeexception

public static final UnmodifiableList.jq_Class negativesizeexception

classcastexceptions

public static final UnmodifiableList.jq_Class classcastexceptions

illegalmonitorstateexception

public static final UnmodifiableList.jq_Class illegalmonitorstateexception

_delegate

protected static joeq.Compiler.Quad.Operator.Delegate _delegate
Constructor Detail

Operator

public Operator()
Method Detail

accept

public void accept(Quad q,
                   QuadVisitor qv)

getThrownExceptions

public UnmodifiableList.jq_Class getThrownExceptions()

getDefinedRegisters

public UnmodifiableList.RegisterOperand getDefinedRegisters(Quad q)

getUsedRegisters

public UnmodifiableList.RegisterOperand getUsedRegisters(Quad q)

hasSideEffects

public abstract boolean hasSideEffects()

interpret

public abstract void interpret(Quad q,
                               QuadInterpreter s)

getReg1

public static UnmodifiableList.RegisterOperand getReg1(Quad q)

getReg1_check

public static UnmodifiableList.RegisterOperand getReg1_check(Quad q)

getReg2

public static UnmodifiableList.RegisterOperand getReg2(Quad q)

getReg3

public static UnmodifiableList.RegisterOperand getReg3(Quad q)

getReg12

protected static UnmodifiableList.RegisterOperand getReg12(Quad q)

getReg23

protected static UnmodifiableList.RegisterOperand getReg23(Quad q)

getReg24

protected static UnmodifiableList.RegisterOperand getReg24(Quad q)

getReg124

protected static UnmodifiableList.RegisterOperand getReg124(Quad q)

getReg123

protected static UnmodifiableList.RegisterOperand getReg123(Quad q)

getReg234

protected static UnmodifiableList.RegisterOperand getReg234(Quad q)

getReg1234

protected static UnmodifiableList.RegisterOperand getReg1234(Quad q)


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