JML

org.multijava.util.backend
Class QNode

java.lang.Object
  extended byorg.multijava.util.backend.QNode
Direct Known Subclasses:
QIinc, QNop, QQuadruple, QVoid

abstract class QNode
extends Object

This class represent an abstract node


Field Summary
private  QTemporary[] livein
           
private  QTemporary[] liveout
           
 
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 this node a a jump
 QTemporary[] getLivein()
          Returns the livein temporary.
 QTemporary[] getLiveout()
          Returns the liveout temporary.
abstract  QOrigin[] getOrigins()
          returns the parameters of this instruction
 QQuadruple getStore()
          Returns this node a a jump
 QSwitch getSwitch()
          Returns this node a a jump
abstract  QTemporary[] getUses()
          Returns the used temporaries.
 boolean hasSideEffect()
          Returns this node a a jump
 boolean isJump()
          isJump
 boolean isLive(QTemporary temp)
          Is a temporary live at a certin point
 boolean isStore()
          isStore
 boolean isSwitch()
          isJump
 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 parameters of this instruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

livein

private QTemporary[] livein

liveout

private QTemporary[] liveout
Constructor Detail

QNode

QNode()
Method Detail

isJump

public boolean isJump()
isJump


getJump

public QJump getJump()
Returns this node a a jump


isSwitch

public boolean isSwitch()
isJump


getSwitch

public QSwitch getSwitch()
Returns this node a a jump


isStore

public boolean isStore()
isStore


getStore

public QQuadruple getStore()
Returns this node a a jump


hasSideEffect

public boolean hasSideEffect()
Returns this node a a jump


getInstruction

public InstructionHandle getInstruction()
Returns the primitive instruction


getOrigins

public abstract QOrigin[] getOrigins()
returns the parameters of this instruction


setOrigin

public abstract void setOrigin(QOrigin origin,
                               int i)
Sets the parameters 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 certin point


generate

public abstract void generate(CodeSequence seq)
Generates instructions for this quadruple

Parameters:
seq - The code sequence of instruction

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.