Module jdk.compiler

Class 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 Detail

      • 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 Detail

      • 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