Class DescriptionFormatter

java.lang.Object
com.github._1c_syntax.bsl.languageserver.hover.DescriptionFormatter

@Component public class DescriptionFormatter extends Object
  • Constructor Details

  • Method Details

    • addSectionIfNotEmpty

      public void addSectionIfNotEmpty(StringJoiner markupBuilder, String newContent)
    • getDeprecatedSection

      public String getDeprecatedSection(MethodSymbol methodSymbol)
      Формирует секцию признака устаревания метода для всплывающего окна.
      Parameters:
      methodSymbol - символ метода, для которого строится секция
      Returns:
      markdown-блок «Устарела.» с текстом причины устаревания (если он указан в описании метода), либо пустая строка, если метод не устарел
    • getPurposeSection

      public String getPurposeSection(MethodSymbol methodSymbol)
    • getParametersSection

      public String getParametersSection(MethodSymbol methodSymbol)
    • getEventHandlerSection

      public String getEventHandlerSection(MemberDescriptor event)
      Секция-шапка «Обработчик события платформы: <имя>» + платформенное описание события из bsl-context. Используется hover-билдерами метода и параметра, чтобы показать, что метод/переменная — обработчик платформенного события.
    • getEventHandlerSection

      public String getEventHandlerSection(@Nullable MethodSymbol method, MemberDescriptor event)
      Перегрузка с контекстным методом: к платформенному описанию события подмешивается пользовательское описание метода из шапки-комментария. Платформенное описание идёт первым, пользовательское — следом.
    • getParametersSection

      public String getParametersSection(MemberDescriptor eventContract)
    • getParametersSection

      public String getParametersSection(MethodSymbol method, MemberDescriptor eventContract)
      Перегрузка с контекстным методом: к описанию параметра из контракта подмешивается пользовательское описание из шапки-комментария метода (если оно есть). Платформенное описание идёт первым, затем пользовательское под отдельным префиксом.
    • getEventHandlerParameterDescription

      public String getEventHandlerParameterDescription(VariableSymbol symbol)
      Описание параметра-обработчика платформенного события из контракта (bsl-context): сопоставление по позиции — имена параметров обработчика задаёт пользователь, в коде они могут не совпадать с именами в контракте. При выходе за длину контракта возвращаем пусто, если последний параметр контракта не variadic.
    • getReturnedValueSection

      public String getReturnedValueSection(MethodSymbol methodSymbol)
    • getExamplesSection

      public String getExamplesSection(MethodSymbol methodSymbol)
    • getCallOptionsSection

      public String getCallOptionsSection(MethodSymbol methodSymbol)
    • getLocation

      public String getLocation(ModuleSymbol symbol)
    • getLocation

      public String getLocation(MethodSymbol symbol)
    • getLocation

      public String getLocation(VariableSymbol symbol)
    • getSignature

      public String getSignature(MethodSymbol methodSymbol)
    • getSignature

      public String getSignature(AnnotationSymbol symbol, MethodSymbol methodSymbol)
    • getSignature

      public String getSignature(VariableSymbol symbol)
    • getParametersSignatureDescription

      public String getParametersSignatureDescription(MethodSymbol methodSymbol)
    • parameterToString

      public String parameterToString(ParameterDescription parameterDescription, int level)
    • parameterToString

      public String parameterToString(ParameterDefinition parameterDefinition)