Module jdk.compiler

# Package com.sun.source.tree

package com.sun.source.tree
Provides interfaces to represent source code as abstract syntax trees (AST).

Since:
  1.6

Class
Description
AnnotatedTypeTree
A tree node for an annotated type.
AnnotationTree
A tree node for an annotation.
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.
CaseLabelTreePREVIEW
Preview.
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 `? :`.
ContinueTree
A tree node for a `continue` statement.
DefaultCaseLabelTreePREVIEW
Preview.
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.
GuardedPatternTreePREVIEW
Preview.
A guard pattern tree.
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.
ParenthesizedPatternTreePREVIEW
Preview.
A tree node for a parenthesized pattern.
ParenthesizedTree
A tree node for a parenthesized expression.
PatternTreePREVIEW
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<R,P>
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.
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.