Compiler Tree API

com.sun.source.util
Interface SourcePositions


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

Compiler Tree API

Submit a bug or feature
Copyright © 2005, 2015, Oracle and/or its affiliates. All rights reserved.