coins.flow
インタフェース BBlockNodeIterator

既知の実装クラスの一覧:
BBlockHirNodeIteratorImpl

public interface BBlockNodeIterator

BBlockNodIterator inteterface Basic block node iterator to traverse node in a basic block. in the order of from top to bottom, from left to right. If the basic block containes a list of subtrees, then the list is traversed from head to tail traversing each subtree.


メソッドの概要
 HIR getNextExecutableNode()
          getNextExecutableNode Get the node that refer/set data or change control flow directly.
 boolean hasNext()
          hasNext
 IR next()
          next Get the next node in this basic block.
 

メソッドの詳細

next

public IR next()
next Get the next node in this basic block. By repetitively invoking "next", all nodes in the basic block are traversed.


hasNext

public boolean hasNext()
hasNext

戻り値:
true if there is next node remaining in the basic block.

getNextExecutableNode

public HIR getNextExecutableNode()
getNextExecutableNode Get the node that refer/set data or change control flow directly. The iterator skips such non-executable nodes as labelNode, blockNode, listNode, stmtNode, ifNode, forNode, whileNode, untilNode, switchNode, progNode, subpDefNode, labelDefNode, infNode, subpNode, typeNode, labeledStmtNode with non-null Stmt body, nullNode and get executable statement body or expression under the skipped node. If a labeled statement has null statement body, it is not skipped.