Interface VariableSymbol

All Superinterfaces:
Comparable<VariableSymbol>, Describable, Exportable, SourceDefinedSymbol, Symbol
All Known Implementing Classes:
AbstractVariableSymbol, AnnotatedVariableSymbol, IntBasedVariableSymbol, ShortBasedVariableSymbol

public interface VariableSymbol extends SourceDefinedSymbol, Exportable, Describable, Comparable<VariableSymbol>
Информация о символе, представляющем собой переменную.
  • Field Details

    • NATURAL_ORDER

      static final Comparator<VariableSymbol> NATURAL_ORDER
      Естественный порядок переменных: имя → URI владельца → позиция начала имени (строка, символ). Старт имени уникален в пределах документа, поэтому этого достаточно для строгого порядка.
  • Method Details

    • getKind

      VariableKind getKind()
      Returns:
      Вид переменной
    • getAnnotations

      default List<Annotation> getAnnotations()
      Аннотации, навешанные на объявление переменной (например, &Пластилин фреймворка ОСень). Для подавляющего большинства переменных список пуст, поэтому он не хранится в объекте символа — см. AnnotatedVariableSymbol.
      Returns:
      список аннотаций; пустой, если их нет.
    • getVariableNameRange

      Range getVariableNameRange()
      Returns:
      Диапазон, в котором определено имя переменной.
    • getVariableNameLine

      int getVariableNameLine()
      Строка, в которой определено имя переменной.
      Returns:
      номер строки имени переменной.
    • getVariableNameStartCharacter

      int getVariableNameStartCharacter()
      Начальный символ имени переменной в строке объявления.
      Returns:
      номер начального символа имени переменной.
    • getVariableNameEndCharacter

      int getVariableNameEndCharacter()
      Конечный символ имени переменной в строке объявления.
      Returns:
      номер конечного символа имени переменной.
    • getDescription

      Optional<VariableDescription> getDescription()
      Specified by:
      getDescription in interface Describable
      Returns:
      Описание символа в форме, поставляемой bsl-parser'ом (используется диагностиками, которые знают конкретные подтипы MethodDescription/VariableDescription и т.п.).
    • getScope

      Returns:
      Область объявления переменной.
    • builder

    • compareTo

      default int compareTo(VariableSymbol other)
      Specified by:
      compareTo in interface Comparable<VariableSymbol>