LineMap (Java SE 14 & JDK 14)
Description: declaration: module: jdk.compiler, package: com.sun.source.tree, interface: LineMap
Keywords: com.sun.source.tree.LineMap interface

Module jdk.compiler
Package com.sun.source.tree

# 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​(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` - if `lineNumber < 1` if `lineNumber > 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` - if `line < 1` if `line > 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)