# Uses of Package
com.sun.source.tree

Packages that use com.sun.source.tree
Package
Description
com.sun.source.tree
Provides interfaces to represent source code as abstract syntax trees (AST).
com.sun.source.util
Provides utilities for operations on abstract syntax trees (AST).

Classes in com.sun.source.tree used by com.sun.source.tree
Class
Description
AnnotatedTypeTree
A tree node for an annotated type.
AnnotationTree
A tree node for an annotation.
AnyPatternTree
A tree node for a binding pattern that matches a pattern with a variable of any name and a type of the match candidate; an unnamed pattern.
ArrayAccessTree
A tree node for an array access expression.
ArrayTypeTree
A tree node for an array type.
AssertTree
A tree node for an `assert` statement.
AssignmentTree
A tree node for an assignment expression.
BinaryTree
A tree node for a binary expression.
BindingPatternTree
A binding pattern tree
BlockTree
A tree node for a statement block.
BreakTree
A tree node for a `break` statement.
CaseLabelTree
A marker interface for `Tree`s that may be used as `CaseTree` labels.
CaseTree
A tree node for a `case` in a `switch` statement or expression.
CaseTree.CaseKind
The syntactic form of this case: STATEMENT: `case <expression>: <statements>` RULE: `case <expression> -> <expression>/<statement>`
CatchTree
A tree node for a `catch` block in a `try` statement.
ClassTree
A tree node for a class, interface, enum, record, or annotation type declaration.
CompilationUnitTree
Represents the abstract syntax tree for ordinary compilation units and modular compilation units.
CompoundAssignmentTree
A tree node for compound assignment operator.
ConditionalExpressionTree
A tree node for the conditional operator `? :`.
ConstantCaseLabelTree
A case label element that refers to a constant expression
ContinueTree
A tree node for a `continue` statement.
DeconstructionPatternTree
A deconstruction pattern tree.
DefaultCaseLabelTree
A case label that marks `default` in `case null, default`.
DirectiveTree
A super-type for all the directives in a ModuleTree.
DoWhileLoopTree
A tree node for a `do` statement.
EmptyStatementTree
A tree node for an empty (skip) statement.
EnhancedForLoopTree
A tree node for an "enhanced" `for` loop statement.
ErroneousTree
A tree node to stand in for a malformed expression.
ExportsTree
A tree node for an 'exports' directive in a module declaration.
ExpressionStatementTree
A tree node for an expression statement.
ExpressionTree
A tree node used as the base class for the different types of expressions.
ForLoopTree
A tree node for a basic `for` loop statement.
IdentifierTree
A tree node for an identifier expression.
IfTree
A tree node for an `if` statement.
ImportTree
A tree node for an import declaration.
InstanceOfTree
A tree node for an `instanceof` expression.
IntersectionTypeTree
A tree node for an intersection type in a cast expression.
LabeledStatementTree
A tree node for a labeled statement.
LambdaExpressionTree
A tree node for a lambda expression.
LambdaExpressionTree.BodyKind
Lambda expressions come in two forms: expression lambdas, whose body is an expression, and statement lambdas, whose body is a block
LineMap
Provides methods to convert between character positions and line numbers for a compilation unit.
LiteralTree
A tree node for a literal expression.
MemberReferenceTree
A tree node for a member reference expression.
MemberReferenceTree.ReferenceMode
There are two kinds of member references: (i) method references and (ii) constructor references
MemberSelectTree
A tree node for a member access expression.
MethodInvocationTree
A tree node for a method invocation expression.
MethodTree
A tree node for a method or annotation type element declaration.
ModifiersTree
A tree node for the modifiers, including annotations, for a declaration.
ModuleTree
A tree node for a module declaration.
ModuleTree.ModuleKind
The kind of the module.
NewArrayTree
A tree node for an expression to create a new instance of an array.
NewClassTree
A tree node to declare a new instance of a class.
OpensTree
A tree node for an 'opens' directive in a module declaration.
PackageTree
Represents the package declaration.
ParameterizedTypeTree
A tree node for a type expression involving type parameters.
ParenthesizedTree
A tree node for a parenthesized expression.
PatternCaseLabelTree
A case label element that refers to an expression
PatternTree
A tree node used as the base class for the different kinds of patterns.
PrimitiveTypeTree
A tree node for a primitive type.
ProvidesTree
A tree node for a 'provides' directive in a module declaration.
RequiresTree
A tree node for a 'requires' directive in a module declaration.
ReturnTree
A tree node for a `return` statement.
Scope
Interface for determining locally available program elements, such as local variables and imports.
StatementTree
A tree node used as the base class for the different kinds of statements.
SwitchExpressionTree
A tree node for a `switch` expression.
SwitchTree
A tree node for a `switch` statement.
SynchronizedTree
A tree node for a `synchronized` statement.
ThrowTree
A tree node for a `throw` statement.
Tree
Common interface for all nodes in an abstract syntax tree.
Tree.Kind
Enumerates all kinds of trees.
TreeVisitor
A visitor of trees, in the style of the visitor design pattern.
TryTree
A tree node for a `try` statement.
TypeCastTree
A tree node for a type cast expression.
TypeParameterTree
A tree node for a type parameter.
UnaryTree
A tree node for postfix and unary expressions.
UnionTypeTree
A tree node for a union type expression in a multicatch variable declaration.
UsesTree
A tree node for a 'uses' directive in a module declaration.
VariableTree
A tree node for a variable declaration.
VarTypeTree
A tree node for a `var` contextual keyword used as a type.
WhileLoopTree
A tree node for a `while` loop statement.
WildcardTree
A tree node for a wildcard type argument.
YieldTree
A tree node for a `yield` statement.
Classes in com.sun.source.tree used by com.sun.source.util
Class
Description
AnnotatedTypeTree
A tree node for an annotated type.
AnnotationTree
A tree node for an annotation.
AnyPatternTree
A tree node for a binding pattern that matches a pattern with a variable of any name and a type of the match candidate; an unnamed pattern.
ArrayAccessTree
A tree node for an array access expression.
ArrayTypeTree
A tree node for an array type.
AssertTree
A tree node for an `assert` statement.
AssignmentTree
A tree node for an assignment expression.
BinaryTree
A tree node for a binary expression.
BindingPatternTree
A binding pattern tree
BlockTree
A tree node for a statement block.
BreakTree
A tree node for a `break` statement.
CaseTree
A tree node for a `case` in a `switch` statement or expression.
CatchTree
A tree node for a `catch` block in a `try` statement.
ClassTree
A tree node for a class, interface, enum, record, or annotation type declaration.
CompilationUnitTree
Represents the abstract syntax tree for ordinary compilation units and modular compilation units.
CompoundAssignmentTree
A tree node for compound assignment operator.
ConditionalExpressionTree
A tree node for the conditional operator `? :`.
ConstantCaseLabelTree
A case label element that refers to a constant expression
ContinueTree
A tree node for a `continue` statement.
DeconstructionPatternTree
A deconstruction pattern tree.
DefaultCaseLabelTree
A case label that marks `default` in `case null, default`.
DoWhileLoopTree
A tree node for a `do` statement.
EmptyStatementTree
A tree node for an empty (skip) statement.
EnhancedForLoopTree
A tree node for an "enhanced" `for` loop statement.
ErroneousTree
A tree node to stand in for a malformed expression.
ExportsTree
A tree node for an 'exports' directive in a module declaration.
ExpressionStatementTree
A tree node for an expression statement.
ForLoopTree
A tree node for a basic `for` loop statement.
IdentifierTree
A tree node for an identifier expression.
IfTree
A tree node for an `if` statement.
ImportTree
A tree node for an import declaration.
InstanceOfTree
A tree node for an `instanceof` expression.
IntersectionTypeTree
A tree node for an intersection type in a cast expression.
LabeledStatementTree
A tree node for a labeled statement.
LambdaExpressionTree
A tree node for a lambda expression.
LiteralTree
A tree node for a literal expression.
MemberReferenceTree
A tree node for a member reference expression.
MemberSelectTree
A tree node for a member access expression.
MethodInvocationTree
A tree node for a method invocation expression.
MethodTree
A tree node for a method or annotation type element declaration.
ModifiersTree
A tree node for the modifiers, including annotations, for a declaration.
ModuleTree
A tree node for a module declaration.
NewArrayTree
A tree node for an expression to create a new instance of an array.
NewClassTree
A tree node to declare a new instance of a class.
OpensTree
A tree node for an 'opens' directive in a module declaration.
PackageTree
Represents the package declaration.
ParameterizedTypeTree
A tree node for a type expression involving type parameters.
ParenthesizedTree
A tree node for a parenthesized expression.
PatternCaseLabelTree
A case label element that refers to an expression
PrimitiveTypeTree
A tree node for a primitive type.
ProvidesTree
A tree node for a 'provides' directive in a module declaration.
RequiresTree
A tree node for a 'requires' directive in a module declaration.
ReturnTree
A tree node for a `return` statement.
Scope
Interface for determining locally available program elements, such as local variables and imports.
SwitchExpressionTree
A tree node for a `switch` expression.
SwitchTree
A tree node for a `switch` statement.
SynchronizedTree
A tree node for a `synchronized` statement.
ThrowTree
A tree node for a `throw` statement.
Tree
Common interface for all nodes in an abstract syntax tree.
TreeVisitor
A visitor of trees, in the style of the visitor design pattern.
TryTree
A tree node for a `try` statement.
TypeCastTree
A tree node for a type cast expression.
TypeParameterTree
A tree node for a type parameter.
UnaryTree
A tree node for postfix and unary expressions.
UnionTypeTree
A tree node for a union type expression in a multicatch variable declaration.
UsesTree
A tree node for a 'uses' directive in a module declaration.
VariableTree
A tree node for a variable declaration.
VarTypeTree
A tree node for a `var` contextual keyword used as a type.
WhileLoopTree
A tree node for a `while` loop statement.
WildcardTree
A tree node for a wildcard type argument.
YieldTree
A tree node for a `yield` statement.