APIdia Launch Partner
Top Description Interfaces
module jdk.compiler

Package com.sun.source.tree


Provides interfaces to represent source code as abstract syntax trees (AST).
Authors
Peter von der Ahé, Jonathan Gibbons
Since
1.6

Interface Summary

Modifier and TypeInterface and Description
public interface
AnnotatedTypeTree

A tree node for an annotated type.

public interface
AnnotationTree

A tree node for an annotation.

public interface
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.

public interface
ArrayAccessTree

A tree node for an array access expression.

public interface
ArrayTypeTree

A tree node for an array type.

public interface
AssertTree

A tree node for an assert statement.

public interface
AssignmentTree

A tree node for an assignment expression.

public interface
BinaryTree

A tree node for a binary expression.

public interface
BindingPatternTree

A binding pattern tree

public interface
BlockTree

A tree node for a statement block.

public interface
BreakTree

A tree node for a break statement.

public interface
CaseLabelTree

A marker interface for Trees that may be used as CaseTree labels.

public interface
CaseTree

A tree node for a case in a switch statement or expression.

public interface
CatchTree

A tree node for a catch block in a try statement.

public interface
ClassTree

A tree node for a class, interface, enum, record, or annotation type declaration.

public interface
CompilationUnitTree

Represents the abstract syntax tree for ordinary compilation units and modular compilation units.

public interface
CompoundAssignmentTree

A tree node for compound assignment operator.

public interface
ConditionalExpressionTree

A tree node for the conditional operator ?

public interface
ConstantCaseLabelTree

A case label element that refers to a constant expression

public interface
ContinueTree

A tree node for a continue statement.

public interface
DeconstructionPatternTree

A deconstruction pattern tree.

public interface
DefaultCaseLabelTree

A case label that marks default in case null, default.

public interface
DirectiveTree

A super-type for all the directives in a ModuleTree.

public interface
DoWhileLoopTree

A tree node for a do statement.

public interface
EmptyStatementTree

A tree node for an empty (skip) statement.

public interface
EnhancedForLoopTree

A tree node for an "enhanced" for loop statement.

public interface
ErroneousTree

A tree node to stand in for a malformed expression.

public interface
ExportsTree

A tree node for an 'exports' directive in a module declaration.

public interface
ExpressionStatementTree

A tree node for an expression statement.

public interface
ExpressionTree

A tree node used as the base class for the different types of expressions.

public interface
ForLoopTree

A tree node for a basic for loop statement.

public interface
IdentifierTree

A tree node for an identifier expression.

public interface
IfTree

A tree node for an if statement.

public interface
ImportTree

A tree node for an import declaration.

public interface
InstanceOfTree

A tree node for an instanceof expression.

public interface
IntersectionTypeTree

A tree node for an intersection type in a cast expression.

public interface
LabeledStatementTree

A tree node for a labeled statement.

public interface
LambdaExpressionTree

A tree node for a lambda expression.

public interface
LineMap

Provides methods to convert between character positions and line numbers for a compilation unit.

public interface
LiteralTree

A tree node for a literal expression.

public interface
MemberReferenceTree

A tree node for a member reference expression.

public interface
MemberSelectTree

A tree node for a member access expression.

public interface
MethodInvocationTree

A tree node for a method invocation expression.

public interface
MethodTree

A tree node for a method or annotation type element declaration.

public interface
ModifiersTree

A tree node for the modifiers, including annotations, for a declaration.

public interface
ModuleTree

A tree node for a module declaration.

public interface
NewArrayTree

A tree node for an expression to create a new instance of an array.

public interface
NewClassTree

A tree node to declare a new instance of a class.

public interface
OpensTree

A tree node for an 'opens' directive in a module declaration.

public interface
PackageTree

Represents the package declaration.

public interface
ParameterizedTypeTree

A tree node for a type expression involving type parameters.

public interface
ParenthesizedTree

A tree node for a parenthesized expression.

public interface
PatternCaseLabelTree

A case label element that refers to an expression

public interface
PatternTree

A tree node used as the base class for the different kinds of patterns.

public interface
PrimitiveTypeTree

A tree node for a primitive type.

public interface
ProvidesTree

A tree node for a 'provides' directive in a module declaration.

public interface
RequiresTree

A tree node for a 'requires' directive in a module declaration.

public interface
ReturnTree

A tree node for a return statement.

public interface
Scope

Interface for determining locally available program elements, such as local variables and imports.

public interface
StatementTree

A tree node used as the base class for the different kinds of statements.

public interface
SwitchExpressionTree

A tree node for a switch expression.

public interface
SwitchTree

A tree node for a switch statement.

public interface
SynchronizedTree

A tree node for a synchronized statement.

public interface
ThrowTree

A tree node for a throw statement.

public interface
Tree

Common interface for all nodes in an abstract syntax tree.

public interface
TreeVisitor<
the return type of this visitor's methods. Use Void for visitors that do not need to return results.
R
,
the type of the additional parameter to this visitor's methods. Use Void for visitors that do not need an additional parameter.
P
>

A visitor of trees, in the style of the visitor design pattern.

public interface
TryTree

A tree node for a try statement.

public interface
TypeCastTree

A tree node for a type cast expression.

public interface
TypeParameterTree

A tree node for a type parameter.

public interface
UnaryTree

A tree node for postfix and unary expressions.

public interface
UnionTypeTree

A tree node for a union type expression in a multicatch variable declaration.

public interface
UsesTree

A tree node for a 'uses' directive in a module declaration.

public interface
VariableTree

A tree node for a variable declaration.

public interface
VarTypeTree

A tree node for a var contextual keyword used as a type.

public interface
WhileLoopTree

A tree node for a while loop statement.

public interface
WildcardTree

A tree node for a wildcard type argument.

public interface
YieldTree

A tree node for a yield statement.