Tree.Kind (Java SE 9 & JDK 9 )
Keywords: jdk.nashorn.api.tree.Tree.Kind class

Module jdk.scripting.nashorn
Package jdk.nashorn.api.tree

## Enum Tree.Kind

- java.lang.Object
- - java.lang.Enum<Tree.Kind>
  - - jdk.nashorn.api.tree.Tree.Kind

- All Implemented Interfaces:
    `Serializable`, `Comparable<Tree.Kind>`
  Enclosing interface:
    Tree

      public static enum Tree.Kind
      extends Enum<Tree.Kind>

  Enumerates all kinds of trees.

- - ### 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 `&=`.
    `ARRAY_ACCESS` | Used for instances of `ArrayAccessTree`.
    `ARRAY_LITERAL` | Used for instances of `ArrayLiteralTree`.
    `ASSIGNMENT` | Used for instances of `AssignmentTree`.
    `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`.
    `CLASS` | Used for instances of `ClassDeclarationTree`.
    `CLASS_EXPRESSION` | Used for instances of `ClassExpressionTree`.
    `COMMA` | Used for instances of `BinaryTree` representing comma `,`.
    `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 `||`.
    `CONTINUE` | Used for instances of `ContinueTree`.
    `DEBUGGER` | Used for instances of `DebuggerTree`.
    `DELETE` | Used for instances of `UnaryTree` representing logical delete operator `delete`.
    `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`.
    `EMPTY_STATEMENT` | Used for instances of `EmptyStatementTree`.
    `EQUAL_TO` | Used for instances of `BinaryTree` representing equal-to `==`.
    `ERROR` | Used for instances of `ErroneousTree`.
    `EXPORT_ENTRY` | Used for instances of `ExportEntryTree`.
    `EXPRESSION_STATEMENT` | Used for instances of `ExpressionStatementTree`.
    `FOR_IN_LOOP` | Used for instances of `ForInLoopTree`.
    `FOR_LOOP` | Used for instances of `ForLoopTree`.
    `FUNCTION` | Used for instances of `FunctionDeclarationTree`.
    `FUNCTION_EXPRESSION` | Used for instances of `FunctionExpressionTree`.
    `FUNCTION_INVOCATION` | Used for instances of `FunctionCallTree`.
    `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_ENTRY` | Used for instances of `ImportEntryTree`.
    `IN` | Used for instances of `BinaryTree` representing in operator `in`.
    `INSTANCE_OF` | Used for instances of `InstanceOfTree`.
    `LABELED_STATEMENT` | Used for instances of `LabeledStatementTree`.
    `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 `!`.
    `MEMBER_SELECT` | Used for instances of `MemberSelectTree`.
    `MINUS` | Used for instances of `BinaryTree` representing subtraction `-`.
    `MINUS_ASSIGNMENT` | Used for instances of `CompoundAssignmentTree` representing subtraction assignment `-=`.
    `MODULE` | Used for instances of `ModuleTree`.
    `MULTIPLY` | Used for instances of `BinaryTree` representing multiplication `*`.
    `MULTIPLY_ASSIGNMENT` | Used for instances of `CompoundAssignmentTree` representing multiplication assignment `*=`.
    `NEW` | Used for instances of `NewTree`.
    `NOT_EQUAL_TO` | Used for instances of `BinaryTree` representing not-equal-to `!=`.
    `NULL_LITERAL` | Used for instances of `LiteralTree` representing the use of `null`.
    `NUMBER_LITERAL` | Used for instances of `LiteralTree` representing a number literal expression of type `double`.
    `OBJECT_LITERAL` | Used for instances of `ObjectLiteralTree`.
    `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.
    `PARENTHESIZED` | Used for instances of `ParenthesizedTree`.
    `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 `++`.
    `PROPERTY` | Used for instances of `PropertyTree`.
    `REGEXP_LITERAL` | Used for instances of `RegExpLiteralTree`.
    `REMAINDER` | Used for instances of `BinaryTree` representing remainder `%`.
    `REMAINDER_ASSIGNMENT` | Used for instances of `CompoundAssignmentTree` representing remainder assignment `%=`.
    `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 `>>=`.
    `SPREAD` | Used for instances of `SpreadTree` representing spread "operator" for arrays and function call arguments.
    `STRICT_EQUAL_TO` | Used for instances of `BinaryTree` representing equal-to `===`.
    `STRICT_NOT_EQUAL_TO` | Used for instances of `BinaryTree` representing not-equal-to `!==`.
    `STRING_LITERAL` | Used for instances of `LiteralTree` representing a string literal expression of type `String`.
    `SWITCH` | Used for instances of `SwitchTree`.
    `TEMPLATE_LITERAL` | Used for instances of `TemplateLiteralTree`.
    `THROW` | Used for instances of `ThrowTree`.
    `TRY` | Used for instances of `TryTree`.
    `TYPEOF` | Used for instances of `UnaryTree` representing logical typeof operator `typeof`.
    `UNARY_MINUS` | Used for instances of `UnaryTree` representing unary minus operator `-`.
    `UNARY_PLUS` | Used for instances of `UnaryTree` representing unary plus operator `+`.
    `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 `>>>=`.
    `VARIABLE` | Used for instances of `VariableTree`.
    `VOID` | Used for instances of `UnaryTree` representing logical void operator `void`.
    `WHILE_LOOP` | Used for instances of `WhileLoopTree`.
    `WITH` | Used for instances of `WithTree`.
    `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` representing (generator) yield expression `yield expr`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Class<? extends Tree>` | `asInterface​()` | Returns the associated interface type that uses this kind.
    `boolean` | `isExpression​()` | Returns if this is an expression tree kind or not.
    `boolean` | `isLiteral​()` | Returns if this is a literal tree kind or not.
    `boolean` | `isStatement​()` | Returns if this is a statement tree kind or not.
    `static Tree.Kind` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static Tree.Kind[]` | `values​()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Enum Constant Detail

    - #### ARRAY_ACCESS

          public static final Tree.Kind ARRAY_ACCESS

      Used for instances of `ArrayAccessTree`.

    - #### ARRAY_LITERAL

          public static final Tree.Kind ARRAY_LITERAL

      Used for instances of `ArrayLiteralTree`.

    - #### 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`.

    - #### CLASS

          public static final Tree.Kind CLASS

      Used for instances of `ClassDeclarationTree`.

    - #### CLASS_EXPRESSION

          public static final Tree.Kind CLASS_EXPRESSION

      Used for instances of `ClassExpressionTree`.

    - #### CASE

          public static final Tree.Kind CASE

      Used for instances of `CaseTree`.

    - #### CATCH

          public static final Tree.Kind CATCH

      Used for instances of `CatchTree`.

    - #### 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`.

    - #### DEBUGGER

          public static final Tree.Kind DEBUGGER

      Used for instances of `DebuggerTree`.

    - #### FOR_IN_LOOP

          public static final Tree.Kind FOR_IN_LOOP

      Used for instances of `ForInLoopTree`.

    - #### FUNCTION_EXPRESSION

          public static final Tree.Kind FUNCTION_EXPRESSION

      Used for instances of `FunctionExpressionTree`.

    - #### ERROR

          public static final Tree.Kind ERROR

      Used for instances of `ErroneousTree`.

    - #### 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`.

    - #### 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`.

    - #### 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`.

    - #### MODULE

          public static final Tree.Kind MODULE

      Used for instances of `ModuleTree`.

    - #### EXPORT_ENTRY

          public static final Tree.Kind EXPORT_ENTRY

      Used for instances of `ExportEntryTree`.

    - #### IMPORT_ENTRY

          public static final Tree.Kind IMPORT_ENTRY

      Used for instances of `ImportEntryTree`.

    - #### FUNCTION

          public static final Tree.Kind FUNCTION

      Used for instances of `FunctionDeclarationTree`.

    - #### FUNCTION_INVOCATION

          public static final Tree.Kind FUNCTION_INVOCATION

      Used for instances of `FunctionCallTree`.

    - #### NEW

          public static final Tree.Kind NEW

      Used for instances of `NewTree`.

    - #### OBJECT_LITERAL

          public static final Tree.Kind OBJECT_LITERAL

      Used for instances of `ObjectLiteralTree`.

    - #### PARENTHESIZED

          public static final Tree.Kind PARENTHESIZED

      Used for instances of `ParenthesizedTree`.

    - #### PROPERTY

          public static final Tree.Kind PROPERTY

      Used for instances of `PropertyTree`.

    - #### REGEXP_LITERAL

          public static final Tree.Kind REGEXP_LITERAL

      Used for instances of `RegExpLiteralTree`.

    - #### TEMPLATE_LITERAL

          public static final Tree.Kind TEMPLATE_LITERAL

      Used for instances of `TemplateLiteralTree`.

    - #### 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`.

    - #### THROW

          public static final Tree.Kind THROW

      Used for instances of `ThrowTree`.

    - #### TRY

          public static final Tree.Kind TRY

      Used for instances of `TryTree`.

    - #### 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`.

    - #### WITH

          public static final Tree.Kind WITH

      Used for instances of `WithTree`.

    - #### 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 `!`.

    - #### DELETE

          public static final Tree.Kind DELETE

      Used for instances of `UnaryTree` representing logical delete operator `delete`.

    - #### TYPEOF

          public static final Tree.Kind TYPEOF

      Used for instances of `UnaryTree` representing logical typeof operator `typeof`.

    - #### VOID

          public static final Tree.Kind VOID

      Used for instances of `UnaryTree` representing logical void operator `void`.

    - #### COMMA

          public static final Tree.Kind COMMA

      Used for instances of `BinaryTree` representing comma `,`.

    - #### 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 `>=`.

    - #### IN

          public static final Tree.Kind IN

      Used for instances of `BinaryTree` representing in operator `in`.

    - #### 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 `!=`.

    - #### STRICT_EQUAL_TO

          public static final Tree.Kind STRICT_EQUAL_TO

      Used for instances of `BinaryTree` representing equal-to `===`.

    - #### STRICT_NOT_EQUAL_TO

          public static final Tree.Kind STRICT_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 `|=`.

    - #### SPREAD

          public static final Tree.Kind SPREAD

      Used for instances of `SpreadTree` representing spread "operator" for arrays and function call arguments.

    - #### YIELD

          public static final Tree.Kind YIELD

      Used for instances of `YieldTree` representing (generator) yield expression `yield expr`.

    - #### NUMBER_LITERAL

          public static final Tree.Kind NUMBER_LITERAL

      Used for instances of `LiteralTree` representing a number 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`.

    - #### 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`.

    - #### OTHER

          public static final Tree.Kind OTHER

      An implementation-reserved node. This is the not the node you are looking for.

  - ### Method Detail

    - #### values

          public static Tree.Kind[] values​()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (Tree.Kind c : Tree.Kind.values())
              System.out.println(c);

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

    - #### valueOf

          public static Tree.Kind valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type 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

    - #### isLiteral

          public boolean isLiteral​()

      Returns if this is a literal tree kind or not.
      Returns:
        true if this is a literal tree kind, false otherwise

    - #### isExpression

          public boolean isExpression​()

      Returns if this is an expression tree kind or not.
      Returns:
        true if this is an expression tree kind, false otherwise

    - #### isStatement

          public boolean isStatement​()

      Returns if this is a statement tree kind or not.
      Returns:
        true if this is a statement tree kind, false otherwise