coins.sym
クラス PointerTypeImpl

java.lang.Object
  |
  +--coins.sym.SymImpl
        |
        +--coins.sym.TypeImpl
              |
              +--coins.sym.PointerTypeImpl
すべての実装インタフェース:
java.lang.Cloneable, HasStringObject, PointerType, Sym, Sym0, Type

public class PointerTypeImpl
extends TypeImpl
implements PointerType

PointerTypeImpl Class


フィールドの概要
(パッケージプライベート)  long fElemCount
          Element count if this pointer is declared as an array.
(パッケージプライベート)  long fLowerBound
          Lower bound of array subscript if this pointer is declared as an array.
(パッケージプライベート)  Type fPointedType
          Type of pointed object.
 
クラス 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.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
 
コンストラクタの概要
PointerTypeImpl(SymRoot pSymRoot, java.lang.String pTypeName, Type pPointedType)
           
PointerTypeImpl(SymRoot pSymRoot, Type pPointedType)
           
PointerTypeImpl(SymRoot pSymRoot, Type pPointedType, long pElemCount, long pLowerBound)
           
 
メソッドの概要
 long getElemCount()
          getElemCount
 long getLowerBound()
          getLowerBound
 Type getPointedType()
          getPointedType Get the pointed type of this pointer type.
 boolean isCompatibleWith(Type pType)
          isCompatibleWith The origin type of this type and pType are compared to be equal or not.
 boolean isDeclaredAsArray()
          isDeclaredAsArray Test if this pointer type is declared as a popinter representing an array (as it is done in C language).
 
クラス coins.sym.TypeImpl から継承したメソッド
getAlignment, getAlignmentGap, getCompleteType, getDimension, getElemList, getElemListString, getElemListString, getEnumListString, getFinalOrigin, getOrigin, getSizeExp, getSizeValue, getTypeKind, getTypeRank, getUnqualifiedType, isBasicType, isConst, isFloating, isInteger, isRestrict, isScalar, isSizeEvaluable, isUnsigned, isVolatile, makeConstType, makeRestrictType, makeVolatileType, searchTypeCompatibleWithThis, setOrigin, setSizeExp, setSizeValue, setStaticTable, toString, toStringDetail, 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, getCompleteType, getDimension, getElemList, getElemListString, getFinalOrigin, getOrigin, 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, 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
 

フィールドの詳細

fPointedType

Type fPointedType
Type of pointed object.


fElemCount

long fElemCount
Element count if this pointer is declared as an array.


fLowerBound

long fLowerBound
Lower bound of array subscript if this pointer is declared as an array.

コンストラクタの詳細

PointerTypeImpl

public PointerTypeImpl(SymRoot pSymRoot,
                       java.lang.String pTypeName,
                       Type pPointedType)

PointerTypeImpl

public PointerTypeImpl(SymRoot pSymRoot,
                       Type pPointedType)

PointerTypeImpl

public PointerTypeImpl(SymRoot pSymRoot,
                       Type pPointedType,
                       long pElemCount,
                       long pLowerBound)
メソッドの詳細

getPointedType

public Type getPointedType()
getPointedType Get the pointed type of this pointer type. "this" should be a pointer type.

定義:
インタフェース PointerType 内の getPointedType
オーバーライド:
クラス TypeImpl 内の getPointedType
戻り値:
Type the pointed type of this type. If "this" is not a pointer, then return null.

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.

isDeclaredAsArray

public boolean isDeclaredAsArray()
インタフェース PointerType の記述:
isDeclaredAsArray Test if this pointer type is declared as a popinter representing an array (as it is done in C language).

定義:
インタフェース PointerType 内の isDeclaredAsArray
戻り値:
true if it is declared as array, else return false.

getElemCount

public long getElemCount()
インタフェース PointerType の記述:
getElemCount

定義:
インタフェース PointerType 内の getElemCount
戻り値:
the number of elements of the array represented by this pointer if this pointer represents an array; return 0 if this pointer does not represent array.

getLowerBound

public long getLowerBound()
インタフェース PointerType の記述:
getLowerBound

定義:
インタフェース PointerType 内の getLowerBound
戻り値:
lower bound of array subscript if this pointer represents an array; return 0 if this pointer does not represent array.