coins.aflow
クラス InitiateFlowHir

java.lang.Object
  |
  +--coins.aflow.util.AnalAdapter
        |
        +--coins.aflow.FlowAdapter
              |
              +--coins.aflow.InitiateFlow
                    |
                    +--coins.aflow.InitiateFlowHir
すべての実装インタフェース:
Analyzer

public class InitiateFlowHir
extends InitiateFlow

HIR data flow initiation class.


フィールドの概要
 
クラス coins.aflow.InitiateFlow から継承したフィールド
fBBlockList, fFlowAnalSymTable
 
クラス coins.aflow.FlowAdapter から継承したフィールド
flow, flowRoot, fResults, hirRoot, ioRoot, symRoot
 
コンストラクタの概要
InitiateFlowHir(FlowResults pResults)
           
 
メソッドの概要
 void initiate(SubpFlow pSubpFlow)
          Initiates data flow analysis for the given SubpFlow.
 
クラス coins.aflow.InitiateFlow から継承したメソッド
find
 
クラス coins.aflow.FlowAdapter から継承したメソッド
find, find, find, find, find, find
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InitiateFlowHir

public InitiateFlowHir(FlowResults pResults)
メソッドの詳細

initiate

public void initiate(SubpFlow pSubpFlow)

Initiates data flow analysis for the given SubpFlow.

Does the following:

  • Link function calls' argument nodes to the argument list node (holds as a map entry in FlowResults).
  • Flags whether each BBlock
    • has any assignment to the contents of pointers.
    • ever accesses a pointer variable.
    • ever accesses a structure/union variable.
    • ever calls other functions.
  • Sets a unique index to each node.
  • link nodes to the enclosing BBlock (as a map entry in FlowResults).
  • Sets a unique index to each accessed symbol, and hold a table of such symbols.
  • Assigns FlowExpIds to the pertinent nodes
  • .
  • Do preparation for alias analysis
  • .

    定義:
    クラス InitiateFlow 内の initiate