coins.ir.hir
クラス HirIteratorImpl

java.lang.Object
  |
  +--coins.ir.hir.HirIteratorImpl
すべての実装インタフェース:
HirIterator

public class HirIteratorImpl
extends java.lang.Object
implements HirIterator

HirIteratorImpl class Traverse HIR node in depth first order.


フィールドの概要
protected  int fDbgLevel
           
protected  int fDebLevel
           
protected  int fNodeCount
           
protected  java.util.ArrayList fNodeList
           
protected  java.util.Iterator fNodeListIterator
           
protected  int fStmtCount
           
protected  java.util.ArrayList fStmtList
           
protected  java.util.Iterator fStmtListIterator
           
 HirRoot hirRoot
           
 IoRoot ioRoot
           
 
コンストラクタの概要
HirIteratorImpl(HirRoot pHirRoot, IR pSubtree, boolean pGoUpward)
          HirIteratorImpl Create an itrerator that traverses nodes of HIR subtree.
 
メソッドの概要
 HIR getNextExecutableNode()
          next Get the node that refer/set data or change control flow directly.
 Stmt getNextStmt()
           
 boolean hasNext()
           
 boolean hasNextStmt()
           
 HIR next()
          next Get the next node and advance current point for iteration.
 Stmt nextStmt()
          nextStmt Get the next statement skipping other nodes that are not Stmt.
protected  void recordNodes(HIR pHir)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

hirRoot

public final HirRoot hirRoot

ioRoot

public final IoRoot ioRoot

fDbgLevel

protected int fDbgLevel

fNodeList

protected java.util.ArrayList fNodeList

fStmtList

protected java.util.ArrayList fStmtList

fNodeCount

protected int fNodeCount

fStmtCount

protected int fStmtCount

fNodeListIterator

protected java.util.Iterator fNodeListIterator

fStmtListIterator

protected java.util.Iterator fStmtListIterator

fDebLevel

protected int fDebLevel
コンストラクタの詳細

HirIteratorImpl

public HirIteratorImpl(HirRoot pHirRoot,
                       IR pSubtree,
                       boolean pGoUpward)
HirIteratorImpl Create an itrerator that traverses nodes of HIR subtree.

パラメータ:
pSubtree - Subtree to be traversed.
pGoUpward - true if traverse of nodes positioned higher than the root of pSubtree is permitted. Normally this is false; true is used in BBlockNodeIterator.
メソッドの詳細

next

public HIR next()
インタフェース HirIterator の記述:
next Get the next node and advance current point for iteration. If the next node is IrList or HirList or ExpListExp, the elements of the list are traversed.

定義:
インタフェース HirIterator 内の next

hasNext

public boolean hasNext()
定義:
インタフェース HirIterator 内の hasNext

hasNextStmt

public boolean hasNextStmt()
定義:
インタフェース HirIterator 内の hasNextStmt

getNextExecutableNode

public HIR getNextExecutableNode()
インタフェース HirIterator の記述:
next Get the node that refer/set data or change control flow directly. If the next node is IrList or HirList, the elements of the list are traversed.

定義:
インタフェース HirIterator 内の getNextExecutableNode

nextStmt

public Stmt nextStmt()
インタフェース HirIterator の記述:
nextStmt Get the next statement skipping other nodes that are not Stmt. In compound statements, statements contained in the compound statements are get in depth-first order.

定義:
インタフェース HirIterator 内の nextStmt
戻り値:
the next statement.

getNextStmt

public Stmt getNextStmt()
定義:
インタフェース HirIterator 内の getNextStmt

recordNodes

protected void recordNodes(HIR pHir)