public interface LineMap
Provides methods to convert between character positions and line numbers
for a compilation unit.
- Since:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionlong
getColumnNumber
(long pos) Finds the column for a character position.long
getLineNumber
(long pos) Finds the line containing a position; a line termination character is on the line it terminates.long
getPosition
(long line, long column) Finds the position corresponding to a (line,column).long
getStartPosition
(long line) Finds the start position of a line.
-
Method Details
-
getStartPosition
long getStartPosition(long line) Finds the start position of a line.- Parameters:
line
- line number (beginning at 1)- Returns:
- position of first character in line
- Throws:
IndexOutOfBoundsException
- iflineNumber < 1
iflineNumber > no. of lines
-
getPosition
long getPosition(long line, long column) Finds the position corresponding to a (line,column).- Parameters:
line
- line number (beginning at 1)column
- tab-expanded column number (beginning 1)- Returns:
- position of character
- Throws:
IndexOutOfBoundsException
- ifline < 1
ifline > no. of lines
-
getLineNumber
long getLineNumber(long pos) Finds the line containing a position; a line termination character is on the line it terminates.- Parameters:
pos
- character offset of the position- Returns:
- the line number of pos (first line is 1)
-
getColumnNumber
long getColumnNumber(long pos) Finds the column for a character position. Tab characters preceding the position on the same line will be expanded when calculating the column number.- Parameters:
pos
- character offset of the position- Returns:
- the tab-expanded column number of pos (first column is 1)
-