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

## Interface SourcePositions

All Known Subinterfaces:
  DocSourcePositions

    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
`long` `getEndPosition(CompilationUnitTree file, Tree tree)` Returns the ending position of tree within file.
`long` `getStartPosition(CompilationUnitTree file, Tree tree)` Returns the starting position of tree within file.

### Method Detail

#### getStartPosition

    long getStartPosition(CompilationUnitTree file,
                          Tree tree)

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

Returns 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.