coins.sym
Class StringConstImpl

java.lang.Object
  extended bycoins.sym.SymImpl
      extended bycoins.sym.ConstImpl
          extended bycoins.sym.StringConstImpl
All Implemented Interfaces:
java.lang.Cloneable, Const, HasStringObject, StringConst, Sym, Sym0

public class StringConstImpl
extends ConstImpl
implements StringConst

StringConstImpl class


Field Summary
protected  int fLength
           
protected  java.lang.String fStringBody
           
 
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
StringConstImpl(SymRoot pSymRoot, java.lang.String pInternedName)
          StringConst constructor.
 
Method Summary
 double doubleValue()
          doubleValue
 java.lang.Object evaluateAsObject()
          Get the String object representing this constant.
 int getLength()
          getLength Get the length (number of bytes) of the string body.
 java.lang.String getStringBody()
          
  getStringBody Get the body of string (pure string)
      excluding quotes, etc., where the pure string
      is composed of characters excluding escape characters
      and heading, trailing delimiters.
 long longValue()
          longValue
 java.lang.String makeCstring()
          makeCstring Change the string body of this string to C string representation adding heading, trailing quotes and escape characters if required.
 java.lang.String makeCstringWithTrailing0()
          makeCstringWithTrailing0 Change the string body of this string to C string representation adding heading, trailing quotes and escape characters if required.
 java.lang.String makeJavaString()
           
 void setStringBody(java.lang.String pStringBody)
          setStringBody Set the body of the string and its length.
 java.lang.String stringValue()
           
 java.lang.String toString()
          Get the string image of object.
 java.lang.String toStringDetail()
          toStringDetail Get detailed attributes of this symbol in text which is not interned.
 
Methods inherited from class coins.sym.ConstImpl
charValue, floatValue, getConstSym, intValue, 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, 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
charValue, floatValue, getConstSym, intValue, shortValue
 
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, 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
 

Field Detail

fStringBody

protected java.lang.String fStringBody

fLength

protected int fLength
Constructor Detail

StringConstImpl

public StringConstImpl(SymRoot pSymRoot,
                       java.lang.String pInternedName)
StringConst constructor. Do not use this directly but use stringConst of Sym to make a StringConst instance.

Method Detail

longValue

public long longValue()
Description copied from interface: Const
longValue
  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:
longValue in interface Const
Returns:
the long int value of this constant.

doubleValue

public double doubleValue()
Description copied from interface: Const
doubleValue
  Get 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.

Specified by:
doubleValue in interface Const
Returns:
the double value of this constant.

stringValue

public java.lang.String stringValue()

getStringBody

public java.lang.String getStringBody()
Description copied from interface: StringConst
  getStringBody Get the body of string (pure string)
      excluding quotes, etc., where the pure string
      is composed of characters excluding escape characters
      and heading, trailing delimiters.
      If source language is C,
      heading and trailing quotes and escape
      characters are removed from the source expression,
      and trailing 0x00 (0x0000 in case of wchar_t) is
      also deleted.

Specified by:
getStringBody in interface StringConst

setStringBody

public void setStringBody(java.lang.String pStringBody)
Description copied from interface: StringConst
setStringBody Set the body of the string and its length. The parameter should be changed to pure string by using makeStringBody of SourceLanguage before calling this method.

Specified by:
setStringBody in interface StringConst
Parameters:
pStringBody - Body of the string.

makeJavaString

public java.lang.String makeJavaString()

makeCstring

public java.lang.String makeCstring()
Description copied from interface: StringConst
makeCstring Change the string body of this string to C string representation adding heading, trailing quotes and escape characters if required. Trailing \0 is not added as printable character. See coins.SourceLanguage.

Specified by:
makeCstring in interface StringConst
Returns:
the string changed in C form.

makeCstringWithTrailing0

public java.lang.String makeCstringWithTrailing0()
Description copied from interface: StringConst
makeCstringWithTrailing0 Change the string body of this string to C string representation adding heading, trailing quotes and escape characters if required. Trailing \0 is added as printable character with escape char. See coins.SourceLanguage.

Specified by:
makeCstringWithTrailing0 in interface StringConst
Returns:
the string changed in C form with trailing \0 as printable character.

getLength

public int getLength()
Description copied from interface: StringConst
getLength Get the length (number of bytes) of the string body.

Specified by:
getLength in interface StringConst

toString

public java.lang.String toString()
Description copied from interface: HasStringObject
Get the string image of object.

Specified by:
toString in interface HasStringObject
Overrides:
toString in class SymImpl

toStringDetail

public java.lang.String toStringDetail()
Description copied from interface: Sym
toStringDetail Get detailed attributes of this symbol in text which is not interned.

Specified by:
toStringDetail in interface Sym
Overrides:
toStringDetail in class SymImpl

evaluateAsObject

public java.lang.Object evaluateAsObject()
Description copied from interface: StringConst
Get the String object representing this constant.

Specified by:
evaluateAsObject in interface StringConst
Overrides:
evaluateAsObject in class ConstImpl