Class AbstractVariableSymbol

java.lang.Object
com.github._1c_syntax.bsl.languageserver.context.symbol.AbstractVariableSymbol
All Implemented Interfaces:
Describable, Exportable, SourceDefinedSymbol, Symbol, VariableSymbol
Direct Known Subclasses:
IntBasedVariableSymbol, ShortBasedVariableSymbol

public abstract class AbstractVariableSymbol extends Object implements VariableSymbol
Общая реализация символа переменной.
  • Method Details

    • getSymbolKind

      public SymbolKind getSymbolKind()
      Specified by:
      getSymbolKind in interface Symbol
      Returns:
      Тип символа.
    • getKind

      public VariableKind getKind()
      Specified by:
      getKind in interface VariableSymbol
      Returns:
      Вид переменной
    • getVariableNameRange

      public abstract Range getVariableNameRange()
      Specified by:
      getVariableNameRange in interface VariableSymbol
      Returns:
      Диапазон, в котором определено имя переменной.
    • accept

      public void accept(SymbolTreeVisitor visitor)
      Description copied from interface: Symbol
      Обработчик захода в символ при обходе символьного дерева.
      Specified by:
      accept in interface Symbol
      Parameters:
      visitor - Обходчик дерева.
    • getSelectionRange

      public Range getSelectionRange()
      Specified by:
      getSelectionRange in interface SourceDefinedSymbol
      Returns:
      Место интереса символа. Например, диапазон, где указано имя символа (в противовес полной строки декларации символа).
    • builder

      public static AbstractVariableSymbol.Builder builder()
    • getName

      public String getName()
      Имя переменной.
      Specified by:
      getName in interface Symbol
      Returns:
      Имя символа.
    • getScope

      public SourceDefinedSymbol getScope()
      Область доступности символа. Метод или модуль.
      Specified by:
      getScope in interface VariableSymbol
      Returns:
      Область объявления переменной.
    • getOwner

      public DocumentContext getOwner()
      Файл в котором располагается переменная.
      Specified by:
      getOwner in interface SourceDefinedSymbol
      Returns:
      Документ, в котором объявлен данный символ.
    • isExport

      public boolean isExport()
      Признак экспортной переменной.
      Specified by:
      isExport in interface Exportable
      Returns:
      Сущность является экспортной.
    • getDescription

      public Optional<VariableDescription> getDescription()
      Описание переменной.
      Specified by:
      getDescription in interface Describable
      Specified by:
      getDescription in interface VariableSymbol
      Returns:
      Описание символа.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getParent

      public Optional<SourceDefinedSymbol> getParent()
      Символ, внутри которого располагается данный символ.
      Specified by:
      getParent in interface SourceDefinedSymbol
      Returns:
      Символ, внутри которого располагается данный символ.
    • setParent

      public void setParent(Optional<SourceDefinedSymbol> parent)
      Символ, внутри которого располагается данный символ.
      Specified by:
      setParent in interface SourceDefinedSymbol
      Parameters:
      parent - Символ, внутри которого располагается данный символ.
    • getChildren

      public List<SourceDefinedSymbol> getChildren()
      Список "детей" символа - символов, которые располагаются внутри данного символа.
      Specified by:
      getChildren in interface SourceDefinedSymbol
      Returns:
      Список "детей" символа - символов, которые располагаются внутри данного символа.