|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
StructType interface See structType of Sym interface.
| Field Summary |
| 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 |
| Method Summary | |
void |
addElem(Elem pElem)
addElem Add element to this struct type. |
void |
finishStructType(boolean pSeparately)
finishStructType: Finish to define this struct type. |
IrList |
getElemList()
getElemList |
SymTable |
getSymTable()
Get the symbol table local to this structure. |
Sym |
getTag()
|
void |
setAlignment(int pAlignment)
setAlignment //##47 Set alignment value to be equal to the pAlignment. |
void |
setSymTable(SymTable pSymTalbe)
Set the symbol table local to this structure. |
void |
setTag(Sym pTag)
|
| Methods inherited from interface coins.sym.Type |
getAlignment, getAlignmentGap, getCompleteType, getDimension, getElemListString, getFinalOrigin, getOrigin, getPointedType, getSizeExp, getSizeValue, getTypeKind, getTypeRank, getUnqualifiedType, isBasicType, isCompatibleWith, 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 |
| Method Detail |
public SymTable getSymTable()
public void setSymTable(SymTable pSymTalbe)
public IrList getElemList()
getElemList in interface Typepublic void addElem(Elem pElem)
pElem - Element of this struct type.public void finishStructType(boolean pSeparately)
finishStructType: Finish to define this struct type. After successive call of addElem, finishStructType should be called. This will make the struct type name and compute displacement of each elements, and then compute the size of this struct. See structType of Sym, addElem. The alignment of a struct type is the same to that of its element having the largest alignment among the elements in the structure. Elements of the struct type is aligned according to the alignment of element type. This may cause to place gap between preceeding element. The size of the struct type is multiple of the alignment value of the struct type, thus, there may be a gap at the tail of the struct type if the last element has small alignment value. finishStructType also allocates bit fields (set bit field offset). As for the allocation of bit field, see the explanation of setBitFieldOffset method of the Elem interface.
pSeparately - false if StructType is constructed with complete
element list, true if StructType is constructed as incomplete
and sequence of addElem call is performed and then finishStructType
is called.public Sym getTag()
public void setTag(Sym pTag)
public void setAlignment(int pAlignment)
pAlignment - alignment value to be set.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||