# Enum Class Tree.Kind

java.lang.Object
java.lang.Enum<Tree.Kind>
com.sun.source.tree.Tree.Kind

All Implemented Interfaces:
  `Serializable`, `Comparable<Tree.Kind>`, `Constable`

Enclosing interface:
  `Tree`

public static enum Tree.Kind extends Enum<Tree.Kind>
Enumerates all kinds of trees.

Since:
  1.6

## Nested Class Summary

### Nested classes/interfaces declared in class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`AND`
Used for instances of `BinaryTree` representing bitwise and logical "and" `&`.
`AND_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "and" assignment `&=`.
`ANNOTATED_TYPE`
Used for instances of `AnnotatedTypeTree` representing annotated types.
`ANNOTATION`
Used for instances of `AnnotationTree` representing declaration annotations.
`ANNOTATION_TYPE`
Used for instances of `ClassTree` representing annotation types.
`ANY_PATTERN`
Used for instances of `BindingPatternTree`.
`ARRAY_ACCESS`
Used for instances of `ArrayAccessTree`.
`ARRAY_TYPE`
Used for instances of `ArrayTypeTree`.
`ASSERT`
Used for instances of `AssertTree`.
`ASSIGNMENT`
Used for instances of `AssignmentTree`.
`BINDING_PATTERN`
Used for instances of `BindingPatternTree`.
`BITWISE_COMPLEMENT`
Used for instances of `UnaryTree` representing bitwise complement operator `~`.
`BLOCK`
Used for instances of `BlockTree`.
`BOOLEAN_LITERAL`
Used for instances of `LiteralTree` representing a boolean literal expression of type `boolean`.
`BREAK`
Used for instances of `BreakTree`.
`CASE`
Used for instances of `CaseTree`.
`CATCH`
Used for instances of `CatchTree`.
`CHAR_LITERAL`
Used for instances of `LiteralTree` representing a character literal expression of type `char`.
`CLASS`
Used for instances of `ClassTree` representing classes.
`COMPILATION_UNIT`
Used for instances of `CompilationUnitTree`.
`CONDITIONAL_AND`
Used for instances of `BinaryTree` representing conditional-and `&&`.
`CONDITIONAL_EXPRESSION`
Used for instances of `ConditionalExpressionTree`.
`CONDITIONAL_OR`
Used for instances of `BinaryTree` representing conditional-or `||`.
`CONSTANT_CASE_LABEL`
Used for instances of `ConstantCaseLabelTree`.
`CONTINUE`
Used for instances of `ContinueTree`.
`DECONSTRUCTION_PATTERN`
Used for instances of `DeconstructionPatternTree`.
`DEFAULT_CASE_LABEL`
Used for instances of `DefaultCaseLabelTree`.
`DIVIDE`
Used for instances of `BinaryTree` representing division `/`.
`DIVIDE_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing division assignment `/=`.
`DO_WHILE_LOOP`
Used for instances of `DoWhileLoopTree`.
`DOUBLE_LITERAL`
Used for instances of `LiteralTree` representing a floating-point literal expression of type `double`.
`EMPTY_STATEMENT`
Used for instances of `EmptyStatementTree`.
`ENHANCED_FOR_LOOP`
Used for instances of `EnhancedForLoopTree`.
`ENUM`
Used for instances of `ClassTree` representing enums.
`EQUAL_TO`
Used for instances of `BinaryTree` representing equal-to `==`.
`ERRONEOUS`
Used for instances of `ErroneousTree`.
`EXPORTS`
Used for instances of `ExportsTree` representing exports directives in a module declaration.
`EXPRESSION_STATEMENT`
Used for instances of `ExpressionStatementTree`.
`EXTENDS_WILDCARD`
Used for instances of `WildcardTree` representing an upper-bounded wildcard type argument.
`FLOAT_LITERAL`
Used for instances of `LiteralTree` representing a floating-point literal expression of type `float`.
`FOR_LOOP`
Used for instances of `ForLoopTree`.
`GREATER_THAN`
Used for instances of `BinaryTree` representing greater-than `>`.
`GREATER_THAN_EQUAL`
Used for instances of `BinaryTree` representing greater-than-equal `>=`.
`IDENTIFIER`
Used for instances of `IdentifierTree`.
`IF`
Used for instances of `IfTree`.
`IMPORT`
Used for instances of `ImportTree`.
`INSTANCE_OF`
Used for instances of `InstanceOfTree`.
`INT_LITERAL`
Used for instances of `LiteralTree` representing an integral literal expression of type `int`.
`INTERFACE`
Used for instances of `ClassTree` representing interfaces.
`INTERSECTION_TYPE`
Used for instances of `IntersectionTypeTree`.
`LABELED_STATEMENT`
Used for instances of `LabeledStatementTree`.
`LAMBDA_EXPRESSION`
Used for instances of `LambdaExpressionTree`.
`LEFT_SHIFT`
Used for instances of `BinaryTree` representing left shift `<<`.
`LEFT_SHIFT_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing left shift assignment `<<=`.
`LESS_THAN`
Used for instances of `BinaryTree` representing less-than `<`.
`LESS_THAN_EQUAL`
Used for instances of `BinaryTree` representing less-than-equal `<=`.
`LOGICAL_COMPLEMENT`
Used for instances of `UnaryTree` representing logical complement operator `!`.
`LONG_LITERAL`
Used for instances of `LiteralTree` representing an integral literal expression of type `long`.
`MEMBER_REFERENCE`
Used for instances of `MemberReferenceTree`.
`MEMBER_SELECT`
Used for instances of `MemberSelectTree`.
`METHOD`
Used for instances of `MethodTree`.
`METHOD_INVOCATION`
Used for instances of `MethodInvocationTree`.
`MINUS`
Used for instances of `BinaryTree` representing subtraction `-`.
`MINUS_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing subtraction assignment `-=`.
`MODIFIERS`
Used for instances of `ModifiersTree`.
`MODULE`
Used for instances of `ModuleTree` representing module declarations.
`MULTIPLY`
Used for instances of `BinaryTree` representing multiplication `*`.
`MULTIPLY_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing multiplication assignment `*=`.
`NEW_ARRAY`
Used for instances of `NewArrayTree`.
`NEW_CLASS`
Used for instances of `NewClassTree`.
`NOT_EQUAL_TO`
Used for instances of `BinaryTree` representing not-equal-to `!=`.
`NULL_LITERAL`
Used for instances of `LiteralTree` representing the use of `null`.
`OPENS`
Used for instances of `ExportsTree` representing opens directives in a module declaration.
`OR`
Used for instances of `BinaryTree` representing bitwise and logical "or" `|`.
`OR_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "or" assignment `|=`.
`OTHER`
An implementation-reserved node.
`PACKAGE`
Used for instances of `PackageTree`.
`PARAMETERIZED_TYPE`
Used for instances of `ParameterizedTypeTree`.
`PARENTHESIZED`
Used for instances of `ParenthesizedTree`.
`PATTERN_CASE_LABEL`
Used for instances of `PatternCaseLabelTree`.
`PLUS`
Used for instances of `BinaryTree` representing addition or string concatenation `+`.
`PLUS_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing addition or string concatenation assignment `+=`.
`POSTFIX_DECREMENT`
Used for instances of `UnaryTree` representing postfix decrement operator `--`.
`POSTFIX_INCREMENT`
Used for instances of `UnaryTree` representing postfix increment operator `++`.
`PREFIX_DECREMENT`
Used for instances of `UnaryTree` representing prefix decrement operator `--`.
`PREFIX_INCREMENT`
Used for instances of `UnaryTree` representing prefix increment operator `++`.
`PRIMITIVE_TYPE`
Used for instances of `PrimitiveTypeTree`.
`PROVIDES`
Used for instances of `ProvidesTree` representing provides directives in a module declaration.
`RECORD`
Used for instances of `ClassTree` representing records.
`REMAINDER`
Used for instances of `BinaryTree` representing remainder `%`.
`REMAINDER_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing remainder assignment `%=`.
`REQUIRES`
Used for instances of `RequiresTree` representing requires directives in a module declaration.
`RETURN`
Used for instances of `ReturnTree`.
`RIGHT_SHIFT`
Used for instances of `BinaryTree` representing right shift `>>`.
`RIGHT_SHIFT_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing right shift assignment `>>=`.
`STRING_LITERAL`
Used for instances of `LiteralTree` representing a string literal expression of type `String`.
`SUPER_WILDCARD`
Used for instances of `WildcardTree` representing a lower-bounded wildcard type argument.
`SWITCH`
Used for instances of `SwitchTree`.
`SWITCH_EXPRESSION`
Used for instances of `SwitchExpressionTree`.
`SYNCHRONIZED`
Used for instances of `SynchronizedTree`.
`THROW`
Used for instances of `ThrowTree`.
`TRY`
Used for instances of `TryTree`.
`TYPE_ANNOTATION`
Used for instances of `AnnotationTree` representing type annotations.
`TYPE_CAST`
Used for instances of `TypeCastTree`.
`TYPE_PARAMETER`
Used for instances of `TypeParameterTree`.
`UNARY_MINUS`
Used for instances of `UnaryTree` representing unary minus operator `-`.
`UNARY_PLUS`
Used for instances of `UnaryTree` representing unary plus operator `+`.
`UNBOUNDED_WILDCARD`
Used for instances of `WildcardTree` representing an unbounded wildcard type argument.
`UNION_TYPE`
Used for instances of `UnionTypeTree`.
`UNSIGNED_RIGHT_SHIFT`
Used for instances of `BinaryTree` representing unsigned right shift `>>>`.
`UNSIGNED_RIGHT_SHIFT_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing unsigned right shift assignment `>>>=`.
`USES`
Used for instances of `UsesTree` representing uses directives in a module declaration.
`VARIABLE`
Used for instances of `VariableTree`.
`WHILE_LOOP`
Used for instances of `WhileLoopTree`.
`XOR`
Used for instances of `BinaryTree` representing bitwise and logical "xor" `^`.
`XOR_ASSIGNMENT`
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "xor" assignment `^=`.
`YIELD`
Used for instances of `YieldTree`.

## Method Summary

Modifier and Type
Method
Description
`Class<? extends Tree>`
`asInterface()`
Returns the associated interface type that uses this kind.
`static Tree.Kind`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static Tree.Kind[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods declared in class java.lang.Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods declared in class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### ANNOTATED_TYPE

public static final Tree.Kind ANNOTATED_TYPE
Used for instances of `AnnotatedTypeTree` representing annotated types.

### ANNOTATION

public static final Tree.Kind ANNOTATION
Used for instances of `AnnotationTree` representing declaration annotations.

### TYPE_ANNOTATION

public static final Tree.Kind TYPE_ANNOTATION
Used for instances of `AnnotationTree` representing type annotations.

### ARRAY_ACCESS

public static final Tree.Kind ARRAY_ACCESS
Used for instances of `ArrayAccessTree`.

### ARRAY_TYPE

public static final Tree.Kind ARRAY_TYPE
Used for instances of `ArrayTypeTree`.

### ASSERT

public static final Tree.Kind ASSERT
Used for instances of `AssertTree`.

### ASSIGNMENT

public static final Tree.Kind ASSIGNMENT
Used for instances of `AssignmentTree`.

### BLOCK

public static final Tree.Kind BLOCK
Used for instances of `BlockTree`.

### BREAK

public static final Tree.Kind BREAK
Used for instances of `BreakTree`.

### CASE

public static final Tree.Kind CASE
Used for instances of `CaseTree`.

### CATCH

public static final Tree.Kind CATCH
Used for instances of `CatchTree`.

### CLASS

public static final Tree.Kind CLASS
Used for instances of `ClassTree` representing classes.

### COMPILATION_UNIT

public static final Tree.Kind COMPILATION_UNIT
Used for instances of `CompilationUnitTree`.

### CONDITIONAL_EXPRESSION

public static final Tree.Kind CONDITIONAL_EXPRESSION
Used for instances of `ConditionalExpressionTree`.

### CONTINUE

public static final Tree.Kind CONTINUE
Used for instances of `ContinueTree`.

### DO_WHILE_LOOP

public static final Tree.Kind DO_WHILE_LOOP
Used for instances of `DoWhileLoopTree`.

### ENHANCED_FOR_LOOP

public static final Tree.Kind ENHANCED_FOR_LOOP
Used for instances of `EnhancedForLoopTree`.

### EXPRESSION_STATEMENT

public static final Tree.Kind EXPRESSION_STATEMENT
Used for instances of `ExpressionStatementTree`.

### MEMBER_SELECT

public static final Tree.Kind MEMBER_SELECT
Used for instances of `MemberSelectTree`.

### MEMBER_REFERENCE

public static final Tree.Kind MEMBER_REFERENCE
Used for instances of `MemberReferenceTree`.

### FOR_LOOP

public static final Tree.Kind FOR_LOOP
Used for instances of `ForLoopTree`.

### IDENTIFIER

public static final Tree.Kind IDENTIFIER
Used for instances of `IdentifierTree`.

### IF

public static final Tree.Kind IF
Used for instances of `IfTree`.

### IMPORT

public static final Tree.Kind IMPORT
Used for instances of `ImportTree`.

### INSTANCE_OF

public static final Tree.Kind INSTANCE_OF
Used for instances of `InstanceOfTree`.

### LABELED_STATEMENT

public static final Tree.Kind LABELED_STATEMENT
Used for instances of `LabeledStatementTree`.

### METHOD

public static final Tree.Kind METHOD
Used for instances of `MethodTree`.

### METHOD_INVOCATION

public static final Tree.Kind METHOD_INVOCATION
Used for instances of `MethodInvocationTree`.

### MODIFIERS

public static final Tree.Kind MODIFIERS
Used for instances of `ModifiersTree`.

### NEW_ARRAY

public static final Tree.Kind NEW_ARRAY
Used for instances of `NewArrayTree`.

### NEW_CLASS

public static final Tree.Kind NEW_CLASS
Used for instances of `NewClassTree`.

### LAMBDA_EXPRESSION

public static final Tree.Kind LAMBDA_EXPRESSION
Used for instances of `LambdaExpressionTree`.

### PACKAGE

public static final Tree.Kind PACKAGE
Used for instances of `PackageTree`.

Since:
  9

### PARENTHESIZED

public static final Tree.Kind PARENTHESIZED
Used for instances of `ParenthesizedTree`.

### ANY_PATTERN

public static final Tree.Kind ANY_PATTERN
Used for instances of `BindingPatternTree`.

Since:
  22

### BINDING_PATTERN

public static final Tree.Kind BINDING_PATTERN
Used for instances of `BindingPatternTree`.

Since:
  16

### DEFAULT_CASE_LABEL

public static final Tree.Kind DEFAULT_CASE_LABEL
Used for instances of `DefaultCaseLabelTree`.

Since:
  21

### CONSTANT_CASE_LABEL

public static final Tree.Kind CONSTANT_CASE_LABEL
Used for instances of `ConstantCaseLabelTree`.

Since:
  21

### PATTERN_CASE_LABEL

public static final Tree.Kind PATTERN_CASE_LABEL
Used for instances of `PatternCaseLabelTree`.

Since:
  21

### DECONSTRUCTION_PATTERN

public static final Tree.Kind DECONSTRUCTION_PATTERN
Used for instances of `DeconstructionPatternTree`.

Since:
  21

### PRIMITIVE_TYPE

public static final Tree.Kind PRIMITIVE_TYPE
Used for instances of `PrimitiveTypeTree`.

### RETURN

public static final Tree.Kind RETURN
Used for instances of `ReturnTree`.

### EMPTY_STATEMENT

public static final Tree.Kind EMPTY_STATEMENT
Used for instances of `EmptyStatementTree`.

### SWITCH

public static final Tree.Kind SWITCH
Used for instances of `SwitchTree`.

### SWITCH_EXPRESSION

public static final Tree.Kind SWITCH_EXPRESSION
Used for instances of `SwitchExpressionTree`.

Since:
  14

### SYNCHRONIZED

public static final Tree.Kind SYNCHRONIZED
Used for instances of `SynchronizedTree`.

### THROW

public static final Tree.Kind THROW
Used for instances of `ThrowTree`.

### TRY

public static final Tree.Kind TRY
Used for instances of `TryTree`.

### PARAMETERIZED_TYPE

public static final Tree.Kind PARAMETERIZED_TYPE
Used for instances of `ParameterizedTypeTree`.

### UNION_TYPE

public static final Tree.Kind UNION_TYPE
Used for instances of `UnionTypeTree`.

### INTERSECTION_TYPE

public static final Tree.Kind INTERSECTION_TYPE
Used for instances of `IntersectionTypeTree`.

### TYPE_CAST

public static final Tree.Kind TYPE_CAST
Used for instances of `TypeCastTree`.

### TYPE_PARAMETER

public static final Tree.Kind TYPE_PARAMETER
Used for instances of `TypeParameterTree`.

### VARIABLE

public static final Tree.Kind VARIABLE
Used for instances of `VariableTree`.

### WHILE_LOOP

public static final Tree.Kind WHILE_LOOP
Used for instances of `WhileLoopTree`.

### POSTFIX_INCREMENT

public static final Tree.Kind POSTFIX_INCREMENT
Used for instances of `UnaryTree` representing postfix increment operator `++`.

### POSTFIX_DECREMENT

public static final Tree.Kind POSTFIX_DECREMENT
Used for instances of `UnaryTree` representing postfix decrement operator `--`.

### PREFIX_INCREMENT

public static final Tree.Kind PREFIX_INCREMENT
Used for instances of `UnaryTree` representing prefix increment operator `++`.

### PREFIX_DECREMENT

public static final Tree.Kind PREFIX_DECREMENT
Used for instances of `UnaryTree` representing prefix decrement operator `--`.

### UNARY_PLUS

public static final Tree.Kind UNARY_PLUS
Used for instances of `UnaryTree` representing unary plus operator `+`.

### UNARY_MINUS

public static final Tree.Kind UNARY_MINUS
Used for instances of `UnaryTree` representing unary minus operator `-`.

### BITWISE_COMPLEMENT

public static final Tree.Kind BITWISE_COMPLEMENT
Used for instances of `UnaryTree` representing bitwise complement operator `~`.

### LOGICAL_COMPLEMENT

public static final Tree.Kind LOGICAL_COMPLEMENT
Used for instances of `UnaryTree` representing logical complement operator `!`.

### MULTIPLY

public static final Tree.Kind MULTIPLY
Used for instances of `BinaryTree` representing multiplication `*`.

### DIVIDE

public static final Tree.Kind DIVIDE
Used for instances of `BinaryTree` representing division `/`.

### REMAINDER

public static final Tree.Kind REMAINDER
Used for instances of `BinaryTree` representing remainder `%`.

### PLUS

public static final Tree.Kind PLUS
Used for instances of `BinaryTree` representing addition or string concatenation `+`.

### MINUS

public static final Tree.Kind MINUS
Used for instances of `BinaryTree` representing subtraction `-`.

### LEFT_SHIFT

public static final Tree.Kind LEFT_SHIFT
Used for instances of `BinaryTree` representing left shift `<<`.

### RIGHT_SHIFT

public static final Tree.Kind RIGHT_SHIFT
Used for instances of `BinaryTree` representing right shift `>>`.

### UNSIGNED_RIGHT_SHIFT

public static final Tree.Kind UNSIGNED_RIGHT_SHIFT
Used for instances of `BinaryTree` representing unsigned right shift `>>>`.

### LESS_THAN

public static final Tree.Kind LESS_THAN
Used for instances of `BinaryTree` representing less-than `<`.

### GREATER_THAN

public static final Tree.Kind GREATER_THAN
Used for instances of `BinaryTree` representing greater-than `>`.

### LESS_THAN_EQUAL

public static final Tree.Kind LESS_THAN_EQUAL
Used for instances of `BinaryTree` representing less-than-equal `<=`.

### GREATER_THAN_EQUAL

public static final Tree.Kind GREATER_THAN_EQUAL
Used for instances of `BinaryTree` representing greater-than-equal `>=`.

### EQUAL_TO

public static final Tree.Kind EQUAL_TO
Used for instances of `BinaryTree` representing equal-to `==`.

### NOT_EQUAL_TO

public static final Tree.Kind NOT_EQUAL_TO
Used for instances of `BinaryTree` representing not-equal-to `!=`.

### AND

public static final Tree.Kind AND
Used for instances of `BinaryTree` representing bitwise and logical "and" `&`.

### XOR

public static final Tree.Kind XOR
Used for instances of `BinaryTree` representing bitwise and logical "xor" `^`.

### OR

public static final Tree.Kind OR
Used for instances of `BinaryTree` representing bitwise and logical "or" `|`.

### CONDITIONAL_AND

public static final Tree.Kind CONDITIONAL_AND
Used for instances of `BinaryTree` representing conditional-and `&&`.

### CONDITIONAL_OR

public static final Tree.Kind CONDITIONAL_OR
Used for instances of `BinaryTree` representing conditional-or `||`.

### MULTIPLY_ASSIGNMENT

public static final Tree.Kind MULTIPLY_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing multiplication assignment `*=`.

### DIVIDE_ASSIGNMENT

public static final Tree.Kind DIVIDE_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing division assignment `/=`.

### REMAINDER_ASSIGNMENT

public static final Tree.Kind REMAINDER_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing remainder assignment `%=`.

### PLUS_ASSIGNMENT

public static final Tree.Kind PLUS_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing addition or string concatenation assignment `+=`.

### MINUS_ASSIGNMENT

public static final Tree.Kind MINUS_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing subtraction assignment `-=`.

### LEFT_SHIFT_ASSIGNMENT

public static final Tree.Kind LEFT_SHIFT_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing left shift assignment `<<=`.

### RIGHT_SHIFT_ASSIGNMENT

public static final Tree.Kind RIGHT_SHIFT_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing right shift assignment `>>=`.

### UNSIGNED_RIGHT_SHIFT_ASSIGNMENT

public static final Tree.Kind UNSIGNED_RIGHT_SHIFT_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing unsigned right shift assignment `>>>=`.

### AND_ASSIGNMENT

public static final Tree.Kind AND_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "and" assignment `&=`.

### XOR_ASSIGNMENT

public static final Tree.Kind XOR_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "xor" assignment `^=`.

### OR_ASSIGNMENT

public static final Tree.Kind OR_ASSIGNMENT
Used for instances of `CompoundAssignmentTree` representing bitwise and logical "or" assignment `|=`.

### INT_LITERAL

public static final Tree.Kind INT_LITERAL
Used for instances of `LiteralTree` representing an integral literal expression of type `int`.

### LONG_LITERAL

public static final Tree.Kind LONG_LITERAL
Used for instances of `LiteralTree` representing an integral literal expression of type `long`.

### FLOAT_LITERAL

public static final Tree.Kind FLOAT_LITERAL
Used for instances of `LiteralTree` representing a floating-point literal expression of type `float`.

### DOUBLE_LITERAL

public static final Tree.Kind DOUBLE_LITERAL
Used for instances of `LiteralTree` representing a floating-point literal expression of type `double`.

### BOOLEAN_LITERAL

public static final Tree.Kind BOOLEAN_LITERAL
Used for instances of `LiteralTree` representing a boolean literal expression of type `boolean`.

### CHAR_LITERAL

public static final Tree.Kind CHAR_LITERAL
Used for instances of `LiteralTree` representing a character literal expression of type `char`.

### STRING_LITERAL

public static final Tree.Kind STRING_LITERAL
Used for instances of `LiteralTree` representing a string literal expression of type `String`.

### NULL_LITERAL

public static final Tree.Kind NULL_LITERAL
Used for instances of `LiteralTree` representing the use of `null`.

### UNBOUNDED_WILDCARD

public static final Tree.Kind UNBOUNDED_WILDCARD
Used for instances of `WildcardTree` representing an unbounded wildcard type argument.

### EXTENDS_WILDCARD

public static final Tree.Kind EXTENDS_WILDCARD
Used for instances of `WildcardTree` representing an upper-bounded wildcard type argument.

### SUPER_WILDCARD

public static final Tree.Kind SUPER_WILDCARD
Used for instances of `WildcardTree` representing a lower-bounded wildcard type argument.

### ERRONEOUS

public static final Tree.Kind ERRONEOUS
Used for instances of `ErroneousTree`.

### INTERFACE

public static final Tree.Kind INTERFACE
Used for instances of `ClassTree` representing interfaces.

### ENUM

public static final Tree.Kind ENUM
Used for instances of `ClassTree` representing enums.

### ANNOTATION_TYPE

public static final Tree.Kind ANNOTATION_TYPE
Used for instances of `ClassTree` representing annotation types.

### MODULE

public static final Tree.Kind MODULE
Used for instances of `ModuleTree` representing module declarations.

### EXPORTS

public static final Tree.Kind EXPORTS
Used for instances of `ExportsTree` representing exports directives in a module declaration.

### OPENS

public static final Tree.Kind OPENS
Used for instances of `ExportsTree` representing opens directives in a module declaration.

### PROVIDES

public static final Tree.Kind PROVIDES
Used for instances of `ProvidesTree` representing provides directives in a module declaration.

### RECORD

public static final Tree.Kind RECORD
Used for instances of `ClassTree` representing records.

Since:
  16

### REQUIRES

public static final Tree.Kind REQUIRES
Used for instances of `RequiresTree` representing requires directives in a module declaration.

### USES

public static final Tree.Kind USES
Used for instances of `UsesTree` representing uses directives in a module declaration.

### OTHER

public static final Tree.Kind OTHER
An implementation-reserved node. This is not the node you are looking for.

### YIELD

public static final Tree.Kind YIELD
Used for instances of `YieldTree`.

Since:
  14

## Method Details

### values

public static Tree.Kind[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static Tree.Kind valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null

### asInterface

public Class<? extends Tree> asInterface()
Returns the associated interface type that uses this kind.

Returns:
  the associated interface