coins.sym
クラス RegionTypeImpl

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

public class RegionTypeImpl
extends TypeImpl
implements RegionType

RegionTypeImpl Class


フィールドの概要
protected  IrList fCurrentElemList
           
protected  SymTable fCurrentSymTable
           
protected  IrList fListOfElemList
           
protected  java.lang.String fRegionName
           
protected  Var fRegionVar
           
protected  int fStorageClass
           
protected  IrList fSubpList
           
protected  IrList fSymTableList
           
protected  Sym fTag
           
 
クラス 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
 
コンストラクタの概要
RegionTypeImpl(SymRoot pSymRoot, java.lang.String pRegionName, int pStorageClass)
          RegionTypeImpl constructor Make an instance of RegionType in symRoot.symTableRoot.
 
メソッドの概要
 void addElemToCurrentRegion(Elem pElem)
          addElemToCurrentRegion Add element pElem to this region.
 int addSubp(Subp pSubp, SymTable pRegionSymTable)
           
 void finishCurrentRegion()
           finishCurrentRegion Close the current region (this region) by setting all required fields so that methods getRegionElemList, getRegionVar, getSizeValue of this RegionType and evaluateDisp() of region elements become effective.
 SymTable getCurrentRegionSymTable()
          getCurrentRegionSymTable
 IrList getRegionElemList(Subp pSubp)
           
 SymTable getRegionSymTable(int pIndex)
          getRegionSymTable Get pIndex-th symbol table from the list of symbol tables of this RegionType.
 SymTable getRegionSymTable(Subp pSubp)
          getRegionSymTable
 Var getRegionVar()
           
 IrList getSubpList()
           
 Sym getTag()
           
 void setTag(Sym pTag)
           
 java.lang.String toStringDetail()
          toStringDetail Get detailed attributes of this symbol in text which is not interned.
 
クラス coins.sym.TypeImpl から継承したメソッド
getAlignment, getAlignmentGap, getCompleteType, getDimension, getElemList, getElemListString, getElemListString, getEnumListString, getFinalOrigin, getOrigin, getPointedType, getSizeExp, getSizeValue, getTypeKind, getTypeRank, getUnqualifiedType, isBasicType, isCompatibleWith, 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, getCompleteType, getDimension, getElemList, 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, 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
 

フィールドの詳細

fSubpList

protected IrList fSubpList

fSymTableList

protected IrList fSymTableList

fListOfElemList

protected IrList fListOfElemList

fCurrentElemList

protected IrList fCurrentElemList

fCurrentSymTable

protected SymTable fCurrentSymTable

fRegionVar

protected Var fRegionVar

fRegionName

protected java.lang.String fRegionName

fTag

protected Sym fTag

fStorageClass

protected int fStorageClass
コンストラクタの詳細

RegionTypeImpl

public RegionTypeImpl(SymRoot pSymRoot,
                      java.lang.String pRegionName,
                      int pStorageClass)
RegionTypeImpl constructor Make an instance of RegionType in symRoot.symTableRoot. It is not recommended to use this constructor directly but use regionType method of Sym because there are several restrictions in using this constructor. List of elements should be given by calling addElem method repeatedly and then call finishRegionType().

パラメータ:
pSymRoot - SymRoot instance to be passed to the resultant type.
pRegionName - Name of the region type. It shoul be . If it has no region name, generate it by generateTag() of SymTable.
pStorageClass - give VAR_STATIC or VAR_AUTO of Var interface.
メソッドの詳細

addSubp

public int addSubp(Subp pSubp,
                   SymTable pRegionSymTable)
定義:
インタフェース RegionType 内の addSubp

getCurrentRegionSymTable

public SymTable getCurrentRegionSymTable()
インタフェース RegionType の記述:
getCurrentRegionSymTable

定義:
インタフェース RegionType 内の getCurrentRegionSymTable
戻り値:
the symbol table containing the definitions of elements to be included in the region in the current subprogram (symRoot.subpCurrent).

getRegionSymTable

public SymTable getRegionSymTable(Subp pSubp)
インタフェース RegionType の記述:
getRegionSymTable

定義:
インタフェース RegionType 内の getRegionSymTable
パラメータ:
pSubp - Subprogram for which the corresponding symbol table is to be gotten.
戻り値:
the symbol table containing the definitions of elements declared in pSubp to be included in the region.

getRegionSymTable

public SymTable getRegionSymTable(int pIndex)
インタフェース RegionType の記述:
getRegionSymTable Get pIndex-th symbol table from the list of symbol tables of this RegionType. This method is mainly used to get the symbol table corresponding to the region declared outside subprogram.

定義:
インタフェース RegionType 内の getRegionSymTable
パラメータ:
pIndex - index of the symbol tabel to be gotten in the list of the symbol tables.
戻り値:
the pIndex-th symbol table containing the definitions of elements to be included in the region.

getSubpList

public IrList getSubpList()
定義:
インタフェース RegionType 内の getSubpList

addElemToCurrentRegion

public void addElemToCurrentRegion(Elem pElem)
インタフェース RegionType の記述:
addElemToCurrentRegion Add element pElem to this region. addElem is called after instantiating RegionType. After successive call of addElemToCurrentRegion, finishCurrentRegion should be called. Sym.FLAG_REGION_ELEM is set true for pElem. See regionType of Sym.

定義:
インタフェース RegionType 内の addElemToCurrentRegion
パラメータ:
pElem - Element to be included in this region.

getRegionElemList

public IrList getRegionElemList(Subp pSubp)
定義:
インタフェース RegionType 内の getRegionElemList

finishCurrentRegion

public void finishCurrentRegion()
インタフェース RegionType の記述:
  finishCurrentRegion
  Close the current region (this region) by setting all required fields
  so that methods
    getRegionElemList, getRegionVar, getSizeValue of this RegionType
  and
    evaluateDisp() of region elements
  become effective.

定義:
インタフェース RegionType 内の finishCurrentRegion

getRegionVar

public Var getRegionVar()
定義:
インタフェース RegionType 内の getRegionVar

getTag

public Sym getTag()

setTag

public void setTag(Sym pTag)

toStringDetail

public java.lang.String toStringDetail()
インタフェース Sym の記述:
toStringDetail Get detailed attributes of this symbol in text which is not interned.

定義:
インタフェース Sym 内の toStringDetail
オーバーライド:
クラス TypeImpl 内の toStringDetail