Package gw.lang.parser
Interface ISymbol
- All Superinterfaces:
IHasType,IReducedSymbol
- All Known Subinterfaces:
ICapturedSymbol,IDynamicFunctionSymbol,IDynamicPropertySymbol,IDynamicSymbol,IFunctionSymbol,IInitConstructorFunctionSymbol,IInitializerSymbol,IInjectedSymbol,INonCapturableSymbol,IProgramClassFunctionSymbol,ITypedSymbol
- All Known Implementing Classes:
AbstractDynamicSymbol,AmbiguousSymbol,CapturedSymbol,CommonSymbolsScope.LockedDownSymbol,CompileTimeExpressionParser.CompileTimeFieldSymbol,DelegateFunctionSymbol,DynamicFunctionSymbol,DynamicPropertySymbol,DynamicSymbol,EnhancementDynamicFunctionSymbol,EnumAllValuesFunctionSymbol,EnumAllValuesPropertySymbol,EnumCodeFunctionSymbol,EnumCodePropertySymbol,EnumDisplayNameFunctionSymbol,EnumDisplayNamePropertySymbol,EnumNameFunctionSymbol,EnumNamePropertySymbol,EnumOrdinalFunctionSymbol,EnumOrdinalPropertySymbol,EnumValueFunctionSymbol,EnumValueOfFunctionSymbol,EnumValuePropertySymbol,EnumValuesFunctionSymbol,GosuObjectFunctionSymbol,InitConstructorFunctionSymbol,InitializerSymbol,IntrinsicTypeFunctionSymbol,IntrinsicTypePropertySymbol,MemberFieldSymbol,OuterFunctionSymbol,ParameterizedDynamicFunctionSymbol,ParameterizedDynamicPropertySymbol,ProgramClassFunctionSymbol,ProgramExecuteFunctionSymbol,QueryPathRootSymbol,ReadOnlySymbol,ReducedSymbol.SyntheticSymbol,SuperConstructorFunctionSymbol,Symbol,TemplateGenerator.LockedDownSymbol,TemplateRenderFunctionSymbol,ThisConstructorFunctionSymbol,ThisSymbol,TypedSymbol,VarPropertyGetFunctionSymbol,VarPropertySetFunctionSymbol
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanThe 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.getName()Returns the Symbol's name.getType()Returns the Symbol's type.getValue()Returns the value assigned to this Symbol.booleanbooleanisLocal()booleanbooleanReturns true if this symbol is writable.makeCapturedSymbol(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.voidSets the Symbol's type.voidAssigns 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
-
Field Details
-
THIS
-
SUPER
-
-
Method Details
-
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
Sets the Symbol's type. -
getValue
Object getValue()Returns the value assigned to this Symbol. -
setValue
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
-
setDynamicSymbolTable
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
-
isLocal
boolean isLocal() -
getModifierInfo
IModifierInfo getModifierInfo() -
createReducedSymbol
IReducedSymbol createReducedSymbol()
-