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
Реализация
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, автодополнение, семантические токены).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRegularMethodSymbol.RegularMethodSymbolBuilder<C extends RegularMethodSymbol, B extends RegularMethodSymbol.RegularMethodSymbolBuilder<C,B>> Nested classes/interfaces inherited from class AbstractMethodSymbol
AbstractMethodSymbol.AbstractMethodSymbolBuilder<C,B> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(SymbolTreeVisitor visitor) Обработчик захода в символ при обходе символьного дерева.static RegularMethodSymbol.RegularMethodSymbolBuilder<?, ?> builder()protected booleanbooleaninthashCode()toString()Methods inherited from class AbstractMethodSymbol
getAnnotations, getChildren, getCompilerDirectiveKind, getDescription, getName, getOwner, getParameters, getParent, getRange, getRegion, getSelectionRange, getSubNameRange, isAsync, isDeprecated, isExport, isFunction, setParentMethods inherited from interface Describable
getSymbolDescriptionMethods inherited from interface SourceDefinedSymbol
getRootParent, getRootParent
-
Constructor Details
-
RegularMethodSymbol
-
-
Method Details
-
getSymbolKind
- Returns:
- Тип символа.
-
accept
Description copied from interface:SymbolОбработчик захода в символ при обходе символьного дерева.- Parameters:
visitor- Обходчик дерева.
-
builder
-
equals
- Overrides:
equalsin classAbstractMethodSymbol
-
canEqual
- Overrides:
canEqualin classAbstractMethodSymbol
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractMethodSymbol
-
toString
- Overrides:
toStringin classAbstractMethodSymbol
-