coins.sym
Interface RegionType

All Superinterfaces:
Sym, Sym0, Type
All Known Implementing Classes:
RegionTypeImpl

public interface RegionType
extends Type

RegionType interface. See regionType of Sym.


Field Summary
 
Fields inherited from 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
 
Fields inherited from interface coins.sym.Sym
KIND_NAME, VISIBILITY
 
Fields inherited from interface 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
 
Method Summary
 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()
           
 
Methods inherited from interface 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
 
Methods inherited from interface 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
 
Methods inherited from interface 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
 

Method Detail

addSubp

public int addSubp(Subp pSubp,
                   SymTable pRegionSymTable)

getSubpList

public IrList getSubpList()

getCurrentRegionSymTable

public SymTable getCurrentRegionSymTable()
getCurrentRegionSymTable

Returns:
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)
getRegionSymTable

Parameters:
pSubp - Subprogram for which the corresponding symbol table is to be gotten.
Returns:
the symbol table containing the definitions of elements declared in pSubp to be included in the region.

getRegionSymTable

public SymTable getRegionSymTable(int pIndex)
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.

Parameters:
pIndex - index of the symbol tabel to be gotten in the list of the symbol tables.
Returns:
the pIndex-th symbol table containing the definitions of elements to be included in the region.

addElemToCurrentRegion

public void addElemToCurrentRegion(Elem pElem)
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.

Parameters:
pElem - Element to be included in this region.

getRegionElemList

public IrList getRegionElemList(Subp pSubp)

finishCurrentRegion

public 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.


getRegionVar

public Var getRegionVar()