## Uses of Class
org.eclipse.wst.jsdt.core.dom.ASTNode

Packages that use ASTNode
org.eclipse.wst.jsdt.core.dom
org.eclipse.wst.jsdt.core.dom.rewrite
org.eclipse.wst.jsdt.ui.text.java

### Uses of ASTNode in org.eclipse.wst.jsdt.core.dom

Subclasses of ASTNode in org.eclipse.wst.jsdt.core.dom
`class` `AbstractTypeDeclaration` Abstract subclass for type declaration AST node types.
`class` `AnonymousClassDeclaration` Anonymous class declaration AST node type.
`class` `ArrayAccess` Array access expression AST node type.
`class` `ArrayCreation` Array creation expression AST node type.
`class` `ArrayInitializer` Array initializer AST node type.
`class` `ArrayName` Array pattern Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `ArrayType` Type node for an array type.
`class` `ArrowFunctionExpression` Arrow expression AST Node type ArrowFunctionExpression: ( parameters ) => {body} | expression Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `Assignment` Assignment expression AST node type.
`class` `AssignmentName` Assignment pattern
`class` `Block` Block statement AST node type.
`class` `BlockComment` Block comment AST node type.
`class` `BodyDeclaration` Abstract base class of all AST nodes that represent body declarations that may appear in the body of some kind of class or interface declaration, including anonymous class declarations.
`class` `BooleanLiteral` Boolean literal node.
`class` `BreakStatement` Break statement AST node type.
`class` `CatchClause` Catch clause AST node type.
`class` `CharacterLiteral` Character literal nodes.
`class` `ClassInstanceCreation` Class instance creation expression AST node type.
`class` `Comment` Abstract base class for all AST nodes that represent comments.
`class` `ConditionalExpression` Conditional expression AST node type.
`class` `ConstructorInvocation` Alternate constructor invocation statement AST node type.
`class` `ContinueStatement` Continue statement AST node type.
`class` `DebuggerStatement` debugger statement AST node type author Gorkem Ercan Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `DoStatement` Do statement AST node type.
`class` `EmptyExpression` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `EmptyStatement` Null statement AST node type.
`class` `EnhancedForStatement` Enhanced For statement AST node type (added in JLS3 API).
`class` `ExportDeclaration` ExportDeclaration AST node type Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `Expression` Abstract base class of AST nodes that represent expressions.
`class` `ExpressionStatement` Expression statement AST node type.
`class` `FieldAccess` Field access expression AST node type.
`class` `FieldDeclaration` Field declaration node type.
`class` `ForInStatement` For statement AST node type.
`class` `ForOfStatement` For...of statement AST node type.
`class` `ForStatement` For statement AST node type.
`class` `FunctionDeclaration` Method declaration AST node type.
`class` `FunctionDeclarationStatement` Wrapper to turn `FunctionDeclaration` to a `Statement` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `FunctionExpression` Cast expression AST node type.
`class` `FunctionInvocation` Method invocation expression AST node type.
`class` `FunctionRef` AST node for a method or constructor reference within a doc comment (`JSdoc`).
`class` `FunctionRefParameter` AST node for a parameter within a method reference (`FunctionRef`).
`class` `IfStatement` If statement AST node type.
`class` `ImportDeclaration` Import declaration AST node type.
`class` `InferredType` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `InfixExpression` Infix expression AST node type.
`class` `Initializer` Static or instance initializer AST node type.
`class` `InstanceofExpression` Instanceof expression AST node type.
`class` `JavaScriptUnit` JavaScript javaScript unit AST node type.
`class` `JSdoc` AST node for a Javadoc-style doc comment.
`class` `LabeledStatement` Labeled statement AST node type.
`class` `LineComment` End-of-line comment AST node type.
`class` `ListExpression` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `MemberRef` AST node for a member reference within a doc comment (`JSdoc`).
`class` `MetaProperty` MetaProperty node new.target
`class` `Modifier` Modifier node.
`class` `ModuleSpecifier` ModuleSpecifier for Import/Export declarations When used with `ImportDeclaration` The `ModuleSpecifier.discoverableName` refers to the name of the export imported from the module.
`class` `Name` Abstract base class for all AST nodes that represent names.
`class` `NullLiteral` Null literal node.
`class` `NumberLiteral` Number literal nodes.
`class` `ObjectLiteral` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `ObjectLiteralField` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `ObjectName` Object pattern
`class` `PackageDeclaration` Package declaration AST node type.
`class` `ParenthesizedExpression` Parenthesized expression AST node type.
`class` `PostfixExpression` Postfix expression AST node type.
`class` `PrefixExpression` Prefix expression AST node type.
`class` `PrimitiveType` Primitive type nodes.
`class` `ProgramElement` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `QualifiedName` AST node for a qualified name.
`class` `QualifiedType` Type node for a qualified type (added in JLS3 API).
`class` `RegularExpressionLiteral` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `RestElementName` RestElement pattern Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `ReturnStatement` Return statement AST node type.
`class` `SimpleName` AST node for a simple name.
`class` `SimpleType` Type node for a named class type, a named interface type, or a type variable.
`class` `SingleVariableDeclaration` Single variable declaration AST node type.
`class` `SpreadElement` Spread element node Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `Statement` Abstract base class of AST nodes that represent statements.
`class` `StringLiteral` String literal nodes.
`class` `SuperConstructorInvocation` Super constructor invocation statement AST node type.
`class` `SuperFieldAccess` Simple or qualified "super" field access expression AST node type.
`class` `SuperMethodInvocation` Simple or qualified "super" method invocation expression AST node type.
`class` `SwitchCase` Switch case AST node type.
`class` `SwitchStatement` Switch statement AST node type.
`class` `TagElement` AST node for a tag within a doc comment.
`class` `TemplateElement` Elements for `TemplateLiteral` node Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `TemplateLiteral` AST Node for ES2015 Template literals
`class` `TextElement` AST node for a text element within a doc comment.
`class` `ThisExpression` Simple or qualified "this" AST node type.
`class` `ThrowStatement` Throw statement AST node type.
`class` `TryStatement` Try statement AST node type.
`class` `Type` Abstract base class of all type AST node types.
`class` `TypeDeclaration` Type declaration AST node type.
`class` `TypeDeclarationExpression` A type declaration expression AST node type.
`class` `TypeDeclarationStatement` Local type declaration statement AST node type.
`class` `TypeLiteral` Type literal AST node type.
`class` `UndefinedLiteral` Null literal node.
`class` `VariableDeclaration` Abstract base class of all AST node types that declare a single local variable.
`class` `VariableDeclarationExpression` Local variable declaration expression AST node type.
`class` `VariableDeclarationFragment` Variable declaration fragment AST node type, used in field declarations, local variable declarations, and `ForStatement` initializers.
`class` `VariableDeclarationStatement` Local variable declaration statement AST node type.
`class` `WhileStatement` While statement AST node type.
`class` `WithStatement` With statement AST node type.
`class` `YieldExpression` Yield expression AST Node type YieldExpression: yield [expression]; Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.

Methods in org.eclipse.wst.jsdt.core.dom that return ASTNode
`static ASTNode` ASTNode.`copySubtree(AST target, ASTNode node)` Returns a deep copy of the subtree of AST nodes rooted at the given node.
`ASTNode` ASTParser.`createAST(IProgressMonitor monitor)` Creates an abstract syntax tree.
`ASTNode` AST.`createInstance(java.lang.Class nodeClass)` Creates an unparented node of the given node class (non-abstract subclass of `ASTNode`).
`ASTNode` AST.`createInstance(int nodeType)` Creates an unparented node of the given node type.
`ASTNode` JavaScriptUnit.`findDeclaringNode(IBinding binding)` Finds the corresponding AST node in the given javaScript unit from which the given binding originated.
`ASTNode` JavaScriptUnit.`findDeclaringNode(java.lang.String key)` Finds the corresponding AST node in the given javaScript unit from which the binding with the given key originated.
`ASTNode` Comment.`getAlternateRoot()` Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).
`ASTNode` ASTNode.`getBodyChild()`
`ASTNode` ExportDeclaration.`getDeclaration()`
`ASTNode` ASTNode.`getParent()` Returns this node's parent node, or `null` if this is the root node.
`ASTNode` ASTNode.`getRoot()` Returns the root node at or above this node; returns this node if it is a root.
`ASTNode` ClosureCompilerASTConverter.`transform(StructuralPropertyDescriptor property, ParseTree tree)`

Methods in org.eclipse.wst.jsdt.core.dom that return types with arguments of type ASTNode
`java.util.List<ASTNode>` JavaScriptUnit.`exports()` Returns the live list of nodes for the export declarations of this javaScript unit, in order of appearance.
`java.util.List<ASTNode>` JavaScriptUnit.`imports()` Returns the live list of nodes for the import declarations of this javaScript unit, in order of appearance.
`java.util.List<ASTNode>` JavaScriptUnit.`statements()`

Methods in org.eclipse.wst.jsdt.core.dom with parameters of type ASTNode
`static ASTNode` ASTNode.`copySubtree(AST target, ASTNode node)` Returns a deep copy of the subtree of AST nodes rooted at the given node.
`protected void` DefaultASTVisitor.`endVisitNode(ASTNode node)`
`int` JavaScriptUnit.`firstLeadingCommentIndex(ASTNode node)` Return the index in the whole comments list `JavaScriptUnit.getCommentList()` of the first leading comments associated with the given node.
`int` JavaScriptUnit.`getExtendedLength(ASTNode node)` Returns the extended source length of the given node.
`int` JavaScriptUnit.`getExtendedStartPosition(ASTNode node)` Returns the extended start position of the given node.
`int` JavaScriptUnit.`lastTrailingCommentIndex(ASTNode node)` Return the index in the whole comments list `JavaScriptUnit.getCommentList()` of the last trailing comments associated with the given node.
`void` ASTVisitor.`postVisit(ASTNode node)` Visits the given AST node following the type-specific visit (after `endVisit`).
`void` ASTVisitor.`preVisit(ASTNode node)` Visits the given AST node prior to the type-specific visit.
`void` Comment.`setAlternateRoot(ASTNode root)` Returns the root AST node that this comment occurs within, or `null` if none (or not recorded).
`void` ExportDeclaration.`setDeclaration(ASTNode declaration)`
`protected boolean` DefaultASTVisitor.`visitNode(ASTNode node)`

### Uses of ASTNode in org.eclipse.wst.jsdt.core.dom.rewrite

Methods in org.eclipse.wst.jsdt.core.dom.rewrite that return ASTNode
`ASTNode` ASTRewrite.`createCopyTarget(ASTNode node)` Creates and returns a placeholder node for a true copy of the given node.
`ASTNode` ListRewrite.`createCopyTarget(ASTNode first, ASTNode last)` Creates and returns a placeholder node for a true copy of a range of nodes of the current list.
`ASTNode` ASTRewrite.`createGroupNode(ASTNode[] targetNodes)` Creates and returns a node that represents a sequence of nodes.
`ASTNode` ASTRewrite.`createMoveTarget(ASTNode node)` Creates and returns a placeholder node for the new locations of the given node.
`ASTNode` ListRewrite.`createMoveTarget(ASTNode first, ASTNode last)` Creates and returns a placeholder node for a move of a range of nodes of the current list.
`ASTNode` ListRewrite.`createMoveTarget(ASTNode first, ASTNode last, ASTNode replacingNode, TextEditGroup editGroup)` Creates and returns a placeholder node for a move of a range of nodes of the current list.
`ASTNode` ASTRewrite.`createStringPlaceholder(java.lang.String code, int nodeType)` Creates and returns a placeholder node for a source string that is to be inserted into the output document at the position corresponding to the placeholder.
`ASTNode` ListRewrite.`getParent()` Returns the parent of the list for which this list rewriter was created.

Methods in org.eclipse.wst.jsdt.core.dom.rewrite with parameters of type ASTNode
`TargetSourceRangeComputer.SourceRange` TargetSourceRangeComputer.`computeSourceRange(ASTNode node)` Returns the target source range of the given node.
`ASTNode` ASTRewrite.`createCopyTarget(ASTNode node)` Creates and returns a placeholder node for a true copy of the given node.
`ASTNode` ListRewrite.`createCopyTarget(ASTNode first, ASTNode last)` Creates and returns a placeholder node for a true copy of a range of nodes of the current list.
`ASTNode` ASTRewrite.`createGroupNode(ASTNode[] targetNodes)` Creates and returns a node that represents a sequence of nodes.
`ASTNode` ASTRewrite.`createMoveTarget(ASTNode node)` Creates and returns a placeholder node for the new locations of the given node.
`ASTNode` ListRewrite.`createMoveTarget(ASTNode first, ASTNode last)` Creates and returns a placeholder node for a move of a range of nodes of the current list.
`ASTNode` ListRewrite.`createMoveTarget(ASTNode first, ASTNode last, ASTNode replacingNode, TextEditGroup editGroup)` Creates and returns a placeholder node for a move of a range of nodes of the current list.
`java.lang.Object` ASTRewrite.`get(ASTNode node, StructuralPropertyDescriptor property)` Returns the value of the given property as managed by this rewriter.
`ListRewrite` ASTRewrite.`getListRewrite(ASTNode node, ChildListPropertyDescriptor property)` Creates and returns a new rewriter for describing modifications to the given list property of the given node.
`void` ListRewrite.`insertAfter(ASTNode node, ASTNode element, TextEditGroup editGroup)` Inserts the given node into the list after the given element.
`void` ListRewrite.`insertAt(ASTNode node, int index, TextEditGroup editGroup)` Inserts the given node into the list at the given index.
`void` ListRewrite.`insertBefore(ASTNode node, ASTNode element, TextEditGroup editGroup)` Inserts the given node into the list before the given element.
`void` ListRewrite.`insertFirst(ASTNode node, TextEditGroup editGroup)` Inserts the given node into the list at the start of the list.
`void` ListRewrite.`insertLast(ASTNode node, TextEditGroup editGroup)` Inserts the given node into the list at the end of the list.
`void` ListRewrite.`remove(ASTNode node, TextEditGroup editGroup)` Removes the given node from its parent's list property in the rewriter.
`void` ASTRewrite.`remove(ASTNode node, TextEditGroup editGroup)` Removes the given node from its parent in this rewriter.
`void` ListRewrite.`replace(ASTNode node, ASTNode replacement, TextEditGroup editGroup)` Replaces the given node from its parent's list property in the rewriter.
`void` ASTRewrite.`replace(ASTNode node, ASTNode replacement, TextEditGroup editGroup)` Replaces the given node in this rewriter.
`void` ASTRewrite.`set(ASTNode node, StructuralPropertyDescriptor property, java.lang.Object value, TextEditGroup editGroup)` Sets the given property of the given node.
`ITrackedNodePosition` ASTRewrite.`track(ASTNode node)` Returns an object that tracks the source range of the given node across the rewrite to its AST.

### Uses of ASTNode in org.eclipse.wst.jsdt.ui.text.java

Methods in org.eclipse.wst.jsdt.ui.text.java that return ASTNode
`ASTNode` IInvocationContext.`getCoveredNode()` Convenience method to evaluate the AST node that is covered by the current selection.
`ASTNode` IProblemLocation.`getCoveredNode(JavaScriptUnit astRoot)` Convenience method to evaluate the AST node covered by this problem.
`ASTNode` IInvocationContext.`getCoveringNode()` Convenience method to evaluate the AST node covering the current selection.
`ASTNode` IProblemLocation.`getCoveringNode(JavaScriptUnit astRoot)` Convenience method to evaluate the AST node covering this problem.