Package gw.internal.gosu.parser
Class Symbol
java.lang.Object
gw.internal.gosu.parser.Symbol
- All Implemented Interfaces:
IFunctionSymbol,IHasType,IReducedSymbol,ISymbol
- Direct Known Subclasses:
AbstractDynamicSymbol,AmbiguousSymbol,CapturedSymbol,CommonSymbolsScope.LockedDownSymbol,CompileTimeExpressionParser.CompileTimeFieldSymbol,QueryPathRootSymbol,ReadOnlySymbol,ReducedSymbol.SyntheticSymbol,TemplateGenerator.LockedDownSymbol,ThisSymbol,TypedSymbol
Base class for all symbols in the symbol table.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprivate IExpressionprotected intprivate ModifierInfoprivate Stringprotected IStackProviderprotected ISymbolTableprivate ITypeprotected Objectprivate MutableBooleanstatic final IStackProvider -
Constructor Summary
ConstructorsConstructorDescriptionSymbol(String strName, IType type, IStackProvider stackProvider) Symbol(String strName, IType type, IStackProvider stackProvider, Object value) -
Method Summary
Modifier and TypeMethodDescriptionprotected intassignIndex(IScope scope) protected intassignIndexInStack(IScope scope) booleanbooleanThe symbol's default value e.g., a default parameter value for a function.Returns the Symbol's optional display name.intgetIndex()Creates a copy of this symbol without the value so that the empty symbol can be stored.intReturns the modifiers for this function symbolgetName()Returns the Symbol's name.Returns a description of arguments of the form ( < argName1 >, < argName2 >, etc.getType()Returns the Symbol's type.getValue()Returns the value assigned to this Symbol.private ObjectbooleanbooleanInvokes function.booleanbooleanbooleanisFinal()booleanbooleanisHide()booleanbooleanbooleanisLocal()booleanbooleanbooleanbooleanisPublic()booleanbooleanReturns true if the value of this function symbol is stored on the stack as a variablebooleanisStatic()booleanbooleanReturns true if this symbol is writable.makeCapturedSymbol(String strName, ISymbolTable symbolTable, IScope scope) voidrenameAsErrantDuplicate(int iIndex) voidvoidsetAbstract(boolean bAbstract) voidsetClassMember(boolean bClassMember) voidsetDefaultValueExpression(IExpression defaultValue) voidsetDynamicSymbolTable(ISymbolTable symTable) Assigns an optional symbol table so that the symbol can get/set its value dynamically e.g., via ThreadLocalSymbolTable.voidsetFinal(boolean bFinal) voidsetHide(boolean bHide) voidsetIndex(int i) voidsetInternal(boolean bInternal) voidsetModifierInfo(IModifierInfo modifiers) voidsetModifiers(int modifiers) protected voidvoidsetOverride(boolean bOverride) voidsetPrivate(boolean bPrivate) voidsetProtected(boolean bProtected) voidsetPublic(boolean bPublic) voidsetReified(boolean bReified) voidsetStatic(boolean bStatic) voidSets the Symbol's type.voidAssigns a value to this Symbol.voidsetValueDirectly(Object value) private voidsetValueFromSymbolTable(Object value) voidsetValueIsBoxed(boolean b) Indicates that this symbol should use a reference rather than storing its value directly.toString()
-
Field Details
-
MEMBER_STACK_PROVIDER
-
_name
-
_type
-
_value
-
_defaultValue
-
_iIndex
protected int _iIndex -
_bGlobal
protected boolean _bGlobal -
_stackProvider
-
_symbolTable
-
_valueIsBoxed
-
_modifiers
-
-
Constructor Details
-
Symbol
-
Symbol
-
Symbol
-
Symbol
-
Symbol
-
-
Method Details
-
setDynamicSymbolTable
Description copied from interface:ISymbolAssigns an optional symbol table so that the symbol can get/set its value dynamically e.g., via ThreadLocalSymbolTable.- Specified by:
setDynamicSymbolTablein interfaceISymbol
-
hasDynamicSymbolTable
public boolean hasDynamicSymbolTable()- Specified by:
hasDynamicSymbolTablein interfaceISymbol
-
getDynamicSymbolTable
- Specified by:
getDynamicSymbolTablein interfaceISymbol
-
assignIndex
-
assignIndexInStack
-
getName
Returns the Symbol's name.- Specified by:
getNamein interfaceIReducedSymbol- Specified by:
getNamein interfaceISymbol
-
getDisplayName
Returns the Symbol's optional display name. If a display name is not assigned, returns the symbol's name.- Specified by:
getDisplayNamein interfaceIReducedSymbol- Specified by:
getDisplayNamein interfaceISymbol
-
getFullDescription
- Specified by:
getFullDescriptionin interfaceIReducedSymbol
-
renameAsErrantDuplicate
public void renameAsErrantDuplicate(int iIndex) -
getType
Returns the Symbol's type. -
setType
Sets the Symbol's type. -
getValue
Returns the value assigned to this Symbol. -
getValueFromSymbolTable
-
setValue
Assigns a value to this Symbol. -
getDefaultValueExpression
Description copied from interface:ISymbolThe symbol's default value e.g., a default parameter value for a function.- Specified by:
getDefaultValueExpressionin interfaceIReducedSymbol- Specified by:
getDefaultValueExpressionin interfaceISymbol
-
setDefaultValueExpression
- Specified by:
setDefaultValueExpressionin interfaceISymbol
-
isStackSymbol
public boolean isStackSymbol()Description copied from interface:IFunctionSymbolReturns true if the value of this function symbol is stored on the stack as a variable- Specified by:
isStackSymbolin interfaceIFunctionSymbol
-
setValueFromSymbolTable
-
getValueDirectly
-
setValueDirectly
-
invoke
Invokes function.- Specified by:
invokein interfaceIFunctionSymbol- Parameters:
args- An array of arguments to forward to the function.
-
getLightWeightReference
Description copied from interface:ISymbolCreates a copy of this symbol without the value so that the empty symbol can be stored.- Specified by:
getLightWeightReferencein interfaceISymbol
-
isImplicitlyInitialized
public boolean isImplicitlyInitialized() -
isWritable
public boolean isWritable()Description copied from interface:ISymbolReturns true if this symbol is writable. An example of a symbol that is not writable is a readonly Property referenced as a symbol in a Gosu class.- Specified by:
isWritablein interfaceISymbol
-
equals
-
getSignatureDescription
Description copied from interface:IFunctionSymbolReturns a description of arguments of the form ( < argName1 >, < argName2 >, etc. ) appropriate for display in a source editor ui.- Specified by:
getSignatureDescriptionin interfaceIFunctionSymbol
-
getIndex
public int getIndex()- Specified by:
getIndexin interfaceIReducedSymbol- Specified by:
getIndexin interfaceISymbol
-
isClassMember
public boolean isClassMember() -
setClassMember
public void setClassMember(boolean bClassMember) -
isStatic
public boolean isStatic()- Specified by:
isStaticin interfaceIReducedSymbol
-
setStatic
public void setStatic(boolean bStatic) -
isPrivate
public boolean isPrivate()- Specified by:
isPrivatein interfaceIReducedSymbol
-
setPrivate
public void setPrivate(boolean bPrivate) -
isInternal
public boolean isInternal()- Specified by:
isInternalin interfaceIReducedSymbol
-
setInternal
public void setInternal(boolean bInternal) -
isProtected
public boolean isProtected()- Specified by:
isProtectedin interfaceIReducedSymbol
-
setProtected
public void setProtected(boolean bProtected) -
isPublic
public boolean isPublic()- Specified by:
isPublicin interfaceIReducedSymbol
-
setPublic
public void setPublic(boolean bPublic) -
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceIReducedSymbol
-
setAbstract
public void setAbstract(boolean bAbstract) -
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceIReducedSymbol
-
setFinal
public void setFinal(boolean bFinal) -
isReified
public boolean isReified()- Specified by:
isReifiedin interfaceIReducedSymbol
-
setReified
public void setReified(boolean bReified) -
isOverride
public boolean isOverride() -
setOverride
public void setOverride(boolean bOverride) -
isHide
public boolean isHide() -
setHide
public void setHide(boolean bHide) -
getModifierInfo
- Specified by:
getModifierInfoin interfaceISymbol
-
setModifierInfo
-
replaceModifierInfo
-
getModifiers
public int getModifiers()Description copied from interface:IFunctionSymbolReturns the modifiers for this function symbol- Specified by:
getModifiersin interfaceIFunctionSymbol- Specified by:
getModifiersin interfaceIReducedSymbol
-
getAnnotations
- Specified by:
getAnnotationsin interfaceIReducedSymbol
-
getScriptPart
- Specified by:
getScriptPartin interfaceIReducedSymbol
-
getGosuClass
- Specified by:
getGosuClassin interfaceIReducedSymbol
-
hasTypeVariables
public boolean hasTypeVariables()- Specified by:
hasTypeVariablesin interfaceIReducedSymbol
-
setModifiers
public void setModifiers(int modifiers) -
toString
-
canBeCaptured
public boolean canBeCaptured()- Specified by:
canBeCapturedin interfaceISymbol
-
makeCapturedSymbol
- Specified by:
makeCapturedSymbolin interfaceISymbol
-
setIndex
public void setIndex(int i) -
setValueIsBoxed
public void setValueIsBoxed(boolean b) Description copied from interface:ISymbolIndicates that this symbol should use a reference rather than storing its value directly.- Specified by:
setValueIsBoxedin interfaceISymbol
-
isValueBoxed
public boolean isValueBoxed()- Specified by:
isValueBoxedin interfaceIReducedSymbol- Specified by:
isValueBoxedin interfaceISymbol
-
setName
-
isLocal
public boolean isLocal() -
isFromJava
public boolean isFromJava()- Specified by:
isFromJavain interfaceIFunctionSymbol- Returns:
- true if this function symbol came from a java superclass
-
getSymbolClass
- Specified by:
getSymbolClassin interfaceIReducedSymbol
-
createReducedSymbol
- Specified by:
createReducedSymbolin interfaceISymbol
-