|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.sym.SymImpl
coins.sym.LabelImpl
class Label
| Field Summary | |
(package private) BBlock |
fBBlock
|
(package private) LabeledStmt |
fHIRpos
|
(package private) IrList |
fHirRefList
|
(package private) int |
fLabelKind
|
(package private) IrList |
fLirRefList
|
(package private) HIR |
fOriginHir
|
| Fields inherited from class coins.sym.SymImpl |
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot |
| Fields inherited from interface 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 |
| Fields inherited from interface coins.sym.Sym |
KIND_NAME, VISIBILITY |
| Constructor Summary | |
LabelImpl(SymRoot pSymRoot,
java.lang.String pLabelName,
Sym pDefinedIn)
|
|
| Method Summary | |
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 |
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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface 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 |
| Field Detail |
IrList fHirRefList
IrList fLirRefList
LabeledStmt fHIRpos
int fLabelKind
HIR fOriginHir
BBlock fBBlock
| Constructor Detail |
public LabelImpl(SymRoot pSymRoot,
java.lang.String pLabelName,
Sym pDefinedIn)
| Method Detail |
public LabeledStmt getHirPosition()
getHirPosition in interface Labelpublic void setHirPosition(LabeledStmt pHirPosition)
setHirPosition in interface LabelpHirPosition - HIR statement to which this is defined as its label.
set pHirPosition as the HIR position of this label.public IrList getHirRefList()
getHirRefList in interface Labelpublic 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()
getHirRefCount in interface Labelpublic BBlock getBBlock()
Label
getBBlock in interface Labelpublic void setBBlock(BBlock pBBlock)
Label
setBBlock in interface LabelpBBlock - basic block to be set.public int getLabelKind()
Label
getLabelKind in interface Labelpublic void setLabelKind(int pLabelKind)
Label
setLabelKind in interface Labelpublic boolean endPointLabel()
Label
endPointLabel in interface Labelpublic 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.
getOriginHir in interface Labelpublic void setOriginHir(HIR pOriginHir)
Label
setOriginHir in interface LabelpOriginHir - Origin node of this label.public void replaceHirLabel(Label pToLabel)
Label
replaceHirLabel in interface LabelpToLabel - Label by which this label is to be replaced.public java.lang.String toString()
HasStringObject
toString in interface HasStringObjecttoString in class SymImplpublic java.lang.String toStringDetail()
Sym
toStringDetail in interface SymtoStringDetail in class SymImpl
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||