Package gw.internal.gosu.parser
Class CapturedSymbol
- java.lang.Object
-
- gw.internal.gosu.parser.Symbol
-
- gw.internal.gosu.parser.CapturedSymbol
-
- All Implemented Interfaces:
ICapturedSymbol
,IFunctionSymbol
,IHasType
,IReducedSymbol
,ISymbol
public class CapturedSymbol extends Symbol implements ICapturedSymbol
A symbol that has been captured from an outer lexical scope
-
-
Field Summary
-
Fields inherited from class gw.internal.gosu.parser.Symbol
_bGlobal, _iIndex, _stackProvider, _symbolTable, _value, MEMBER_STACK_PROVIDER
-
-
Constructor Summary
Constructors Constructor Description CapturedSymbol(String strName, ISymbol sym, IStackProvider stackProvider, IScope scope)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ISymbol
getLightWeightReference()
Creates a copy of this symbol without the value so that the empty symbol can be stored.ISymbol
getReferredSymbol()
boolean
isLocal()
boolean
isWritable()
Returns true if this symbol is writable.-
Methods inherited from class gw.internal.gosu.parser.Symbol
assignIndex, assignIndexInStack, canBeCaptured, createReducedSymbol, equals, getAnnotations, getDefaultValueExpression, getDisplayName, getDynamicSymbolTable, getFullDescription, getGosuClass, getIndex, getModifierInfo, getModifiers, getName, getScriptPart, getSignatureDescription, getSymbolClass, getType, getValue, getValueDirectly, hasDynamicSymbolTable, hasTypeVariables, invoke, isAbstract, isClassMember, isFinal, isFromJava, isHide, isImplicitlyInitialized, isInternal, isOverride, isPrivate, isProtected, isPublic, isReified, isStackSymbol, isStatic, isValueBoxed, makeCapturedSymbol, renameAsErrantDuplicate, replaceModifierInfo, setAbstract, setClassMember, setDefaultValueExpression, setDynamicSymbolTable, setFinal, setHide, setIndex, setInternal, setModifierInfo, setModifiers, setName, setOverride, setPrivate, setProtected, setPublic, setReified, setStatic, setType, setValue, setValueDirectly, setValueIsBoxed, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IFunctionSymbol
getModifiers, getSignatureDescription, invoke, isFromJava, isStackSymbol
-
Methods inherited from interface gw.lang.parser.IReducedSymbol
getAnnotations, getFullDescription, getGosuClass, getScriptPart, getSymbolClass, hasTypeVariables, isAbstract, isFinal, isInternal, isPrivate, isProtected, isPublic, isReified, isStatic
-
Methods inherited from interface gw.lang.parser.ISymbol
canBeCaptured, createReducedSymbol, getDefaultValueExpression, getDisplayName, getDynamicSymbolTable, getIndex, getModifierInfo, getName, getType, getValue, hasDynamicSymbolTable, isValueBoxed, makeCapturedSymbol, setDefaultValueExpression, setDynamicSymbolTable, setType, setValue, setValueIsBoxed
-
-
-
-
Constructor Detail
-
CapturedSymbol
public CapturedSymbol(String strName, ISymbol sym, IStackProvider stackProvider, IScope scope)
-
-
Method Detail
-
getReferredSymbol
public ISymbol getReferredSymbol()
- Specified by:
getReferredSymbol
in interfaceICapturedSymbol
-
getLightWeightReference
public ISymbol getLightWeightReference()
Description copied from interface:ISymbol
Creates a copy of this symbol without the value so that the empty symbol can be stored.- Specified by:
getLightWeightReference
in interfaceISymbol
- Overrides:
getLightWeightReference
in classSymbol
-
isLocal
public boolean isLocal()
-
isWritable
public boolean isWritable()
Description copied from interface:ISymbol
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.- Specified by:
isWritable
in interfaceISymbol
- Overrides:
isWritable
in classSymbol
-
-