coins.aflow
クラス LoopInfImpl

java.lang.Object
  |
  +--coins.aflow.LoopInfImpl
すべての実装インタフェース:
LoopInf

public class LoopInfImpl
extends java.lang.Object
implements LoopInf

LoopInfImpl: //##10 Loop information class.


フィールドの概要
protected  java.util.LinkedList fAlternateEntryBBlockList
           
protected  java.util.LinkedList fAlternateEntryNodeList
           
protected  java.util.LinkedList fBBlockList
           
protected  BBlock fEntryBBlock
           
protected  IR fEntryNode
           
protected  LoopInf fFirstChild
           
protected  FlagBox fFlagBox
           
protected  FlowRoot flowRoot
           
protected  LoopInf fNextBrother
           
protected  LoopInf fParent
           
 
インタフェース coins.aflow.LoopInf から継承したフィールド
HAS_CALL, HAS_PTR_ASSIGN, HAS_STRUCT_UNION, IRREDUCIBLE, USE_PTR
 
コンストラクタの概要
protected LoopInfImpl(FlowRoot pFlowRoot, IR pEntryNode)
           
 
メソッドの概要
 void addAlternateEntryBBlock(BBlock pEntryBBlock)
          addAlternateEntryBBlock: Add pEntryBBlock as an alternate entry BBlock of this LoopInf.
 void addAlternateEntryNode(IR pEntryNode)
          addAlternateEntryNode: Add pEntryNode as an alternate entry node of this LoopInf.
 void addBBlock(BBlock pBBlock)
          addBBlock: Add pBBlock to the BBlock list of this LoopInf.
 void deleteBBlock(BBlock pBBlock)
          deleteBBlock: Delete pBBlock from the BBlock list of this LoopInf.
 java.util.List getAlternateEntryBBlockList()
          getAlternateEntryBBlockList: Get the list of alternate entry BBlock.
 java.util.List getAlternateEntryNodeList()
          getAlternateEntryNodeList: Get the list of alternate entry node.
 java.util.List getBBlockList()
           
 BBlock getEntryBBlock()
          getEntryBBlock: Get entry BBlock of the loop corresponding to this LoopInf.
 LoopInf getFirstChild()
          getFirstChild setFirstChild Get/set the first child LoopInf of this LoopInf, where, the first child LoopInf is the LoopInf corresponding to the first loop directly contained in the loop correnponding to this LoopInf.
 boolean getFlag(int pFlagNumber)
          getFlag: setFlag: getFlag returns the value (true/false) of the flag indicated by pFlagNumber.
 LoopInf getNextBrother()
          getNextBrother setNextBrother Get/set the next brother LoopInf of this LoopInf, where, the next brother LoopInf is the LoopInf having the same parent LoopInf as this LoopInf.
 LoopInf getParent()
          getParent setParent Get/set parent LoopInf of this LoopInf, where, parent LoopInf is the LoopInf corresponding to the loop directly containing the loop correnponding to this LoopInf.
 void print(int pDebugLevel)
          print: Print this LoopInf and its children and brother LoopInf for debugging purpose if dbgFlow >= pDebigLevel.
 void propagateFlag(int pFlagNumber)
          propagateFlag: Set flag of pFlagNumber to be true and if this has parent, then set the same flag of the parent and its ancestors.
 void setEntryBBlock(BBlock pEntryBBlock)
          setEntryBBlock: Set entry BBlock of the loop corresponding to this LoopInf.
 void setFirstChild(LoopInf pChild)
           
 void setFlag(int pFlagNumber, boolean pYesNo)
           
 void setNextBrother(LoopInf pBrother)
           
 void setParent(LoopInf pParent)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

flowRoot

protected final FlowRoot flowRoot

fParent

protected LoopInf fParent

fFirstChild

protected LoopInf fFirstChild

fNextBrother

protected LoopInf fNextBrother

fBBlockList

protected java.util.LinkedList fBBlockList

fEntryNode

protected IR fEntryNode

fAlternateEntryNodeList

protected java.util.LinkedList fAlternateEntryNodeList

fEntryBBlock

protected BBlock fEntryBBlock

fAlternateEntryBBlockList

protected java.util.LinkedList fAlternateEntryBBlockList

fFlagBox

protected FlagBox fFlagBox
コンストラクタの詳細

LoopInfImpl

protected LoopInfImpl(FlowRoot pFlowRoot,
                      IR pEntryNode)
メソッドの詳細

getParent

public LoopInf getParent()
インタフェース LoopInf の記述:
getParent setParent Get/set parent LoopInf of this LoopInf, where, parent LoopInf is the LoopInf corresponding to the loop directly containing the loop correnponding to this LoopInf. If there is no parent, then getParent rerurns null.

定義:
インタフェース LoopInf 内の getParent

setParent

public void setParent(LoopInf pParent)
定義:
インタフェース LoopInf 内の setParent

getFirstChild

public LoopInf getFirstChild()
インタフェース LoopInf の記述:
getFirstChild setFirstChild Get/set the first child LoopInf of this LoopInf, where, the first child LoopInf is the LoopInf corresponding to the first loop directly contained in the loop correnponding to this LoopInf. If there is no child, then getFirstChild rerurns null.

定義:
インタフェース LoopInf 内の getFirstChild

setFirstChild

public void setFirstChild(LoopInf pChild)
定義:
インタフェース LoopInf 内の setFirstChild

getNextBrother

public LoopInf getNextBrother()
インタフェース LoopInf の記述:
getNextBrother setNextBrother Get/set the next brother LoopInf of this LoopInf, where, the next brother LoopInf is the LoopInf having the same parent LoopInf as this LoopInf. If there is no next brother, then getNextBrother rerurns null.

定義:
インタフェース LoopInf 内の getNextBrother

setNextBrother

public void setNextBrother(LoopInf pBrother)
定義:
インタフェース LoopInf 内の setNextBrother

getEntryBBlock

public BBlock getEntryBBlock()
インタフェース LoopInf の記述:
getEntryBBlock: Get entry BBlock of the loop corresponding to this LoopInf. If there are several entry (irreducible loop), get the BBlock that is set by setEntryBBlock.

定義:
インタフェース LoopInf 内の getEntryBBlock
戻り値:
thte entry BBlock.

setEntryBBlock

public void setEntryBBlock(BBlock pEntryBBlock)
インタフェース LoopInf の記述:
setEntryBBlock: Set entry BBlock of the loop corresponding to this LoopInf. If there are several entry (irreducible loop), select one of them as principal entry BBlock and set it as the entry BBlock.

定義:
インタフェース LoopInf 内の setEntryBBlock

getBBlockList

public java.util.List getBBlockList()
定義:
インタフェース LoopInf 内の getBBlockList

addBBlock

public void addBBlock(BBlock pBBlock)
インタフェース LoopInf の記述:
addBBlock: Add pBBlock to the BBlock list of this LoopInf. If pBBlock has not yet linked to LoopInf, then it is linked to this LoopInf (inner-most LoopInf containing pBBlock). If this LoopInf has parent, then pBBlock is added to the parent LoopInf, too.

定義:
インタフェース LoopInf 内の addBBlock

deleteBBlock

public void deleteBBlock(BBlock pBBlock)
インタフェース LoopInf の記述:
deleteBBlock: Delete pBBlock from the BBlock list of this LoopInf. The linkage to LoopInf of pBBlock is nullified. If this LoopInf has parent, then pBBlock is deleted from the parent LoopInf, too.

定義:
インタフェース LoopInf 内の deleteBBlock

getAlternateEntryNodeList

public java.util.List getAlternateEntryNodeList()
インタフェース LoopInf の記述:
getAlternateEntryNodeList: Get the list of alternate entry node. If there is no alternate entry node (reducible loop) then return null.

定義:
インタフェース LoopInf 内の getAlternateEntryNodeList
戻り値:
the list of alternate entry node.

getAlternateEntryBBlockList

public java.util.List getAlternateEntryBBlockList()
インタフェース LoopInf の記述:
getAlternateEntryBBlockList: Get the list of alternate entry BBlock. If there is no alternate entry BBlock (reducible loop) then return null.

定義:
インタフェース LoopInf 内の getAlternateEntryBBlockList
戻り値:
the list of alternate entry BBlock.

addAlternateEntryNode

public void addAlternateEntryNode(IR pEntryNode)
インタフェース LoopInf の記述:
addAlternateEntryNode: Add pEntryNode as an alternate entry node of this LoopInf. Duplication is avoided.

定義:
インタフェース LoopInf 内の addAlternateEntryNode

addAlternateEntryBBlock

public void addAlternateEntryBBlock(BBlock pEntryBBlock)
インタフェース LoopInf の記述:
addAlternateEntryBBlock: Add pEntryBBlock as an alternate entry BBlock of this LoopInf. Duplication is avoided.

定義:
インタフェース LoopInf 内の addAlternateEntryBBlock

getFlag

public boolean getFlag(int pFlagNumber)
インタフェース LoopInf の記述:
getFlag: setFlag: getFlag returns the value (true/false) of the flag indicated by pFlagNumber. setFlag sets the flag of specified number.

定義:
インタフェース LoopInf 内の getFlag

setFlag

public void setFlag(int pFlagNumber,
                    boolean pYesNo)
定義:
インタフェース LoopInf 内の setFlag

propagateFlag

public void propagateFlag(int pFlagNumber)
インタフェース LoopInf の記述:
propagateFlag: Set flag of pFlagNumber to be true and if this has parent, then set the same flag of the parent and its ancestors.

定義:
インタフェース LoopInf 内の propagateFlag

print

public void print(int pDebugLevel)
インタフェース LoopInf の記述:
print: Print this LoopInf and its children and brother LoopInf for debugging purpose if dbgFlow >= pDebigLevel.

定義:
インタフェース LoopInf 内の print