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 Details

    • getStartPosition

      @Deprecated(since="27", forRemoval=true) default long getStartPosition(CompilationUnitTree file, Tree tree)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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
    • getStartPosition

      long getStartPosition(Tree tree)
      Returns the starting position of the given Tree, 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(tree) <= getStartPosition(subtree) or
      getStartPosition(tree) == NOPOS or
      getStartPosition(subtree) == NOPOS

      Parameters:
      tree - tree for which a position is sought
      Returns:
      the starting position of the given Tree, or if the starting position is not available, returns Diagnostic.NOPOS
      Since:
      27
    • getEndPosition

      @Deprecated(since="27", forRemoval=true) default long getEndPosition(CompilationUnitTree file, Tree tree)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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
    • getEndPosition

      long getEndPosition(Tree tree)
      Returns the ending position of the given Tree. 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(tree) >= getEndPosition(subtree) or
      getEndPosition(tree) == NOPOS or
      getEndPosition(subtree) == NOPOS

      In addition, the following must hold:

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

      Parameters:
      tree - tree for which a position is sought
      Returns:
      the ending position of the given Tree. If the ending position is not available, returns Diagnostic.NOPOS
      Since:
      27