# Package org.eclipse.wst.jsdt.core.dom

Interface Summary
IBinding: A binding represents a named entity in the JavaScript language.
IExtendedModifier: Common interface for AST nodes that represent modifiers or annotations.
IFunctionBinding: A method binding represents a method or constructor of a class or interface.
IPackageBinding: A package binding represents a named or unnamed package.
ITypeBinding: A type binding represents fully-resolved type.
IVariableBinding: A variable binding represents either a field of a class or interface, or a local variable declaration (including formal parameters, local variables, and exception variables).

Class Summary
AbstractTypeDeclaration: Abstract subclass for type declaration AST node types.
AnonymousClassDeclaration: Anonymous class declaration AST node type.
ArrayAccess: Array access expression AST node type.
ArrayCreation: Array creation expression AST node type.
ArrayInitializer: Array initializer AST node type.
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.
ArrayType: Type node for an array type.
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.
Assignment: Assignment expression AST node type.
Assignment.Operator: Assignment operators (typesafe enumeration).
AssignmentName: Assignment pattern
AST: Umbrella owner and abstract syntax tree node factory.
ASTMatcher: Concrete superclass and default implementation of an AST subtree matcher.
ASTNode: Abstract superclass of all Abstract Syntax Tree (AST) node types.
ASTParser: A JavaScript language parser for creating abstract syntax trees (ASTs).
ASTRequestor: An AST requestor handles ASTs for javaScript units passed to `ASTParser.createASTs`.
ASTVisitor: A visitor for abstract syntax trees.
Block: Block statement AST node type.
BlockComment: Block comment AST node type.
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.
BooleanLiteral: Boolean literal node.
BreakStatement: Break statement AST node type.
CatchClause: Catch clause AST node type.
CharacterLiteral: Character literal nodes.
ChildListPropertyDescriptor: Descriptor for a child list property of an AST node.
ChildPropertyDescriptor: Descriptor for a child property of an AST node.
ClassInstanceCreation: Class instance creation expression AST node type.
ClosureCompilerASTConverter: Converts closure compiler's IR model to DOM AST.
Comment: Abstract base class for all AST nodes that represent comments.
ConditionalExpression: Conditional expression AST node type.
ConstructorInvocation: Alternate constructor invocation statement AST node type.
ContinueStatement: Continue statement AST node type.
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.
DefaultASTVisitor: An `ASTVisitor` that can be configured to have a default implementation for all nodes.
DoStatement: Do statement AST node type.
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.
EmptyStatement: Null statement AST node type.
EnhancedForStatement: Enhanced For statement AST node type (added in JLS3 API).
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.
Expression: Abstract base class of AST nodes that represent expressions.
ExpressionStatement: Expression statement AST node type.
FieldAccess: Field access expression AST node type.
FieldDeclaration: Field declaration node type.
ForInStatement: For statement AST node type.
ForOfStatement: For...of statement AST node type.
ForStatement: For statement AST node type.
FunctionDeclaration: Method declaration AST node type.
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.
FunctionExpression: Cast expression AST node type.
FunctionInvocation: Method invocation expression AST node type.
FunctionRef: AST node for a method or constructor reference within a doc comment (`JSdoc`).
FunctionRefParameter: AST node for a parameter within a method reference (`FunctionRef`).
IfStatement: If statement AST node type.
ImportDeclaration: Import declaration AST node type.
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.
InfixExpression: Infix expression AST node type.
InfixExpression.Operator: Infix operators (typesafe enumeration).
Initializer: Static or instance initializer AST node type.
InstanceofExpression: Instanceof expression AST node type.
JavaScriptUnit: JavaScript javaScript unit AST node type.
JSdoc: AST node for a Javadoc-style doc comment.
LabeledStatement: Labeled statement AST node type.
LineComment: End-of-line comment AST node type.
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.
MemberRef: AST node for a member reference within a doc comment (`JSdoc`).
Message: Error message used to report potential errors found during the AST parsing or name resolution.
MetaProperty: MetaProperty node new.target
Modifier: Modifier node.
Modifier.ModifierKeyword: Modifier keywords (typesafe enumeration).
ModuleSpecifier: ModuleSpecifier for Import/Export declarations When used with `ImportDeclaration` The `ModuleSpecifier.discoverableName` refers to the name of the export imported from the module.
Name: Abstract base class for all AST nodes that represent names.
NullLiteral: Null literal node.
NumberLiteral: Number literal nodes.
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.
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.
ObjectName: Object pattern
PackageDeclaration: Package declaration AST node type.
ParenthesizedExpression: Parenthesized expression AST node type.
PostfixExpression: Postfix expression AST node type.
PostfixExpression.Operator: Postfix operators (typesafe enumeration).
PrefixExpression: Prefix expression AST node type.
PrefixExpression.Operator: Prefix operators (typesafe enumeration).
PrimitiveType: Primitive type nodes.
PrimitiveType.Code: Primitive type codes (typesafe enumeration).
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.
QualifiedName: AST node for a qualified name.
QualifiedType: Type node for a qualified type (added in JLS3 API).
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.
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.
ReturnStatement: Return statement AST node type.
SimpleName: AST node for a simple name.
SimplePropertyDescriptor: Descriptor for a simple property of an AST node.
SimpleType: Type node for a named class type, a named interface type, or a type variable.
SingleVariableDeclaration: Single variable declaration AST node type.
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.
Statement: Abstract base class of AST nodes that represent statements.
StringLiteral: String literal nodes.
StructuralPropertyDescriptor: Abstract base class for property descriptors of AST nodes.
SuperConstructorInvocation: Super constructor invocation statement AST node type.
SuperFieldAccess: Simple or qualified "super" field access expression AST node type.
SuperMethodInvocation: Simple or qualified "super" method invocation expression AST node type.
SwitchCase: Switch case AST node type.
SwitchStatement: Switch statement AST node type.
TagElement: AST node for a tag within a doc comment.
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.
TemplateLiteral: AST Node for ES2015 Template literals
TextElement: AST node for a text element within a doc comment.
ThisExpression: Simple or qualified "this" AST node type.
ThrowStatement: Throw statement AST node type.
TryStatement: Try statement AST node type.
Type: Abstract base class of all type AST node types.
TypeDeclaration: Type declaration AST node type.
TypeDeclarationExpression: A type declaration expression AST node type.
TypeDeclarationStatement: Local type declaration statement AST node type.
TypeLiteral: Type literal AST node type.
UndefinedLiteral: Null literal node.
VariableDeclaration: Abstract base class of all AST node types that declare a single local variable.
VariableDeclarationExpression: Local variable declaration expression AST node type.
VariableDeclarationFragment: Variable declaration fragment AST node type, used in field declarations, local variable declarations, and `ForStatement` initializers.
VariableDeclarationStatement: Local variable declaration statement AST node type.
WhileStatement: While statement AST node type.
WithStatement: With statement AST node type.
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.

Enum Summary
ObjectLiteralField.FieldKind
VariableKind: The different variable declaration kinds as defined on ES 2015 specification.