Class PlatformMethodCallInlayHintCollector
java.lang.Object
com.github._1c_syntax.bsl.languageserver.inlayhints.PlatformMethodCallInlayHintCollector
Inlay-hint'ы с именами параметров для вызовов ПЛАТФОРМЕННЫХ методов и
глобальных функций (по аналогии с
SourceDefinedMethodCallInlayHintCollector,
но для не-source-defined символов: СтрНайти("a","b","",1),
Сообщение.Сообщить(), Новый Массив(5) и т.п.).
Коллектор используется единым MethodCallInlayHintSupplier и отвечает за
резолв вызова; построение меток и tooltip делегируется
PlatformMethodCallHintRenderer. Резолв члена выполняется через
TypeService.memberAt(DocumentContext, Position), что покрывает три кейса:
BSLParser.GlobalMethodCallContext— глобальная функция (СтрНайти, Сообщить, ПолучитьСообщенияПользователю …);BSLParser.MethodCallContext— доступ через точку (Объект.Метод());BSLParser.NewExpressionContext— конструктор (Новый Тип(...)) — обрабатывается отдельно черезTypeService.getConstructors(TypeRef, FileType).
Source-defined вызовы покрывает SourceDefinedMethodCallInlayHintCollector
и здесь фильтруются — TypeService.memberAt(DocumentContext, Position) для них возвращает
MemberDescriptor с непустым sourceSymbol.
-
Constructor Summary
ConstructorsConstructorDescriptionPlatformMethodCallInlayHintCollector(TypeService typeService, PlatformMethodCallHintRenderer renderer) -
Method Summary
Modifier and TypeMethodDescriptiongetInlayHints(DocumentContext documentContext, InlayHintParams params)
-
Constructor Details
-
PlatformMethodCallInlayHintCollector
public PlatformMethodCallInlayHintCollector(TypeService typeService, PlatformMethodCallHintRenderer renderer)
-
-
Method Details
-
getInlayHints
-