Class KeywordSymbol

java.lang.Object
com.github._1c_syntax.bsl.languageserver.context.symbol.KeywordSymbol
All Implemented Interfaces:
Symbol

public final class KeywordSymbol extends Object implements Symbol
Synthetic-символ BSL-keyword'а (Если, Истина, Цикл…).

Создаётся on-the-fly в KeywordReferenceFinder при попадании курсора на keyword-токен — keyword'ы не являются source-defined-символами и не лежат в symbol-tree модуля, но участвуют в общем reference/hover-flow на правах обычного Symbol.

Несёт уже локализованное описание (выбранное по текущему Language и по AST-контексту использования — Функция/Процедура/Перем для body-keyword'ов вида Знач/Возврат/Экспорт).

  • Constructor Details

    • KeywordSymbol

      @ConstructorProperties({"name","description","selectionRange"}) public KeywordSymbol(String name, String description, Range selectionRange)
      Creates a new KeywordSymbol instance.
      Parameters:
      name - Текст keyword'а — ровно как он введён пользователем в исходнике (Если или If, регистрозависимо). Используется как заголовок code-fence в hover'е.
      description - Локализованное описание keyword'а из синтакс-помощника (уже выбранное по текущей локали и AST-контексту). Пусто, если описание недоступно.
      selectionRange - Диапазон keyword-токена в исходнике — для подсветки в hover'е.
  • Method Details

    • getSymbolKind

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

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

      public String getName()
      Текст keyword'а — ровно как он введён пользователем в исходнике (Если или If, регистрозависимо). Используется как заголовок code-fence в hover'е.
      Specified by:
      getName in interface Symbol
      Returns:
      Имя символа.
    • getDescription

      public String getDescription()
      Локализованное описание keyword'а из синтакс-помощника (уже выбранное по текущей локали и AST-контексту). Пусто, если описание недоступно.
    • getSelectionRange

      public Range getSelectionRange()
      Диапазон keyword-токена в исходнике — для подсветки в hover'е.
    • equals

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

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

      public String toString()
      Overrides:
      toString in class Object