coins.sym
Interface VectorType

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

public interface VectorType
extends Type

VectorType Interface for vector type.


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
 long getElemCount()
          getElemCount Get the number of elements in the vector.
 Exp getElemCountExp()
          getElemCountExp Get the expression representing the number of elements in the vector.
 Type getElemType()
          getElemType
 long getLowerBound()
          getLowerBound
 Exp getLowerBoundExp()
          getLowerBoundExp
 boolean isRectangularArray()
          isRectangularArray
 void setAlignment(int pAlignment)
          setAlignment Set alignment value to be equal to the pAlignment which should be greater or equal to the alignment of element type.
 
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

getElemType

public Type getElemType()
getElemType

Returns:
the type of vector element.

getElemCountExp

public Exp getElemCountExp()
getElemCountExp Get the expression representing the number of elements in the vector. If the number of elements is given as constant, then this method returns ConstNode expression representing the value.

Returns:
the expression representing the number of elements in the vector.

getElemCount

public long getElemCount()
getElemCount Get the number of elements in the vector. If the number is not yet fixed or it is given as expression containing variable, 0 will be returned.

Returns:
the number of elements in the vector.

getLowerBoundExp

public Exp getLowerBoundExp()
getLowerBoundExp

Returns:
the expression representing the lower bound of index for this vector.

getLowerBound

public long getLowerBound()
getLowerBound

Returns:
the lower bound of index for this vector. If the lower bound is not specified, 0 is assumed.

isRectangularArray

public boolean isRectangularArray()
isRectangularArray

Returns:
true if this is a vector of constant number of elements whose type has fixed uniform size, where fixed uniform size elements are: basic type (other than PointerType, SubpType) EnumType StructType/UnionType whose elements are all fixed uniform size VectorType with true value for RectangularArray()

setAlignment

public void setAlignment(int pAlignment)
setAlignment Set alignment value to be equal to the pAlignment which should be greater or equal to the alignment of element type. Default value of alignment is set to the alignment of element type when an instance of VectorType is created.

Parameters:
pAlignment - alignment value to be set.