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

public interface ISymbol extends IHasType, IReducedSymbol
  • Field Details

    • THIS

      static final String THIS
    • SUPER

      static final String SUPER
  • Method Details

    • getName

      String getName()
      Returns the Symbol's name.
      Specified by:
      getName in interface IReducedSymbol
    • getDisplayName

      String getDisplayName()
      Returns the Symbol's optional display name. If a display name is not assigned, returns the symbol's name.
      Specified by:
      getDisplayName in interface IReducedSymbol
    • getType

      IType getType()
      Returns the Symbol's type.
      Specified by:
      getType in interface IHasType
      Specified by:
      getType in interface IReducedSymbol
    • 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:
      getDefaultValueExpression in interface IReducedSymbol
    • 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:
      isValueBoxed in interface IReducedSymbol
    • getIndex

      int getIndex()
      Specified by:
      getIndex in interface IReducedSymbol
    • canBeCaptured

      boolean canBeCaptured()
    • makeCapturedSymbol

      ICapturedSymbol makeCapturedSymbol(String strName, ISymbolTable symbolTable, IScope scope)
    • isLocal

      boolean isLocal()
    • getModifierInfo

      IModifierInfo getModifierInfo()
    • createReducedSymbol

      IReducedSymbol createReducedSymbol()