Class ModuleReference
java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.ModuleReference
Утилитный класс для работы со ссылками на общие модули.
Предоставляет методы для анализа конструкций получения ссылки на общий модуль через ОбщегоНазначения.ОбщийМодуль("ИмяМодуля"), ОбщегоНазначенияКлиент.ОбщийМодуль("ИмяМодуля") и других вариантов.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordПредварительно разобранные паттерны доступа к общим модулям. -
Method Summary
Modifier and TypeMethodDescriptionextractCommonModuleName(BSLParser.ExpressionContext expression, ModuleReference.ParsedAccessors parsedAccessors) Извлечь имя общего модуля из expression.static booleanisCommonModuleExpression(BSLParser.ExpressionContext expression, ModuleReference.ParsedAccessors parsedAccessors) Проверить, является ли expression вызовом получения ссылки на общий модуль.parseAccessors(List<String> commonModuleAccessors) Разбирает список паттернов доступа к общим модулям один раз.
-
Method Details
-
parseAccessors
Разбирает список паттернов доступа к общим модулям один раз.Вызывается один раз при инициализации и результат кэшируется.
- Parameters:
commonModuleAccessors- Список паттернов "Модуль.Метод" или "Метод" для локального вызова- Returns:
- Предварительно разобранные паттерны
-
isCommonModuleExpression
public static boolean isCommonModuleExpression(BSLParser.ExpressionContext expression, ModuleReference.ParsedAccessors parsedAccessors) Проверить, является ли expression вызовом получения ссылки на общий модуль. Использует предварительно разобранные паттерны.- Parameters:
expression- Контекст выраженияparsedAccessors- Предварительно разобранные паттерны- Returns:
- true, если это вызов метода получения общего модуля
-
extractCommonModuleName
public static Optional<String> extractCommonModuleName(BSLParser.ExpressionContext expression, ModuleReference.ParsedAccessors parsedAccessors) Извлечь имя общего модуля из expression.- Parameters:
expression- Контекст выраженияparsedAccessors- Предварительно разобранные паттерны- Returns:
- Имя модуля, если удалось извлечь
-