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