coins.flow
クラス BBlockHirNodeIteratorImpl

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

public class BBlockHirNodeIteratorImpl
extends java.lang.Object
implements BBlockNodeIterator

BBlockHirNodeIteratorImpl class Basic block node iterator to traverse node in a basic block.


フィールドの概要
protected  int fDbgLevel
           
protected  boolean fJumpReturnAppeared
           
 FlowRoot flowRoot
           
protected  int fNextNodeIndex
           
protected  Stmt fNextStmt
           
 SubpFlow fSubpFlow
           
 
コンストラクタの概要
BBlockHirNodeIteratorImpl(FlowRoot pFlowRoot, BBlock pBBlock)
           
 
メソッドの概要
 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.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

flowRoot

public final FlowRoot flowRoot

fDbgLevel

protected int fDbgLevel

fNextNodeIndex

protected int fNextNodeIndex

fSubpFlow

public final SubpFlow fSubpFlow

fNextStmt

protected Stmt fNextStmt

fJumpReturnAppeared

protected boolean fJumpReturnAppeared
コンストラクタの詳細

BBlockHirNodeIteratorImpl

public BBlockHirNodeIteratorImpl(FlowRoot pFlowRoot,
                                 BBlock pBBlock)
メソッドの詳細

next

public IR next()
インタフェース BBlockNodeIterator の記述:
next Get the next node in this basic block. By repetitively invoking "next", all nodes in the basic block are traversed.

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

hasNext

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

定義:
インタフェース BBlockNodeIterator 内の hasNext
戻り値:
true if there is next node remaining in the basic block.

getNextExecutableNode

public HIR getNextExecutableNode()
インタフェース BBlockNodeIterator の記述:
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.

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