coins.sym
クラス EnumTypeImpl
java.lang.Object
|
+--coins.sym.SymImpl
|
+--coins.sym.TypeImpl
|
+--coins.sym.EnumTypeImpl
- すべての実装インタフェース:
- java.lang.Cloneable, EnumType, HasStringObject, Sym, Sym0, Type
- public class EnumTypeImpl
- extends TypeImpl
- implements EnumType
| クラス coins.sym.SymImpl から継承したフィールド |
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot |
| インタフェース 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 |
|
コンストラクタの概要 |
EnumTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
EnumTypeImpl constructor
Make an instance of EnumType in symRoot.symTableCurrent.
|
| クラス coins.sym.TypeImpl から継承したメソッド |
getAlignment, getAlignmentGap, getDimension, getElemListString, getElemListString, getEnumListString, getFinalOrigin, getOrigin, getPointedType, getSizeExp, getSizeValue, getTypeKind, getTypeRank, getUnqualifiedType, isBasicType, isConst, isFloating, isInteger, isRestrict, isScalar, isSizeEvaluable, isUnsigned, isVolatile, makeConstType, makeRestrictType, makeVolatileType, searchTypeCompatibleWithThis, setOrigin, setSizeExp, setSizeValue, setStaticTable, toString, toStringShort |
| クラス coins.sym.SymImpl から継承したメソッド |
bareStringConst, baseType, boolConst, charConst, charConst, charConst, definedType, definedType, defineElem, defineLabel, defineParam, defineRegionVar, defineSubp, defineVar, defineVar, derivedSym, enumType, enumType, floatConst, floatConst, getDefinedColumn, getDefinedFile, getDefinedIn, getDefinedInName, getDefinedLine, getFlag, getInf, getName, getNameOrNull, getNextSym, getOrAddInf, getOriginalSym, getOriginalSym, getPureName, getRecordedIn, getSourceInf, getSymKind, getSymKindName, getSymType, getUniqueName, getWork, intConst, intConst, intObject, isGlobal, isHIR, isRemoved, isSym, linkSym, makeCstring, makeCstringWithTrailing0, makeEnumTypeName, makeExpString, makeJavaString, makeStructUnionTypeName, makeSubpTypeName, makeSubpTypeName, makeVectorTypeName, makeVectorTypeName, makeVectorTypeName, namedConst, namedConst, pointerType, pointerType, pointerType, pointerType, pointerType, print, print, regionType, regionType, remove, setDefinedFile, setDefinedIn, setDefinedLine, setFlag, setOriginalSym, setParameters, setRecordedIn, setSourceInf, setSymKind, setSymType, setUniqueNameSym, setWork, stringConst, stringConstFromQuotedString, structType, structType, subpType, subpType, symbol, unionType, unionType, vectorType, vectorType, vectorType, vectorType, vectorTypeUnfixed, vectorTypeUnfixed |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| インタフェース coins.sym.Type から継承したメソッド |
getAlignment, 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.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, 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 |
fElemList
protected IrList fElemList
fTag
protected Sym fTag
EnumTypeImpl
public EnumTypeImpl(SymRoot pSymRoot,
java.lang.String pTypeName,
IrList pElemList)
- EnumTypeImpl constructor
Make an instance of EnumType in symRoot.symTableCurrent.
It is not recommended to use this constructor directly
but use enumType method of HIR because there are
several restrictions in using this constructor.
- パラメータ:
pSymRoot - SymRoot instance to be passed to the
resultant type.pTypeName - Name of the enum type.
It shoul be where tagName is the
tag name the enum. If it has no tag name, generate it
by generateTag() of SymTable.pElemList - List of elements of the enum.
If it is not known, then give null and later addElem()
and finishEnumType().
getEnumSeqNumber
public int getEnumSeqNumber()
- 定義:
- インタフェース
EnumType 内の getEnumSeqNumber
setEnumSeqNumber
public void setEnumSeqNumber(int pNumber)
- 定義:
- インタフェース
EnumType 内の setEnumSeqNumber
getElemList
public IrList getElemList()
- インタフェース
Type の記述:
- getElemList:
Get the list of struct/union elements.
The elements of the list is an instance of Elem.
If this type is neither struct nore union,
then null is returned.
- 定義:
- インタフェース
Type 内の getElemList - オーバーライド:
- クラス
TypeImpl 内の getElemList
- 戻り値:
- the list of elements or null.
addElem
public void addElem(NamedConst pElem)
- インタフェース
EnumType の記述:
- addElem
Add element to this enum type.
addElem is called after instantiating EnumType without
giving element list. After successive call of addElem,
finishEnumType should be called.
See enum of Sym.
- 定義:
- インタフェース
EnumType 内の addElem
- パラメータ:
pElem - Element of this enum type.
finishEnumType
public void finishEnumType(boolean pSeparately)
- インタフェース
EnumType の記述:
- Finish to define this enum type.
After successive call of addElem,
finishEnumType should be called.
See enum of Sym.
- 定義:
- インタフェース
EnumType 内の finishEnumType
- パラメータ:
pSeparately - true after successive call of addElem,
false if element list is given in bundle.
getTag
public Sym getTag()
- 定義:
- インタフェース
EnumType 内の getTag
setTag
public void setTag(Sym pTag)
- 定義:
- インタフェース
EnumType 内の setTag
isCompatibleWith
public boolean isCompatibleWith(Type pType)
- インタフェース
Type の記述:
- isCompatibleWith
The origin type of this type and pType are compared to be
equal or not.
Strict type compatibility check sh
ould be done in
the semantic analyzer of each language.
This method can not afford to do strict semantic check
considering language specifications.
- 定義:
- インタフェース
Type 内の isCompatibleWith - オーバーライド:
- クラス
TypeImpl 内の isCompatibleWith
- パラメータ:
pType - a type to be compared with this type.
- 戻り値:
- true if this type is compatible with pType.
getCompleteType
public Type getCompleteType()
- インタフェース
Type の記述:
- getCompleteType
Get complete type corresponding to this type.
If this is a complete type, return this type.
If this is incomplete, find complete type corresponding to this type.
If no complete type is found for this type, return null.
If the type is neither VectorType, StructType, UnionType,
nore EnumType, then return this type.
- 定義:
- インタフェース
Type 内の getCompleteType - オーバーライド:
- クラス
TypeImpl 内の getCompleteType
toStringDetail
public java.lang.String toStringDetail()
- インタフェース
Sym の記述:
- toStringDetail
Get detailed attributes of this symbol in text which is not
interned.
- 定義:
- インタフェース
Sym 内の toStringDetail - オーバーライド:
- クラス
TypeImpl 内の toStringDetail