at.dms.backend
Class QNode

java.lang.Object
  |
  +--at.dms.backend.QNode
Direct Known Subclasses:
QIinc, QNop, QQuadruple, QVoid

abstract class QNode
extends java.lang.Object

This class represent an abstract node.


Constructor Summary
(package private) QNode()
           
 
Method Summary
abstract  void generate(CodeSequence seq)
          Generates instructions for this quadruple.
abstract  QTemporary getDef()
          Returns the defined temporary.
 InstructionHandle getInstruction()
          Returns the primitive instruction.
 QJump getJump()
          Returns a jump.
 QTemporary[] getLivein()
          Returns the livein temporary.
 QTemporary[] getLiveout()
          Returns the liveout temporary.
abstract  QOrigin[] getOrigins()
          Returns the origins of this instruction.
 QQuadruple getStore()
          Returns this a store.
 QSwitch getSwitch()
          Returns this a switch.
abstract  QTemporary[] getUses()
          Returns the used temporaries.
 boolean hasSideEffect()
          Returns whether this node has side effects.
 boolean isJump()
          isJump.
 boolean isLive(QTemporary temp)
          Is a temporary live at a certain point.
 boolean isStore()
          isStore.
 boolean isSwitch()
          isSwitch.
 void setLivein(QTemporary[] livein)
          Sets the livein temporary.
 void setLiveout(QTemporary[] liveout)
          Sets the liveout temporary.
abstract  void setOrigin(QOrigin origin, int i)
          Sets the origins of this instruction.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QNode

QNode()
Method Detail

isJump

public boolean isJump()
isJump.

getJump

public QJump getJump()
Returns a jump.

isSwitch

public boolean isSwitch()
isSwitch.

getSwitch

public QSwitch getSwitch()
Returns this a switch.

isStore

public boolean isStore()
isStore.

getStore

public QQuadruple getStore()
Returns this a store.

hasSideEffect

public boolean hasSideEffect()
Returns whether this node has side effects.

getInstruction

public InstructionHandle getInstruction()
Returns the primitive instruction.

getOrigins

public abstract QOrigin[] getOrigins()
Returns the origins of this instruction.

setOrigin

public abstract void setOrigin(QOrigin origin,
                               int i)
Sets the origins of this instruction.

getDef

public abstract QTemporary getDef()
Returns the defined temporary.

getUses

public abstract QTemporary[] getUses()
Returns the used temporaries.

getLivein

public QTemporary[] getLivein()
Returns the livein temporary.

setLivein

public void setLivein(QTemporary[] livein)
Sets the livein temporary.

getLiveout

public QTemporary[] getLiveout()
Returns the liveout temporary.

setLiveout

public void setLiveout(QTemporary[] liveout)
Sets the liveout temporary.

isLive

public boolean isLive(QTemporary temp)
Is a temporary live at a certain point.

generate

public abstract void generate(CodeSequence seq)
Generates instructions for this quadruple.
Parameters:
seq - The code sequence of instruction.