Module jdk.compiler

Class TreePath

java.lang.Object
com.sun.source.util.TreePath
All Implemented Interfaces:
Iterable<Tree>

public class TreePath
extends Object
implements Iterable<Tree>
A path of tree nodes, typically used to represent the sequence of ancestor nodes of a tree node up to the top level CompilationUnitTree node.
Since:
1.6
  • Constructor Details

    • TreePath

      public TreePath​(CompilationUnitTree node)
      Creates a TreePath for a root node.
      Parameters:
      node - the root node
    • TreePath

      public TreePath​(TreePath path, Tree tree)
      Creates a TreePath for a child node.
      Parameters:
      path - the parent path
      tree - the child node
  • Method Details

    • getPath

      public static TreePath getPath​(CompilationUnitTree unit, Tree target)
      Returns a tree path for a tree node within a compilation unit, or null if the node is not found.
      Parameters:
      unit - the compilation unit to search
      target - the node to locate
      Returns:
      the tree path
    • getPath

      public static TreePath getPath​(TreePath path, Tree target)
      Returns a tree path for a tree node within a subtree identified by a TreePath object. Returns null if the node is not found.
      Parameters:
      path - the path in which to search
      target - the node to locate
      Returns:
      the tree path of the target node
    • getCompilationUnit

      public CompilationUnitTree getCompilationUnit()
      Returns the compilation unit associated with this path.
      Returns:
      the compilation unit
    • getLeaf

      public Tree getLeaf()
      Returns the leaf node for this path.
      Returns:
      the leaf node
    • getParentPath

      public TreePath getParentPath()
      Returns the path for the enclosing node, or null if there is no enclosing node.
      Returns:
      the path for the enclosing node
    • iterator

      public Iterator<Tree> iterator()
      Iterates from leaves to root.
      Specified by:
      iterator in interface Iterable<Tree>
      Returns:
      an Iterator.