org.jikesrvm.compilers.opt.ir
Class IREnumeration.AllUsesEnum

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ir.IREnumeration.AllUsesEnum
All Implemented Interfaces:
Enumeration<Operand>
Enclosing class:
IREnumeration

public static final class IREnumeration.AllUsesEnum
extends Object
implements Enumeration<Operand>

This class implements an Enumeration of Operand. It used for holding the uses of a particular instruction and being used as an enumeration for iterating over. It differs from other enumerations of Operand as it iterates over both implicit and explicit operands.

See Also:
SSADictionary

Field Summary
private  int curHeapOperand
          Current heap operand we're upto for the enumeration
private  HeapOperand<?>[] heapOperands
          Array of heap operands defined by the instruction
private  PhysicalDefUse.PDUEnumeration implicitUses
          Implicit uses from the operator
private  Instruction instr
          Defining instruction
private  Enumeration<Operand> instructionOperands
          Enumeration of non-heap operands defined by the instruction
 
Constructor Summary
IREnumeration.AllUsesEnum(IR ir, Instruction instr)
          Construct/initialize object
 
Method Summary
 boolean hasMoreElements()
          Are there any more elements in the enumeration
 Operand nextElement()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instructionOperands

private final Enumeration<Operand> instructionOperands
Enumeration of non-heap operands defined by the instruction


heapOperands

private final HeapOperand<?>[] heapOperands
Array of heap operands defined by the instruction


curHeapOperand

private int curHeapOperand
Current heap operand we're upto for the enumeration


implicitUses

private final PhysicalDefUse.PDUEnumeration implicitUses
Implicit uses from the operator


instr

private final Instruction instr
Defining instruction

Constructor Detail

IREnumeration.AllUsesEnum

public IREnumeration.AllUsesEnum(IR ir,
                                 Instruction instr)
Construct/initialize object

Parameters:
ir - Containing IR
instr - Instruction to get uses for
Method Detail

hasMoreElements

public boolean hasMoreElements()
Are there any more elements in the enumeration

Specified by:
hasMoreElements in interface Enumeration<Operand>

nextElement

public Operand nextElement()
Specified by:
nextElement in interface Enumeration<Operand>