LineMap (Compiler Tree API )
Keywords: com.sun.source.tree.LineMap interface
Date: 2026-06-25

com.sun.source.tree

## Interface LineMap

-     @Exported
      public interface LineMap

  Provides methods to convert between character positions and line numbers for a compilation unit.
  Since:
    1.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getColumnNumber(long pos)` Find the column for a character position.
    `long` | `getLineNumber(long pos)` Find the line containing a position; a line termination character is on the line it terminates.
    `long` | `getPosition(long line, long column)` Find the position corresponding to a (line,column).
    `long` | `getStartPosition(long line)` Find the start position of a line.

- - ### Method Detail

    - #### getStartPosition

          long getStartPosition(long line)

      Find 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)

      Find 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)

      Find 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)

      Find 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)

Copyright © 2005, 2026, Oracle and/or its affiliates. All rights reserved.