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

All Methods Instance Methods Abstract Methods Deprecated Methods
`<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 Detail

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