DocTreePath (Compiler Tree API )
Keywords: com.sun.source.util.DocTreePath class
Date: 2026-04-22

com.sun.source.util

## Class DocTreePath

- java.lang.Object
- - com.sun.source.util.DocTreePath

- All Implemented Interfaces:
    Iterable<DocTree>

      @Exported
      public class DocTreePath
      extends Object
      implements Iterable<DocTree>

  A path of tree nodes, typically used to represent the sequence of ancestor nodes of a tree node up to the top level DocCommentTree node.
  Since:
    1.8

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DocTreePath(DocTreePath p, DocTree t)` Creates a DocTreePath for a child node.
    `DocTreePath(TreePath treePath, DocCommentTree t)` Creates a DocTreePath for a root node.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `DocCommentTree` | `getDocComment()` Get the DocCommentTree associated with this path.
    `DocTree` | `getLeaf()` Get the leaf node for this path.
    `DocTreePath` | `getParentPath()` Get the path for the enclosing node, or null if there is no enclosing node.
    `static DocTreePath` | `getPath(DocTreePath path, DocTree target)` Gets a documentation tree path for a tree node within a subtree identified by a DocTreePath object.
    `static DocTreePath` | `getPath(TreePath treePath, DocCommentTree doc, DocTree target)` Gets a documentation tree path for a tree node within a compilation unit.
    `TreePath` | `getTreePath()` Get the TreePath associated with this path.
    `Iterator<DocTree>` | `iterator()` Returns an iterator over elements of type `T`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### DocTreePath

          public DocTreePath(TreePath treePath,
                             DocCommentTree t)

      Creates a DocTreePath for a root node.
      Parameters:
        `treePath` - the TreePath from which the root node was created.
        `t` - the DocCommentTree to create the path for.

    - #### DocTreePath

          public DocTreePath(DocTreePath p,
                             DocTree t)

      Creates a DocTreePath for a child node.

  - ### Method Detail

    - #### getPath

          public static DocTreePath getPath(TreePath treePath,
                                            DocCommentTree doc,
                                            DocTree target)

      Gets a documentation tree path for a tree node within a compilation unit.
      Returns:
        null if the node is not found

    - #### getPath

          public static DocTreePath getPath(DocTreePath path,
                                            DocTree target)

      Gets a documentation tree path for a tree node within a subtree identified by a DocTreePath object.
      Returns:
        null if the node is not found

    - #### getTreePath

          public TreePath getTreePath()

      Get the TreePath associated with this path.
      Returns:
        TreePath for this DocTreePath

    - #### getDocComment

          public DocCommentTree getDocComment()

      Get the DocCommentTree associated with this path.
      Returns:
        DocCommentTree for this DocTreePath

    - #### getLeaf

          public DocTree getLeaf()

      Get the leaf node for this path.
      Returns:
        DocTree for this DocTreePath

    - #### getParentPath

          public DocTreePath getParentPath()

      Get the path for the enclosing node, or null if there is no enclosing node.
      Returns:
        DocTreePath of parent

    - #### iterator

          public Iterator<DocTree> iterator()

      Description copied from interface: `java.lang.Iterable`
      Returns an iterator over elements of type `T`.
      Specified by:
        `iterator` in interface `Iterable<DocTree>`
      Returns:
        an Iterator.

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