coins.sym
Class ConstImpl

java.lang.Object
  extended bycoins.sym.SymImpl
      extended bycoins.sym.ConstImpl
All Implemented Interfaces:
java.lang.Cloneable, Const, HasStringObject, Sym, Sym0
Direct Known Subclasses:
BoolConstImpl, CharConstImpl, FloatConstImpl, IntConstImpl, NamedConstImpl, StringConstImpl

public abstract class ConstImpl
extends SymImpl
implements Const

Constant class


Field Summary
 
Fields inherited from class coins.sym.SymImpl
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot
 
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_SUBP, KIND_TAG, KIND_TYPE, KIND_VAR, SYM_COMPILE_UNIT, SYM_EXTERN, SYM_PRIVATE, SYM_PROTECTED, SYM_PUBLIC
 
Constructor Summary
ConstImpl(SymRoot pSymRoot)
           
 
Method Summary
 char charValue()
           charValue Get the value of this constant.
 java.lang.Object evaluateAsObject()
          Get the value of this constant symbol.
 float floatValue()
           floatValue Get floating/double value of this constant.
 Const getConstSym()
          getConstSym
 int intValue()
           intValue Get the value of this constant.
 short shortValue()
          shortValue
 
Methods inherited from class 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, toString, toStringDetail, toStringShort, unionType, unionType, vectorType, vectorType, vectorType, vectorType, vectorTypeUnfixed, vectorTypeUnfixed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface coins.sym.Const
doubleValue, longValue
 
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
 

Constructor Detail

ConstImpl

public ConstImpl(SymRoot pSymRoot)
Method Detail

intValue

public int intValue()
 intValue
  Get the value of this constant.
  If type conversion is required, the returned value is the
  result of conversion.
  "this" should be a constant of type integer.

Specified by:
intValue in interface Const
Returns:
int the integer value of this constant.

shortValue

public short shortValue()
Description copied from interface: Const
shortValue
  Get the value of this constant.
  If type conversion is required, the returned value is the
  result of conversion.
  "this" should be a constant of type integer, short integer,
  long integer, or character of either signed or unsigned.

Specified by:
shortValue in interface Const
Returns:
the short int value of this constant.

charValue

public char charValue()
 charValue
  Get the value of this constant.
  If type conversion is required, the returned value is the
  result of conversion.
  "this" should be a constant of type char.

Specified by:
charValue in interface Const
Returns:
char the char value of this constant.

floatValue

public float floatValue()
 floatValue
  Get floating/double value of this constant.
  If type conversion is required, the returned value is the
  result of conversion.
  "this" should be a constant of type float, or double.
  floatValue  return the float  value of this constant.
  doubleValue return the double value of this constant.

Specified by:
floatValue in interface Const
Returns:
the float value of this constant.

getConstSym

public Const getConstSym()
Description copied from interface: Const
getConstSym
  If      boolean true  then return symRoot.intConst1
  else if boolean false then return symRoot.intConst0
  else if enumeration constant then return corresponding IntConst
  else return this.

Specified by:
getConstSym in interface Const

evaluateAsObject

public java.lang.Object evaluateAsObject()
Get the value of this constant symbol. This method is overrided as follows class returned value IntConst Long FloatConst Double StringConst String Var Initail value (ExpListExp, etc.) if qualified by const, else null.

Specified by:
evaluateAsObject in interface Const
Returns:
the constant value of appropriate type.