Tree (Java SE 13 & JDK 13 )
Description: declaration: module: jdk.scripting.nashorn, package: jdk.nashorn.api.tree, interface: Tree
Keywords: jdk.nashorn.api.tree.Tree interface

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

# Interface Tree

All Known Subinterfaces:
  `ArrayAccessTree`, `ArrayLiteralTree`, `AssignmentTree`, `BinaryTree`, `BlockTree`, `BreakTree`, `CaseTree`, `CatchTree`, `ClassDeclarationTree`, `ClassExpressionTree`, `CompilationUnitTree`, `CompoundAssignmentTree`, `ConditionalExpressionTree`, `ConditionalLoopTree`, `ContinueTree`, `DebuggerTree`, `DoWhileLoopTree`, `EmptyStatementTree`, `ErroneousTree`, `ExportEntryTree`, `ExpressionStatementTree`, `ExpressionTree`, `ForInLoopTree`, `ForLoopTree`, `ForOfLoopTree`, `FunctionCallTree`, `FunctionDeclarationTree`, `FunctionExpressionTree`, `GotoTree`, `IdentifierTree`, `IfTree`, `ImportEntryTree`, `InstanceOfTree`, `LabeledStatementTree`, `LiteralTree`, `LoopTree`, `MemberSelectTree`, `ModuleTree`, `NewTree`, `ObjectLiteralTree`, `ParenthesizedTree`, `PropertyTree`, `RegExpLiteralTree`, `ReturnTree`, `SpreadTree`, `StatementTree`, `SwitchTree`, `TemplateLiteralTree`, `ThrowTree`, `TryTree`, `UnaryTree`, `VariableTree`, `WhileLoopTree`, `WithTree`, `YieldTree`

    @Deprecated(since="11",
                forRemoval=true)
    public interface Tree

Deprecated, for removal: This API element is subject to removal in a future version.
Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.
Common interface for all nodes in an abstract syntax tree.

WARNING: This interface and its sub-interfaces are subject to change as the ECMAScript programming language evolves.

Since:
  9

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Interface | Description
  --- | --- | ---
  `static class` | `Tree.Kind` | Deprecated, for removal: This API element is subject to removal in a future version. Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `<R,​ D> R` | `accept​(TreeVisitor<R,​D> visitor, D data)` | Deprecated, for removal: This API element is subject to removal in a future version. Accept method used to implement the visitor pattern.
  `long` | `getEndPosition()` | Deprecated, for removal: This API element is subject to removal in a future version. End character offset of this Tree within the source.
  `Tree.Kind` | `getKind()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the kind of this tree.
  `long` | `getStartPosition()` | Deprecated, for removal: This API element is subject to removal in a future version. Start character offset of this Tree within the source.

- ## Method Details

  - ### getStartPosition

    long getStartPosition()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Start character offset of this Tree within the source.
    Returns:
      the position

  - ### getEndPosition

    long getEndPosition()
    Deprecated, for removal: This API element is subject to removal in a future version.
    End character offset of this Tree within the source.
    Returns:
      the position

  - ### getKind

    Tree.Kind getKind()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the kind of this tree.
    Returns:
      the kind of this tree.

  - ### accept

    <R,​ D> R accept​(TreeVisitor<R,​D> visitor, D data)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Accept method used to implement the visitor pattern. The visitor pattern is used to implement operations on trees.
    Type Parameters:
      `R` - result type of this operation.
      `D` - type of additional data.
    Parameters:
      `visitor` - tree visitor
      `data` - additional data passed to visitor methods
    Returns:
      the value from visitor's visit methods