public interface LineMap
提供了在编译单元中字符位置和行号之间进行转换的方法。
- 自版本:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionlong
getColumnNumber
(long pos) 查找字符位置对应的列。long
getLineNumber
(long pos) 查找包含特定位置的行;行终止字符位于终止行上。long
getPosition
(long line, long column) 查找与给定 (行,列) 对应的位置。long
getStartPosition
(long line) 查找行的起始位置。
-
Method Details
-
getStartPosition
long getStartPosition(long line) 查找行的起始位置。- 参数:
-
line
- 行号(从1开始) - 返回:
- 行中第一个字符的位置
- 抛出:
-
IndexOutOfBoundsException
- 如果lineNumber < 1
或者lineNumber > 行数
-
getPosition
long getPosition(long line, long column) 查找与给定 (行,列) 对应的位置。- 参数:
-
line
- 行号(从1开始) -
column
- 经过制表符扩展的列号(从1开始) - 返回:
- 字符的位置
- 抛出:
-
IndexOutOfBoundsException
- 如果line < 1
或者line > 行数
-
getLineNumber
long getLineNumber(long pos) 查找包含特定位置的行;行终止字符位于终止行上。- 参数:
-
pos
- 位置的字符偏移量 - 返回:
- 位置的行号(第一行为1)
-
getColumnNumber
long getColumnNumber(long pos) 查找字符位置对应的列。计算列号时,同一行上位于位置之前的制表符将被扩展。- 参数:
-
pos
- 位置的字符偏移量 - 返回:
- 位置的经过制表符扩展的列号(第一列为1)
-