Interface MethodSymbol

All Superinterfaces:
Describable, Exportable, SourceDefinedSymbol, Symbol
All Known Implementing Classes:
AbstractMethodSymbol, ConstructorSymbol, RegularMethodSymbol

public interface MethodSymbol extends SourceDefinedSymbol, Exportable, Describable
Символ метода или функции.

Представляет метод или функцию в модуле BSL с информацией о параметрах, аннотациях, экспортности и вложенных элементах.

  • Method Details

    • getName

      String getName()
      Specified by:
      getName in interface Symbol
      Returns:
      Имя символа.
    • isFunction

      boolean isFunction()
    • isExport

      boolean isExport()
      Specified by:
      isExport in interface Exportable
      Returns:
      Сущность является экспортной.
    • isDeprecated

      boolean isDeprecated()
      Specified by:
      isDeprecated in interface Symbol
      Returns:
      Является ли символ "устаревшим".
    • isAsync

      boolean isAsync()
      Объявлен ли метод с ключевым словом Асинх (Async).
    • getParameters

      List<ParameterDefinition> getParameters()
    • getDescription

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

      Optional<CompilerDirectiveKind> getCompilerDirectiveKind()
    • getAnnotations

      List<Annotation> getAnnotations()
    • getSubNameRange

      Range getSubNameRange()
      Диапазон имени метода/конструктора (без ключевых слов и параметров) — используется как selection-range и для матчинга позиции к символу.
    • getRegion

      Optional<RegionSymbol> getRegion()
      Регион/область, в которой объявлен метод/конструктор, если он находится непосредственно внутри RegionSymbol.