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 Modifier and Type Field Description private ISymbol_referredSymbol-
Fields inherited from class gw.internal.gosu.parser.Symbol
_bGlobal, _iIndex, _stackProvider, _symbolTable, _value, MEMBER_STACK_PROVIDER
-
-
Constructor Summary
Constructors Constructor Description CapturedSymbol(java.lang.String strName, ISymbol sym, IStackProvider stackProvider, IScope scope)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ISymbolgetLightWeightReference()Creates a copy of this symbol without the value so that the empty symbol can be stored.ISymbolgetReferredSymbol()booleanisLocal()booleanisWritable()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
-
-
-
-
Field Detail
-
_referredSymbol
private ISymbol _referredSymbol
-
-
Constructor Detail
-
CapturedSymbol
public CapturedSymbol(java.lang.String strName, ISymbol sym, IStackProvider stackProvider, IScope scope)
-
-
Method Detail
-
getReferredSymbol
public ISymbol getReferredSymbol()
- Specified by:
getReferredSymbolin interfaceICapturedSymbol
-
getLightWeightReference
public ISymbol 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- Overrides:
getLightWeightReferencein classSymbol
-
isLocal
public boolean isLocal()
-
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- Overrides:
isWritablein classSymbol
-
-