Class Ranges
java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.Ranges
Набор методов для удобства работы с областями текста (ренджами)
-
Method Summary
Modifier and TypeMethodDescriptionstatic intНатуральный порядок сравнения Positionstatic intНатуральный порядок сравнения Rangestatic booleancontainsPosition(Range range, Position position) static booleancontainsRange(Range bigger, Range smaller) static Rangecreate()Создать пустой диапазон (0,0,0,0).static Rangecreate(int lineNo, int startChar, int endChar) Создание Range для линииstatic Rangecreate(int startLine, int startChar, int endLine, int endChar) Создать диапазон с указанными координатами.static RangeСоздать диапазон из списка токенов.static Rangecreate(ParserRuleContext ruleContext) Создать диапазон из контекста правила парсера.static Rangecreate(ParserRuleContext startCtx, ParserRuleContext endCtx) Создать диапазон от начала одного контекста до конца другого.static RangeСоздать диапазон из токена.static RangeСоздать диапазон из токенов.static RangeСоздание Range для узла дерева разбора.static Rangecreate(TerminalNode terminalNode) Создать диапазон из терминального узла.static Rangecreate(TerminalNode startTerminalNode, TerminalNode stopTerminalNode) Создать диапазон между двумя терминальными узлами.getFirstSignificantTokenRange(Collection<Token> tokens) Deprecated.Для совместимости метод оставлен, но будет удален в будущих версиях.static booleanПроверяет переданную область на пустоту
-
Method Details
-
isEmpty
Проверяет переданную область на пустоту- Parameters:
range- Проверяемая область- Returns:
- Признак пустоты
-
create
-
create
Создать диапазон с указанными координатами.- Parameters:
startLine- Начальная строкаstartChar- Начальный символendLine- Конечная строкаendChar- Конечный символ- Returns:
- Созданный диапазон
-
create
Создание Range для линии- Parameters:
lineNo- - номер строкиstartChar- - номер первого символаendChar- - номер последнего символа- Returns:
- - полученный Range
-
create
Создать диапазон из контекста правила парсера.- Parameters:
ruleContext- Контекст правила- Returns:
- Диапазон, покрывающий весь контекст
-
create
Создать диапазон от начала одного контекста до конца другого.- Parameters:
startCtx- Начальный контекстendCtx- Конечный контекст- Returns:
- Диапазон между контекстами
-
create
-
create
-
create
Создать диапазон из терминального узла.- Parameters:
terminalNode- Терминальный узел- Returns:
- Диапазон узла
-
create
Создать диапазон между двумя терминальными узлами.- Parameters:
startTerminalNode- Начальный узелstopTerminalNode- Конечный узел- Returns:
- Диапазон между узлами
-
create
-
create
-
containsRange
-
containsPosition
-
compare
-
compare
-
getFirstSignificantTokenRange
@Deprecated(since="0.20") public static Optional<Range> getFirstSignificantTokenRange(Collection<Token> tokens) Deprecated.Для совместимости метод оставлен, но будет удален в будущих версиях. Вместо него стоит использовать методModuleSymbol.getSelectionRange()
-