SourcePositions (Compiler Tree API )
Keywords: com.sun.source.util.SourcePositions interface
Date: 2015-11-19

com.sun.source.util

## Interface SourcePositions

- All Known Subinterfaces:
    DocSourcePositions

      @Exported
      public interface SourcePositions

  Provides methods to obtain the position of a Tree within a CompilationUnit. A position is defined as a simple character offset from the start of a CompilationUnit where the first character is at offset 0.
  Since:
    1.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getEndPosition(CompilationUnitTree file, Tree tree)` Gets the ending position of tree within file.
    `long` | `getStartPosition(CompilationUnitTree file, Tree tree)` Gets the starting position of tree within file.

- - ### Method Detail

    - #### getStartPosition

          long getStartPosition(CompilationUnitTree file,
                                Tree tree)

      Gets the starting position of tree within file. If tree is not found within file, or if the starting position is not available, return `Diagnostic.NOPOS`. The returned position must be at the start of the yield of this tree, that is for any sub-tree of this tree, the following must hold:

      `tree.getStartPosition() <= subtree.getStartPosition()` or
      `tree.getStartPosition() == NOPOS` or
      `subtree.getStartPosition() == NOPOS`

      Parameters:
        `file` - CompilationUnit in which to find tree.
        `tree` - tree for which a position is sought.
      Returns:
        the start position of tree.

    - #### getEndPosition

          long getEndPosition(CompilationUnitTree file,
                              Tree tree)

      Gets the ending position of tree within file. If tree is not found within file, or if the ending position is not available, return `Diagnostic.NOPOS`. The returned position must be at the end of the yield of this tree, that is for any sub-tree of this tree, the following must hold:

      `tree.getEndPosition() >= subtree.getEndPosition()` or
      `tree.getEndPosition() == NOPOS` or
      `subtree.getEndPosition() == NOPOS`

      In addition, the following must hold:

      `tree.getStartPosition() <= tree.getEndPosition()` or
      `tree.getStartPosition() == NOPOS` or
      `tree.getEndPosition() == NOPOS`

      Parameters:
        `file` - CompilationUnit in which to find tree.
        `tree` - tree for which a position is sought.
      Returns:
        the end position of tree.

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