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 Summary

    Constructors
    Constructor
    Description
    Creates a TreePath for a root node.
    TreePath(TreePath path, Tree tree)
    Creates a TreePath for a child node.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the compilation unit associated with this path.
    Returns the leaf node for this path.
    Returns the path for the enclosing node, or null if there is no enclosing node.
    static TreePath
    Returns a tree path for a tree node within a compilation unit, or null if the node is not found.
    static TreePath
    getPath(TreePath path, Tree target)
    Returns a tree path for a tree node within a subtree identified by a TreePath object.
    Iterates from leaves to root.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.

    Methods declared in interface Iterable

    forEach, spliterator
    Modifier and Type
    Method
    Description
    default void
    forEach(Consumer<? super Tree> action)
    Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception.
    default Spliterator<Tree>
    Creates a Spliterator over the elements described by this Iterable.
  • 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.