# 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.
  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
  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 `? :`.
  ConstantCaseLabelTree
  Preview.
  A case label element that refers to a constant expression
  ContinueTree
  A tree node for a `continue` statement.
  DeconstructionPatternTree
  Preview.
  A deconstruction pattern tree.
  DefaultCaseLabelTree
  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.
  EnhancedForLoopTree.DeclarationKind
  Preview.
  "Enhanced" `for` declarations come in two forms: local variable declarations and record patterns
  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.
  InstanceOfTree.TestKind
  Preview.
  Two possible variants of instanceof expressions: testing types, and performing pattern matching
  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.
  ParenthesizedPatternTree
  Preview.
  A tree node for a parenthesized pattern.
  ParenthesizedTree
  A tree node for a parenthesized expression.
  PatternCaseLabelTree
  Preview.
  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.
  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.
  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
  Preview.
  A case label element that refers to a constant expression
  ContinueTree
  A tree node for a `continue` statement.
  DeconstructionPatternTree
  Preview.
  A deconstruction pattern tree.
  DefaultCaseLabelTree
  Preview.
  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.
  ParenthesizedPatternTree
  Preview.
  A tree node for a parenthesized pattern.
  ParenthesizedTree
  A tree node for a parenthesized expression.
  PatternCaseLabelTree
  Preview.
  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.
  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.