Package gw.lang.parser
Interface ISymbol
-
- All Superinterfaces:
IHasType,IReducedSymbol
- All Known Subinterfaces:
ICapturedSymbol,IDynamicFunctionSymbol,IDynamicPropertySymbol,IDynamicSymbol,IFunctionSymbol,IInitConstructorFunctionSymbol,IInitializerSymbol,IInjectedSymbol,INonCapturableSymbol,IProgramClassFunctionSymbol,ITypedSymbol
public interface ISymbol extends IHasType, IReducedSymbol
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanBeCaptured()IReducedSymbolcreateReducedSymbol()IExpressiongetDefaultValueExpression()The symbol's default value e.g., a default parameter value for a function.StringgetDisplayName()Returns the Symbol's optional display name.ISymbolTablegetDynamicSymbolTable()intgetIndex()ISymbolgetLightWeightReference()Creates a copy of this symbol without the value so that the empty symbol can be stored.IModifierInfogetModifierInfo()StringgetName()Returns the Symbol's name.ITypegetType()Returns the Symbol's type.ObjectgetValue()Returns the value assigned to this Symbol.booleanhasDynamicSymbolTable()booleanisLocal()booleanisValueBoxed()booleanisWritable()Returns true if this symbol is writable.ICapturedSymbolmakeCapturedSymbol(String strName, ISymbolTable symbolTable, IScope scope)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.voidsetType(IType type)Sets the Symbol's type.voidsetValue(Object value)Assigns a value to this Symbol.voidsetValueIsBoxed(boolean b)Indicates that this symbol should use a reference rather than storing its value directly.-
Methods inherited from interface gw.lang.parser.IReducedSymbol
getAnnotations, getFullDescription, getGosuClass, getModifiers, getScriptPart, getSymbolClass, hasTypeVariables, isAbstract, isFinal, isInternal, isPrivate, isProtected, isPublic, isReified, isStatic
-
-
-
-
Method Detail
-
getName
String getName()
Returns the Symbol's name.- Specified by:
getNamein interfaceIReducedSymbol
-
getDisplayName
String getDisplayName()
Returns the Symbol's optional display name. If a display name is not assigned, returns the symbol's name.- Specified by:
getDisplayNamein interfaceIReducedSymbol
-
getType
IType getType()
Returns the Symbol's type.- Specified by:
getTypein interfaceIHasType- Specified by:
getTypein interfaceIReducedSymbol
-
setType
void setType(IType type)
Sets the Symbol's type.
-
getValue
Object getValue()
Returns the value assigned to this Symbol.
-
setValue
void setValue(Object value)
Assigns a value to this Symbol.
-
getDefaultValueExpression
IExpression getDefaultValueExpression()
The symbol's default value e.g., a default parameter value for a function.- Specified by:
getDefaultValueExpressionin interfaceIReducedSymbol
-
setDefaultValueExpression
void setDefaultValueExpression(IExpression defaultValue)
-
setDynamicSymbolTable
void setDynamicSymbolTable(ISymbolTable symTable)
Assigns an optional symbol table so that the symbol can get/set its value dynamically e.g., via ThreadLocalSymbolTable.
-
hasDynamicSymbolTable
boolean hasDynamicSymbolTable()
-
getDynamicSymbolTable
ISymbolTable getDynamicSymbolTable()
-
getLightWeightReference
ISymbol getLightWeightReference()
Creates a copy of this symbol without the value so that the empty symbol can be stored.
-
isWritable
boolean isWritable()
Returns 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.
-
setValueIsBoxed
void setValueIsBoxed(boolean b)
Indicates that this symbol should use a reference rather than storing its value directly.
-
isValueBoxed
boolean isValueBoxed()
- Specified by:
isValueBoxedin interfaceIReducedSymbol
-
getIndex
int getIndex()
- Specified by:
getIndexin interfaceIReducedSymbol
-
canBeCaptured
boolean canBeCaptured()
-
makeCapturedSymbol
ICapturedSymbol makeCapturedSymbol(String strName, ISymbolTable symbolTable, IScope scope)
-
isLocal
boolean isLocal()
-
getModifierInfo
IModifierInfo getModifierInfo()
-
createReducedSymbol
IReducedSymbol createReducedSymbol()
-
-