Class Ranges
java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.Ranges
Набор методов для удобства работы с областями текста (ренджами)
-
Method Summary
Modifier and TypeMethodDescriptionstatic intcompare(int startLine1, int startChar1, int endLine1, int endChar1, int startLine2, int startChar2, int endLine2, int endChar2) Натуральный порядок сравнения двух диапазонов, заданных деконструированными координатами.static intНатуральный порядок сравнения Positionstatic intНатуральный порядок сравнения Rangestatic booleancontainsPosition(int startLine, int startCharacter, int endLine, int endCharacter, int line, int character) Проверяет, содержит ли диапазон указанную позицию.static booleancontainsPosition(int startLine, int startCharacter, int endLine, int endCharacter, Position position) Проверяет, содержит ли диапазон указанную позицию.static 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) Создать диапазон между двумя терминальными узлами.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
-
containsPosition
public static boolean containsPosition(int startLine, int startCharacter, int endLine, int endCharacter, Position position) Проверяет, содержит ли диапазон указанную позицию.- Parameters:
startLine- - начальная строка диапазонаstartCharacter- - начальный символ диапазонаendLine- - конечная строка диапазонаendCharacter- - конечный символ диапазонаposition- - позиция для проверки- Returns:
- true, если позиция находится внутри диапазона (включая начало, исключая конец)
-
containsPosition
public static boolean containsPosition(int startLine, int startCharacter, int endLine, int endCharacter, int line, int character) Проверяет, содержит ли диапазон указанную позицию.- Parameters:
startLine- - начальная строка диапазонаstartCharacter- - начальный символ диапазонаendLine- - конечная строка диапазонаendCharacter- - конечный символ диапазонаline- - строка позицииcharacter- - символ позиции- Returns:
- true, если позиция находится внутри диапазона (включая начало, исключая конец)
-
compare
-
compare
-
compare
public static int compare(int startLine1, int startChar1, int endLine1, int endChar1, int startLine2, int startChar2, int endLine2, int endChar2) Натуральный порядок сравнения двух диапазонов, заданных деконструированными координатами.- Parameters:
startLine1- - начальная строка первого диапазонаstartChar1- - начальный символ первого диапазонаendLine1- - конечная строка первого диапазонаendChar1- - конечный символ первого диапазонаstartLine2- - начальная строка второго диапазонаstartChar2- - начальный символ второго диапазонаendLine2- - конечная строка второго диапазонаendChar2- - конечный символ второго диапазона- Returns:
- 0 - равно, 1 - больше, -1 - меньше
-