Module jdk.compiler

Class Trees

java.lang.Object
com.sun.source.util.Trees
Direct Known Subclasses:
DocTrees

public abstract class Trees extends Object
Bridges JSR 199, JSR 269, and the Tree API.
  • Constructor Details

    • Trees

      public Trees()
      Constructor for subclasses to call.
  • Method Details

    • instance

      public static Trees instance(JavaCompiler.CompilationTask task)
      Returns a Trees object for a given CompilationTask.
      Parameters:
      task - the compilation task for which to get the Trees object
      Returns:
      the Trees object
      Throws:
      IllegalArgumentException - if the task does not support the Tree API.
    • instance

      public static Trees instance(ProcessingEnvironment env)
      Returns a Trees object for a given ProcessingEnvironment.
      Parameters:
      env - the processing environment for which to get the Trees object
      Returns:
      the Trees object
      Throws:
      IllegalArgumentException - if the env does not support the Tree API.
    • getSourcePositions

      public abstract SourcePositions getSourcePositions()
      Returns a utility object for obtaining source positions.
      Returns:
      the utility object for obtaining source positions
    • getTree

      public abstract Tree getTree(Element element)
      Returns the Tree node for a given Element. Returns null if the node can not be found.
      Parameters:
      element - the element
      Returns:
      the tree node
    • getTree

      public abstract ClassTree getTree(TypeElement element)
      Returns the ClassTree node for a given TypeElement. Returns null if the node can not be found.
      Parameters:
      element - the element
      Returns:
      the class tree node
    • getTree

      public abstract MethodTree getTree(ExecutableElement method)
      Returns the MethodTree node for a given ExecutableElement. Returns null if the node can not be found.
      Parameters:
      method - the executable element
      Returns:
      the method tree node
    • getTree

      public abstract Tree getTree(Element e, AnnotationMirror a)
      Returns the Tree node for an AnnotationMirror on a given Element. Returns null if the node can not be found.
      Parameters:
      e - the element
      a - the annotation mirror
      Returns:
      the tree node
    • getTree

      public abstract Tree getTree(Element e, AnnotationMirror a, AnnotationValue v)
      Returns the Tree node for an AnnotationValue for an AnnotationMirror on a given Element. Returns null if the node can not be found.
      Parameters:
      e - the element
      a - the annotation mirror
      v - the annotation value
      Returns:
      the tree node
    • getPath

      public abstract TreePath getPath(CompilationUnitTree unit, Tree node)
      Returns the path to tree node within the specified compilation unit.
      Parameters:
      unit - the compilation unit
      node - the tree node
      Returns:
      the tree path
    • getPath

      public abstract TreePath getPath(Element e)
      Returns the TreePath node for a given Element. Returns null if the node can not be found.
      Parameters:
      e - the element
      Returns:
      the tree path
    • getPath

      public abstract TreePath getPath(Element e, AnnotationMirror a)
      Returns the TreePath node for an AnnotationMirror on a given Element. Returns null if the node can not be found.
      Parameters:
      e - the element
      a - the annotation mirror
      Returns:
      the tree path
    • getPath

      public abstract TreePath getPath(Element e, AnnotationMirror a, AnnotationValue v)
      Returns the TreePath node for an AnnotationValue for an AnnotationMirror on a given Element. Returns null if the node can not be found.
      Parameters:
      e - the element
      a - the annotation mirror
      v - the annotation value
      Returns:
      the tree path
    • getElement

      public abstract Element getElement(TreePath path)
      Returns the Element for the Tree node identified by a given TreePath. Returns null if the element is not available.
      Parameters:
      path - the tree path
      Returns:
      the element
      Throws:
      IllegalArgumentException - is the TreePath does not identify a Tree node that might have an associated Element.
    • getTypeMirror

      public abstract TypeMirror getTypeMirror(TreePath path)
      Returns the TypeMirror for the Tree node identified by a given TreePath. Returns null if the TypeMirror is not available.
      Parameters:
      path - the tree path
      Returns:
      the type mirror
      Throws:
      IllegalArgumentException - is the TreePath does not identify a Tree node that might have an associated TypeMirror.
    • getScope

      public abstract Scope getScope(TreePath path)
      Returns the Scope for the Tree node identified by a given TreePath. Returns null if the Scope is not available.
      Parameters:
      path - the tree path
      Returns:
      the scope
    • getDocComment

      public abstract String getDocComment(TreePath path)
      Returns the doc comment, if any, for the Tree node identified by a given TreePath. Returns null if no doc comment was found.
      Parameters:
      path - the tree path
      Returns:
      the doc comment
      See Also:
    • isAccessible

      public abstract boolean isAccessible(Scope scope, TypeElement type)
      Checks whether a given type is accessible in a given scope.
      Parameters:
      scope - the scope to be checked
      type - the type to be checked
      Returns:
      true if type is accessible
    • isAccessible

      public abstract boolean isAccessible(Scope scope, Element member, DeclaredType type)
      Checks whether the given element is accessible as a member of the given type in a given scope.
      Parameters:
      scope - the scope to be checked
      member - the member to be checked
      type - the type for which to check if the member is accessible
      Returns:
      true if member is accessible in type
    • getOriginalType

      public abstract TypeMirror getOriginalType(ErrorType errorType)
      Returns the original type from the ErrorType object.
      Parameters:
      errorType - the errorType for which we want to get the original type
      Returns:
      the type mirror corresponding to the original type, replaced by the ErrorType
    • printMessage

      public abstract void printMessage(Diagnostic.Kind kind, CharSequence msg, Tree t, CompilationUnitTree root)
      Prints a message of the specified kind at the location of the tree within the provided compilation unit
      Parameters:
      kind - the kind of message
      msg - the message, or an empty string if none
      t - the tree to use as a position hint
      root - the compilation unit that contains tree
    • getLub

      public abstract TypeMirror getLub(CatchTree tree)
      Returns the lub of an exception parameter declared in a catch clause.
      Parameters:
      tree - the tree for the catch clause
      Returns:
      the lub of the exception parameter