|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
内の getSymTable
public void setSymTable(SymTable pSymTable)
StructType
の記述:
StructType
内の setSymTable
public IrList getElemList()
StructType
の記述:
StructType
内の getElemList
TypeImpl
内の getElemList
public void addElem(Elem pElem)
StructType
の記述:
StructType
内の addElem
pElem
- 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
内の finishStructType
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.Exp computeStructSizeExp(IrList pElemList)
Exp addStructSizeExp(Elem pElem)
public int getAlignment()
Type
の記述:
Type
内の getAlignment
TypeImpl
内の getAlignment
public void setAlignment(int pAlignment)
StructType
の記述:
StructType
内の setAlignment
pAlignment
- alignment value to be set.public Sym getTag()
StructType
内の getTag
public void setTag(Sym pTag)
StructType
内の setTag
public boolean isCompatibleWith(Type pType)
Type
の記述:
Type
内の isCompatibleWith
TypeImpl
内の isCompatibleWith
pType
- a type to be compared with this type.
public Type getCompleteType()
Type
の記述:
Type
内の getCompleteType
TypeImpl
内の getCompleteType
public java.lang.String toStringDetail()
Sym
の記述:
Sym
内の toStringDetail
TypeImpl
内の toStringDetail
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |