Class Trees

Direct Known Subclasses:
DocTrees
public abstract class Trees
extends Object

Bridges JSR 199, JSR 269, and the Tree API.

Constructors

Constructor Description
Trees()

Methods

Modifier and Type Method Description
abstract String getDocComment​(TreePath path)

Returns the doc comment, if any, for the Tree node identified by a given TreePath.

abstract Element getElement​(TreePath path)

Returns the Element for the Tree node identified by a given TreePath.

abstract TypeMirror getLub​(CatchTree tree)

Returns the lub of an exception parameter declared in a catch clause.

abstract TypeMirror getOriginalType​(ErrorType errorType)

Returns the original type from the ErrorType object.

abstract TreePath getPath​(CompilationUnitTree unit, Tree node)

Returns the path to tree node within the specified compilation unit.

abstract TreePath getPath​(Element e)

Returns the TreePath node for a given Element.

abstract TreePath getPath​(Element e, AnnotationMirror a)

Returns the TreePath node for an AnnotationMirror on a given Element.

abstract TreePath getPath​(Element e, AnnotationMirror a, AnnotationValue v)

Returns the TreePath node for an AnnotationValue for an AnnotationMirror on a given Element.

abstract Scope getScope​(TreePath path)

Returns the Scope for the Tree node identified by a given TreePath.

abstract SourcePositions getSourcePositions()

Returns a utility object for obtaining source positions.

abstract Tree getTree​(Element element)

Returns the Tree node for a given Element.

abstract Tree getTree​(Element e, AnnotationMirror a)

Returns the Tree node for an AnnotationMirror on a given Element.

abstract Tree getTree​(Element e, AnnotationMirror a, AnnotationValue v)

Returns the Tree node for an AnnotationValue for an AnnotationMirror on a given Element.

abstract MethodTree getTree​(ExecutableElement method)

Returns the MethodTree node for a given ExecutableElement.

abstract ClassTree getTree​(TypeElement element)

Returns the ClassTree node for a given TypeElement.

abstract TypeMirror getTypeMirror​(TreePath path)

Returns the TypeMirror for the Tree node identified by a given TreePath.

static Trees instance​(ProcessingEnvironment env)

Returns a Trees object for a given ProcessingEnvironment.

static Trees instance​(JavaCompiler.CompilationTask task)

Returns a Trees object for a given CompilationTask.

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.

abstract boolean isAccessible​(Scope scope, TypeElement type)

Checks whether a given type is accessible in a given scope.

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

Methods declared in class java.lang.Object

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

Constructors

Trees

public Trees()

Methods

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 Trees 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 Trees 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:
DocTrees.getDocCommentTree(TreePath)

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:
javax.lang.model.type.TypeMirror 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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.compiler/com/sun/source/util/Trees.html