Package icyllis.arc3d.compiler.tree

# Class Symbol

java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol

Direct Known Subclasses:
  `AnonymousField`, `FunctionDecl`, `Type`, `Variable`

public abstract class Symbol extends Node
Represents a symbol table entry.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node

  `Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind`

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.compiler.tree.Node

  `mPosition`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Symbol(int position, String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final boolean`
  `accept(TreeVisitor visitor)`
  Visit this AST with a given visitor.
  `abstract Node.SymbolKind`
  `getKind()`
  `final String`
  `getName()`
  `abstract Type`
  `getType()`
  `final void`
  `setName(String name)`
  Changes the symbol's name.

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Node

  `getEndOffset, getStartOffset, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Symbol

    protected Symbol(int position, String name)

- ## Method Details

  - ### accept

    public final boolean accept(@Nonnull TreeVisitor visitor)
    Description copied from class: `Node`
    Visit this AST with a given visitor.
    Specified by:
      `accept` in class `Node`
    Returns:
      true to stop recursion and propagate true up the stack, false to continue

  - ### getKind

    @Nonnull public abstract Node.SymbolKind getKind()
    See Also:
      - `Node.SymbolKind`

  - ### getName

    @Nonnull public final String getName()

  - ### setName

    public final void setName(@Nonnull String name)
    Changes the symbol's name.

  - ### getType

    @Nonnull public abstract Type getType()