|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.sym.SymImpl
|
+--coins.sym.TypeImpl
|
+--coins.sym.StructTypeImpl
StructTypeImpl Class
| フィールドの概要 | |
protected int |
fAlignment
|
protected IrList |
fElemList
|
protected SymTable |
fLocalSymTable
|
protected Sym |
fTag
|
| クラス coins.sym.TypeImpl から継承したフィールド |
fCompleteType, fConst, fOrigin, fRestrict, fTypeCore, fTypeKind, fVolatile |
| クラス coins.sym.SymImpl から継承したフィールド |
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot |
| インタフェース coins.sym.Sym から継承したフィールド |
KIND_NAME, VISIBILITY |
| コンストラクタの概要 | |
StructTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
StructTypeImpl constructor Make an instance of StructType in symRoot.symTableCurrent. |
|
| メソッドの概要 | |
void |
addElem(Elem pElem)
addElem Add element to this struct type. |
(パッケージプライベート) Exp |
addStructSizeExp(Elem pElem)
|
(パッケージプライベート) Exp |
computeStructSizeExp(IrList pElemList)
|
void |
finishStructType(boolean pSeparately)
finishStructType: Finish to define this struct 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()
Get the symbol table local to this structure. |
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 //##47 Set alignment value to be equal to the pAlignment. |
void |
setSymTable(SymTable pSymTable)
Set the symbol table local to this structure. |
void |
setTag(Sym pTag)
|
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.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 |
| インタフェース 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 |
| フィールドの詳細 |
protected IrList fElemList
protected SymTable fLocalSymTable
protected Sym fTag
protected int fAlignment
| コンストラクタの詳細 |
public StructTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
pSymRoot - SymRoot instance to be passed to the
resultant type.pTypeName - Name of the structure type.
It shoul be pElemList - List of elements of the structure.
If it is not known, then give null and later addElem()
and finishStructType().| メソッドの詳細 |
public SymTable getSymTable()
StructType の記述:
StructType 内の getSymTablepublic void setSymTable(SymTable pSymTable)
StructType の記述:
StructType 内の setSymTablepublic IrList getElemList()
StructType の記述:
StructType 内の getElemListTypeImpl 内の getElemListpublic void addElem(Elem pElem)
StructType の記述:
StructType 内の addElempElem - Element of this struct type.public void finishStructType(boolean pSeparately)
StructType の記述: 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.
StructType 内の finishStructTypepSeparately - 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.Exp computeStructSizeExp(IrList pElemList)
Exp addStructSizeExp(Elem pElem)
public int getAlignment()
Type の記述:
Type 内の getAlignmentTypeImpl 内の getAlignmentpublic void setAlignment(int pAlignment)
StructType の記述:
StructType 内の setAlignmentpAlignment - alignment value to be set.public Sym getTag()
StructType 内の getTagpublic void setTag(Sym pTag)
StructType 内の setTagpublic boolean isCompatibleWith(Type pType)
Type の記述:
Type 内の isCompatibleWithTypeImpl 内の isCompatibleWithpType - a type to be compared with this type.
public Type getCompleteType()
Type の記述:
Type 内の getCompleteTypeTypeImpl 内の getCompleteTypepublic java.lang.String toStringDetail()
Sym の記述:
Sym 内の toStringDetailTypeImpl 内の toStringDetail
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||