coins.flow
クラス BBlockStmtIterator

java.lang.Object
  |
  +--coins.flow.BBlockStmtIterator
すべての実装インタフェース:
BBlockSubtreeIterator

public class BBlockStmtIterator
extends java.lang.Object
implements BBlockSubtreeIterator

BBlockStmtIterator traverses statements in the specified BBlock. IR tree should not be changed after instanciation of BBlockStmtIteratorImpl until all invocations of hasNext() and next() are finished.


フィールドの概要
(パッケージプライベート)  BBlockHirSubtreeIteratorImpl fSubtreeIterator
           
 
コンストラクタの概要
BBlockStmtIterator(BBlockHir pBBlock)
           
 
メソッドの概要
 boolean hasNext()
          hasNext
 IR next()
          next Get the next top subtree in the basic block indicated by this iterator.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

fSubtreeIterator

BBlockHirSubtreeIteratorImpl fSubtreeIterator
コンストラクタの詳細

BBlockStmtIterator

public BBlockStmtIterator(BBlockHir pBBlock)
メソッドの詳細

hasNext

public boolean hasNext()
インタフェース BBlockSubtreeIterator の記述:
hasNext

定義:
インタフェース BBlockSubtreeIterator 内の hasNext
戻り値:
true if there remains thte next top subtree in the basic block.

next

public IR next()
インタフェース BBlockSubtreeIterator の記述:
next Get the next top subtree in the basic block indicated by this iterator. If no one is left, return null. In HIR, statements other than LabeledStmt, AssignStmt, ExpStmt, ReturnStmt, IfStmt, LoopStmt, SwitchStmt //##65 are skipped because other statements does not set/refer data directly. (Other statements may set/refer data indirectly but such set/referes can be caught by above statements included in them. LabeledStmt is picked up to see BBlock boundary.) Expressions treated as top subtree in BBlockSubtreeIterator are conditional expressin in IfStmt, LoopStmt, case-selection expression in SwitchStmt, //##65 call-subtree in Exp. //##65 Conditional expression in IfStmt, LoopStmt The end of top subtree iteration should be checked not by null of next() but by hasNext() because there might be a case where the last top subtree is null (in such case as there remains a sequence of nodes but no top subtree is remaining).

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