Interface LineMap
public interface LineMap
Provides methods to convert between character positions and line numbers for a compilation unit.
- Since:
- 1.6
Method Summary
Modifier and Type | Method | Description |
---|---|---|
long |
getColumnNumber |
Finds the column for a character position. |
long |
getLineNumber |
Finds the line containing a position; a line termination character is on the line it terminates. |
long |
getPosition |
Finds the position corresponding to a (line,column). |
long |
getStartPosition |
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)
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.compiler/com/sun/source/tree/LineMap.html