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

Methods

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.

Methods

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.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.compiler/com/sun/source/util/SourcePositions.html