|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.sym.SymImpl
|
+--coins.sym.LabelImpl
class Label
| フィールドの概要 | |
(パッケージプライベート) BBlock |
fBBlock
|
(パッケージプライベート) LabeledStmt |
fHIRpos
|
(パッケージプライベート) IrList |
fHirRefList
|
(パッケージプライベート) int |
fLabelKind
|
(パッケージプライベート) IrList |
fLirRefList
|
(パッケージプライベート) HIR |
fOriginHir
|
| クラス coins.sym.SymImpl から継承したフィールド |
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot |
| インタフェース coins.sym.Label から継承したフィールド |
CONTINUE_LABEL, ELSE_LABEL, END_IF_LABEL, ENTRY_LABEL, JUMP_LABEL, LOOP_BACK_LABEL, LOOP_BODY_LABEL, LOOP_COND_INIT_LABEL, LOOP_END_LABEL, LOOP_STEP_LABEL, RETURN_POINT_LABEL, SOURCE_LABEL, SWITCH_CASE_LABEL, SWITCH_DEFAULT_LABEL, SWITCH_END_LABEL, THEN_LABEL, UNCLASSIFIED_LABEL |
| インタフェース coins.sym.Sym から継承したフィールド |
KIND_NAME, VISIBILITY |
| コンストラクタの概要 | |
LabelImpl(SymRoot pSymRoot,
java.lang.String pLabelName,
Sym pDefinedIn)
|
|
| メソッドの概要 | |
void |
addToHirRefList(LabelNode pHirRefPosition)
addToHirRefList Add reference list of this label. |
boolean |
endPointLabel()
endPointLabel true if END_IF, LOOP_END, SWITCH_END. |
BBlock |
getBBlock()
getBBlock Get basic block corresponding to this label. |
LabeledStmt |
getHirPosition()
getHirPosition Get the HIR statement having this label. |
int |
getHirRefCount()
addToLirRefList add reference list of this label. |
IrList |
getHirRefList()
getHirRefList Get reference list of this label. |
int |
getLabelKind()
getLabelKind Get label kind such as hten-label, else-label, etc. |
HIR |
getOriginHir()
getOriginHir Get the node that originate this label such as if-node for then-label, while-node for loop-back label, etc. |
boolean |
removeFromHirRefList(LabelNode labelnode)
Remove LabelNode from HirRefList. |
void |
replaceHirLabel(Label pToLabel)
replaceHirLabels Replace every LabelNode listed in getHirRefList() refering this label to a LabelNode of pToLabel. |
void |
resetHirRefList()
Reset HirRefList that shows the list of LabelNodes refering this label. |
void |
setBBlock(BBlock pBBlock)
setBBlock Set pBBlock as the basic block corresponding to this label. |
void |
setHirPosition(LabeledStmt pHirPosition)
setHirPosition Set the HIR statement having this label. |
void |
setLabelKind(int pLabelKind)
setLabelKind Set label kind. |
void |
setOriginHir(HIR pOriginHir)
setOriginHir Set origin node. |
java.lang.String |
toString()
Get the string image of object. |
java.lang.String |
toStringDetail()
toStringDetail Get detailed attributes of this symbol in text which is not interned. |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| インタフェース coins.sym.Sym0 から継承したメソッド |
charConst, definedType, defineElem, defineLabel, defineParam, defineSubp, defineVar, enumType, floatConst, getDefinedFile, getDefinedIn, getFlag, getName, getNextSym, getRecordedIn, getSymKind, getSymType, getUniqueName, intConst, isGlobal, namedConst, pointerType, setFlag, stringConst, structType, subpType, unionType, vectorType, vectorTypeUnfixed |
| フィールドの詳細 |
IrList fHirRefList
IrList fLirRefList
LabeledStmt fHIRpos
int fLabelKind
HIR fOriginHir
BBlock fBBlock
| コンストラクタの詳細 |
public LabelImpl(SymRoot pSymRoot,
java.lang.String pLabelName,
Sym pDefinedIn)
| メソッドの詳細 |
public LabeledStmt getHirPosition()
Label 内の getHirPositionpublic void setHirPosition(LabeledStmt pHirPosition)
Label 内の setHirPositionpHirPosition - HIR statement to which this is defined as its label.
set pHirPosition as the HIR position of this label.public IrList getHirRefList()
Label 内の getHirRefListpublic void resetHirRefList()
public void addToHirRefList(LabelNode pHirRefPosition)
pHirRefPosition - HIR refenence node of this label.
add pHirRefPosition to the reference list of this label.
If there is no HIR reference, return null.public boolean removeFromHirRefList(LabelNode labelnode)
labelnode -
public int getHirRefCount()
Label 内の getHirRefCountpublic BBlock getBBlock()
Label の記述:
Label 内の getBBlockpublic void setBBlock(BBlock pBBlock)
Label の記述:
Label 内の setBBlockpBBlock - basic block to be set.public int getLabelKind()
Label の記述:
Label 内の getLabelKindpublic void setLabelKind(int pLabelKind)
Label の記述:
Label 内の setLabelKindpublic boolean endPointLabel()
Label の記述:
Label 内の endPointLabelpublic HIR getOriginHir()
Label の記述:
Get the node that originate this label
such as if-node for then-label,
while-node for loop-back label, etc.
Correspondence between fLabelKind and fOriginHir ..
fLabelKind fOriginHir
ENTRY_LABEL : entry node
THEN_LABEL : IfStmt node
ELSE_LABEL : IfStmt node
END_IF_LABEL : IfStmt node
LOOP_COND_INIT_LABEL : LoopStmt node
LOOP_BACK_LABEL : LoopStmt node
LOOP_BODY_LABEL : LoopStmt node
LOOP_STEP_LABEL : LoopStmt node
LOOP_END_LABEL : LoopStmt node
SWITCH_CASE_LABEL : SwitchStmt node
SWITCH_DEFAULT_LABEL : SwitchStmt node
SWITCH_END_LABEL : SwitchStmt node
RETURN_POINT_LABEL : FunctionExp node
JUMP_LABEL : JumpStmt node
CONTINUE_LABEL : Predecessor node
SOURCE_LABEL : JumpStmt node if there is.
Label 内の getOriginHirpublic void setOriginHir(HIR pOriginHir)
Label の記述:
Label 内の setOriginHirpOriginHir - Origin node of this label.public void replaceHirLabel(Label pToLabel)
Label の記述:
Label 内の replaceHirLabelpToLabel - Label by which this label is to be replaced.public java.lang.String toString()
HasStringObject の記述:
HasStringObject 内の toStringSymImpl 内の toStringpublic java.lang.String toStringDetail()
Sym の記述:
Sym 内の toStringDetailSymImpl 内の toStringDetail
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||