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.Sym から継承したフィールド
KIND_NAME, VISIBILITY
 
インタフェース 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
 
メソッドの概要
 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)
           
 
インタフェース 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()
Get the symbol table local to this structure.

戻り値:
the local symbol table.

setSymTable

public void setSymTable(SymTable pSymTalbe)
Set the symbol table local to this structure.


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.