coins.sym
インタフェース StructType
- すべてのスーパーインタフェース:
- Sym, Sym0, Type
- 既知の実装クラスの一覧:
- StructTypeImpl
- public interface StructType
- extends Type
StructType interface
See structType of Sym 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 |
| インタフェース coins.sym.Sym0 から継承したフィールド |
FLAG_ADDRESS_TAKEN, FLAG_CASTLESS_SUBP, FLAG_COMMON, FLAG_COMPLEX_STRUCT, FLAG_DERIVED_SYM, FLAG_GENERATED_SYM, FLAG_INCOMPLETE_TYPE, FLAG_POINTER_OPERATION, FLAG_REGION_ELEM, FLAG_RESERVED_NAME, FLAG_SIZEOF_TAKEN, FLAG_UNFIXED_SIZE, FLAG_UNIFORM_SIZE, FLAG_VALUE_IS_ASSIGNED, KIND_AREG, KIND_BOOL_CONST, KIND_CHAR_CONST, KIND_CONST_FIRST, KIND_CONST_LAST, KIND_ELEM, KIND_EXP_ID, KIND_FLOAT_CONST, KIND_INT_CONST, KIND_LABEL, KIND_MREG, KIND_NAMED_CONST, KIND_OTHER, KIND_PARAM, KIND_REMOVED, KIND_STRING_CONST, KIND_TAG, KIND_TYPE, KIND_VAR, SYM_COMPILE_UNIT, SYM_EXTERN, SYM_PRIVATE, SYM_PROTECTED, SYM_PUBLIC |
| インタフェース 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 |
| インタフェース coins.sym.Sym から継承したメソッド |
baseType, boolConst, charConst, defineVar, derivedSym, floatConst, getDefinedColumn, getDefinedInName, getDefinedLine, getInf, getNameOrNull, getOrAddInf, getOriginalSym, getOriginalSym, getPureName, getSymKindName, getWork, intConst, intObject, isRemoved, makeCstring, makeCstringWithTrailing0, makeEnumTypeName, makeJavaString, makeStructUnionTypeName, makeSubpTypeName, makeVectorTypeName, makeVectorTypeName, makeVectorTypeName, namedConst, pointerType, pointerType, pointerType, regionType, remove, setDefinedFile, setDefinedIn, setDefinedLine, setRecordedIn, setSymKind, setSymType, setUniqueNameSym, setWork, stringConstFromQuotedString, symbol, toStringDetail, toStringShort, vectorType, vectorType, vectorType, vectorTypeUnfixed |
| インタフェース 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 |
getSymTable
public SymTable getSymTable()
setSymTable
public void setSymTable(SymTable pSymTalbe)
getElemList
public IrList getElemList()
- getElemList
- 定義:
- インタフェース
Type 内の getElemList
- 戻り値:
- the list of elements for this structure.
addElem
public void addElem(Elem pElem)
- addElem Add element to this struct type.
addElem is called after instantiating StructType without
giving element list. After successive call of addElem,
finishStructType should be called.
See structType of Sym, finishStructType.
- パラメータ:
pElem - Element of this struct type.
finishStructType
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.
getTag
public Sym getTag()
setTag
public void setTag(Sym pTag)
setAlignment
public void setAlignment(int pAlignment)
- setAlignment //##47
Set alignment value to be equal to the pAlignment.
Default value of alignment is set to the alignment of
element type with the largest alignment value.
- パラメータ:
pAlignment - alignment value to be set.