Class DiagnosticHelper

java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.DiagnosticHelper

public final class DiagnosticHelper extends Object
Вспомогательный класс для работы с диагностиками.

Предоставляет утилитные методы для сравнения узлов AST, конфигурирования диагностик и работы с их параметрами.

  • Method Details

    • equalNodes

      public static boolean equalNodes(Tree leftNode, Tree rightNode)
      Проверить равенство двух узлов синтаксического дерева.
      Parameters:
      leftNode - Первый узел для сравнения
      rightNode - Второй узел для сравнения
      Returns:
      true, если узлы эквивалентны
    • isStructureType

      public static boolean isStructureType(ParseTree tnc)
      Проверить, является ли узел типом "Структура".
      Parameters:
      tnc - Узел дерева разбора
      Returns:
      true, если узел представляет тип Структура/Structure
    • isFixedStructureType

      public static boolean isFixedStructureType(ParseTree tnc)
      Проверить, является ли узел типом "ФиксированнаяСтруктура".
      Parameters:
      tnc - Узел дерева разбора
      Returns:
      true, если узел представляет тип ФиксированнаяСтруктура/FixedStructure
    • isWSDefinitionsType

      public static boolean isWSDefinitionsType(ParseTree tnc)
      Проверить, является ли узел типом "WSОпределения".
      Parameters:
      tnc - Узел дерева разбора
      Returns:
      true, если узел представляет тип WSОпределения/WSDefinitions
    • isFTPConnectionType

      public static boolean isFTPConnectionType(ParseTree tnc)
      Проверить, является ли узел типом "FTPСоединение".
      Parameters:
      tnc - Узел дерева разбора
      Returns:
      true, если узел представляет тип FTPСоединение/FTPConnection
    • isInternetMailProfileType

      public static boolean isInternetMailProfileType(ParseTree tnc)
      Проверить, является ли узел типом "ИнтернетПочтовыйПрофиль".
      Parameters:
      tnc - Узел дерева разбора
      Returns:
      true, если узел представляет тип ИнтернетПочтовыйПрофиль/InternetMailProfile
    • configureDiagnostic

      public static void configureDiagnostic(BSLDiagnostic diagnostic, Map<String,Object> configuration)
      Настроить параметры диагностики из конфигурации.
      Parameters:
      diagnostic - Диагностика для настройки
      configuration - Карта конфигурации с параметрами
    • configureDiagnostic

      public static void configureDiagnostic(BSLDiagnostic diagnostic, Map<String,Object> configuration, String... filter)
      Настроить параметры диагностики с фильтрацией по именам параметров.
      Parameters:
      diagnostic - Диагностика для настройки
      configuration - Карта конфигурации с параметрами
      filter - Список имён параметров для применения
    • createPatternFromString

      public static Pattern createPatternFromString(String words)
      Создает PATTERN из строки со словами с разделителем ',' (запятая) (используется в параметрах диагностики). При создании паттерна удаляются концевые пробелы слов
      Parameters:
      words - Строка со словами
      Returns:
      Созданный паттерн
    • createPatternFromString

      public static Pattern createPatternFromString(String words, String delimiter)
      Создает PATTERN из строки со словами с указанным разделителем (используется в параметрах диагностики). При создании паттерна удаляются концевые пробелы слов
      Parameters:
      words - Строка со словами
      Returns:
      Созданный паттерн