coins.backend.lir
Class LirNode.Scanner

java.lang.Object
  extended bycoins.backend.lir.LirNode.Scanner
All Implemented Interfaces:
java.util.Iterator
Enclosing class:
LirNode

public static class LirNode.Scanner
extends java.lang.Object
implements java.util.Iterator

Scanner for LIR expression tree.


Field Summary
(package private)  LirNode[] buf
           
(package private)  LirNode[] clobberBuf
           
(package private)  LirNode[] defBuf
           
(package private)  int nClobbers
           
(package private)  int nDefs
           
(package private)  int nUses
           
(package private)  int ptr
           
(package private)  LirNode scanned
           
(package private)  int size
           
(package private)  LirNode[] useBuf
           
 
Constructor Summary
LirNode.Scanner()
           
 
Method Summary
 java.util.Iterator forClobbers(LirNode tree)
          Return iterator for enumerating register CLOBBERs in tree.
 java.util.Iterator forDefs(LirNode tree)
          Return iterator for enumerating register variable DEFs in tree.
 java.util.Iterator forUses(LirNode tree)
          Return iterator for enumerating register variable USEs in tree.
 boolean hasNext()
           
 java.lang.Object next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scanned

LirNode scanned

useBuf

LirNode[] useBuf

defBuf

LirNode[] defBuf

clobberBuf

LirNode[] clobberBuf

buf

LirNode[] buf

nUses

int nUses

nDefs

int nDefs

nClobbers

int nClobbers

size

int size

ptr

int ptr
Constructor Detail

LirNode.Scanner

public LirNode.Scanner()
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator

next

public java.lang.Object next()
Specified by:
next in interface java.util.Iterator

remove

public void remove()
Specified by:
remove in interface java.util.Iterator

forUses

public java.util.Iterator forUses(LirNode tree)
Return iterator for enumerating register variable USEs in tree.


forDefs

public java.util.Iterator forDefs(LirNode tree)
Return iterator for enumerating register variable DEFs in tree.


forClobbers

public java.util.Iterator forClobbers(LirNode tree)
Return iterator for enumerating register CLOBBERs in tree.