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

Modifier and Type
Method
Description
`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 Details

### 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, returns `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:

`getStartPosition(file, tree) <= getStartPosition(file, subtree)` or
`getStartPosition(file, tree) == NOPOS` or
`getStartPosition(file, subtree) == 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, returns `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:

`getEndPosition(file, tree) >= getEndPosition(file, subtree)` or
`getEndPosition(file, tree) == NOPOS` or
`getEndPosition(file, subtree) == NOPOS`

In addition, the following must hold:

`getStartPosition(file, tree) <= getEndPosition(file, tree)` or
`getStartPosition(file, tree) == NOPOS` or
`getEndPosition(file, tree) == NOPOS`

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