Class RegularMethodSymbol

java.lang.Object
com.github._1c_syntax.bsl.languageserver.context.symbol.AbstractMethodSymbol
com.github._1c_syntax.bsl.languageserver.context.symbol.RegularMethodSymbol
All Implemented Interfaces:
Describable, Exportable, MethodSymbol, SourceDefinedSymbol, Symbol

public final class RegularMethodSymbol extends AbstractMethodSymbol
Реализация MethodSymbol по умолчанию — обычный метод или функция в модуле BSL. Конструкторы OneScript-классов представлены отдельным ConstructorSymbol, чтобы их можно было различать в symbol tree, hover'е и go-to-definition. Общая структура полей — в AbstractMethodSymbol.

В LSP нет отдельного SymbolKind для процедуры, поэтому и процедуры, и функции BSL по умолчанию представлены как SymbolKind.Method. Но методы модулей без состояния — общих модулей BSL и модулей OneScript — это самостоятельные функции, а не члены объекта со состоянием, поэтому для них корректнее SymbolKind.Function. Признак задаётся флагом standaloneFunction: он влияет только на getSymbolKind() (вид символа в outline и результатах поиска по рабочей области); во всех прочих отношениях такой символ остаётся обычным RegularMethodSymbol и обрабатывается общим путём (hover, автодополнение, семантические токены).