com.sun.source.util

## Interface DocSourcePositions

- All Superinterfaces:
    SourcePositions

      @Exported
      public interface DocSourcePositions
      extends SourcePositions

  Provides methods to obtain the position of a DocTree within a javadoc comment. 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.8

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `getEndPosition(CompilationUnitTree file, DocCommentTree comment, DocTree tree)` | Gets the ending position of the tree within the comment within the file.
    `long` | `getStartPosition(CompilationUnitTree file, DocCommentTree comment, DocTree tree)` | Gets the starting position of the tree within the comment within the file.

    - ### Methods inherited from interface com.sun.source.util.SourcePositions

      `getEndPosition, getStartPosition`

- - ### Method Detail

    - #### getStartPosition

          long getStartPosition(CompilationUnitTree file,
                                DocCommentTree comment,
                                DocTree tree)

      Gets the starting position of the tree within the comment within the file. If tree is not found within file, or if the starting position is not available, return `Diagnostic.NOPOS`. The given tree should be under the given comment tree, and the given documentation comment tree should be returned from a `DocTrees.getDocCommentTree(com.sun.source.util.TreePath)` for a tree under the given file. 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.
        `comment` - the comment tree that encloses the tree for which the position is being sought
        `tree` - tree for which a position is sought.
      Returns:
        the start position of tree.

    - #### getEndPosition

          long getEndPosition(CompilationUnitTree file,
                              DocCommentTree comment,
                              DocTree tree)

      Gets the ending position of the tree within the comment within the file. If tree is not found within file, or if the ending position is not available, return `Diagnostic.NOPOS`. The given tree should be under the given comment tree, and the given documentation comment tree should be returned from a `DocTrees.getDocCommentTree(com.sun.source.util.TreePath)` for a tree under the given file. 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.
        `comment` - the comment tree that encloses the tree for which the position is being sought
        `tree` - tree for which a position is sought.
      Returns:
        the start position of tree.

Copyright © 2005, 2026, Oracle and/or its affiliates. All rights reserved.