|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.sym.SymImpl
coins.sym.TypeImpl
coins.sym.UnionTypeImpl
UnionTypeImpl Class
| Field Summary | |
protected int |
fAlignment
|
protected IrList |
fElemList
|
protected SymTable |
fLocalSymTable
|
protected Sym |
fTag
|
| Fields inherited from class coins.sym.TypeImpl |
fCompleteType, fConst, fOrigin, fRestrict, fTypeCore, fTypeKind, fVolatile |
| 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.Type |
KIND_ADDRESS, KIND_ALIGNMENT, KIND_BASE_LIM, KIND_BOOL, KIND_CHAR, KIND_DEFINED, KIND_DOUBLE, KIND_ENUM, KIND_FLOAT, KIND_FLOAT_LOWER_LIM, KIND_FLOAT_UPPER_LIM, KIND_INT, KIND_INT_UPPER_LIM, KIND_LONG, KIND_LONG_DOUBLE, KIND_LONG_LONG, KIND_OFFSET, KIND_POINTER, KIND_RANKS, KIND_REGION, KIND_SHORT, KIND_STRING, KIND_STRUCT, KIND_SUBP, KIND_U_CHAR, KIND_U_INT, KIND_U_LONG, KIND_U_LONG_LONG, KIND_U_SHORT, KIND_UNDEF, KIND_UNION, KIND_UNSIGNED_LOWER_LIM, KIND_VECTOR, KIND_VOID, KIND_WCHAR |
| Fields inherited from interface coins.sym.Sym |
KIND_NAME, VISIBILITY |
| Constructor Summary | |
UnionTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
UnionTypeImpl constructor Make an instance of UnionType in symRoot.symTableCurrent. |
|
| Method Summary | |
void |
addElem(Elem pElem)
addElem Add element to this union type. |
void |
finishUnionType(boolean pSeparately)
finishUnionType Finish to define this union type. |
int |
getAlignment()
getAlignment Get alignment value for this type. |
Type |
getCompleteType()
getCompleteType Get complete type corresponding to this type. |
IrList |
getElemList()
getElemList |
SymTable |
getSymTable()
|
Sym |
getTag()
|
boolean |
isCompatibleWith(Type pType)
isCompatibleWith The origin type of this type and pType are compared to be equal or not. |
void |
setAlignment(int pAlignment)
setAlignment Set alignment value to be equal to the pAlignment. |
void |
setSymTable(SymTable pSymTable)
|
void |
setTag(Sym pTag)
|
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.Type |
getAlignmentGap, getDimension, getElemListString, getFinalOrigin, getOrigin, getPointedType, getSizeExp, getSizeValue, getTypeKind, getTypeRank, getUnqualifiedType, isBasicType, isConst, isFloating, isInteger, isRestrict, isScalar, isSizeEvaluable, isUnsigned, isVolatile, makeConstType, makeRestrictType, makeVolatileType, setOrigin, setSizeExp, setSizeValue |
| 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 |
protected IrList fElemList
protected SymTable fLocalSymTable
protected Sym fTag
protected int fAlignment
| Constructor Detail |
public UnionTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
pSymRoot - SymRoot instance to be passed to the
resultant type.pTypeName - Name of the union type.
It shoul be pElemList - List of elements of the union.
If it is not known, then give null and later addElem()
and finishUnionType().| Method Detail |
public SymTable getSymTable()
getSymTable in interface UnionTypepublic void setSymTable(SymTable pSymTable)
setSymTable in interface UnionTypepublic IrList getElemList()
UnionType
getElemList in interface UnionTypegetElemList in class TypeImplpublic void addElem(Elem pElem)
UnionType
addElem in interface UnionTypepElem - Element of this union type.public void finishUnionType(boolean pSeparately)
UnionType
finishUnionType in interface UnionTypepSeparately - false if UnionType is constructed with complete
element list, true if UnionType is constructed as incomplete
and sequence of addElem call is performed and then finishUnionType
is called.public int getAlignment()
Type
getAlignment in interface TypegetAlignment in class TypeImplpublic Sym getTag()
getTag in interface UnionTypepublic void setTag(Sym pTag)
setTag in interface UnionTypepublic boolean isCompatibleWith(Type pType)
Type
isCompatibleWith in interface TypeisCompatibleWith in class TypeImplpublic Type getCompleteType()
Type
getCompleteType in interface TypegetCompleteType in class TypeImplpublic void setAlignment(int pAlignment)
UnionType
setAlignment in interface UnionTypepAlignment - alignment value to be set.public java.lang.String toStringDetail()
Sym
toStringDetail in interface SymtoStringDetail in class TypeImpl
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||