| Interface | Description | 
|---|---|
| DestructuringForm | Common interface for  ArrayLiteralandObjectLiteralnode types, both of which may appear in "destructuring" expressions or
 contexts. | 
| IdeErrorReporter | This is interface defines a protocol for the reporting of
 errors during JavaScript translation in IDE-mode. | 
| NodeVisitor | Simple visitor interface for traversing the AST. | 
| Class | Description | 
|---|---|
| ArrayComprehension | AST node for a JavaScript 1.7 Array comprehension. | 
| ArrayComprehensionLoop | AST node for a single 'for (foo in bar)' loop construct in a JavaScript 1.7
 Array comprehension. | 
| ArrayLiteral | AST node for an Array literal. | 
| Assignment | AST node representing the set of assignment operators such as  =,*=and+=. | 
| AstNode | Base class for AST node types. | 
| AstNode.DebugPrintVisitor | |
| AstNode.PositionComparator | |
| AstRoot | Node for the root of a parse tree. | 
| Block | A block statement delimited by curly braces. | 
| BreakStatement | A break statement. | 
| CatchClause | Node representing a catch-clause of a try-statement. | 
| Comment | Node representing comments. | 
| ConditionalExpression | AST node representing the ternary operator. | 
| ContinueStatement | A continue statement. | 
| DoLoop | Do statement. | 
| ElementGet | AST node for an indexed property reference, such as  foo['bar']orfoo[2]. | 
| EmptyExpression | AST node for an empty expression. | 
| EmptyStatement | AST node for an empty statement. | 
| ErrorCollector | An error reporter that gathers the errors and warnings for later display. | 
| ErrorNode | AST node representing a parse error or a warning. | 
| ExpressionStatement | AST node representing an expression in a statement context. | 
| ForInLoop | For-in or for-each-in or for-of statement. | 
| ForLoop | C-style for-loop statement. | 
| FunctionCall | AST node for a function call. | 
| FunctionNode | A JavaScript function declaration or expression. | 
| GeneratorExpression | |
| GeneratorExpressionLoop | |
| IfStatement | If-else statement. | 
| InfixExpression | AST node representing an infix (binary operator) expression. | 
| Jump | Used for code generation. | 
| KeywordLiteral | AST node for keyword literals:  currently,  this,null,true,false, anddebugger. | 
| Label | AST node representing a label. | 
| LabeledStatement | A labeled statement. | 
| LetNode | AST node for let statements and expressions. | 
| Loop | Abstract base type for loops. | 
| Name | AST node for a simple name. | 
| NewExpression | New expression. | 
| NumberLiteral | AST node for a Number literal. | 
| ObjectLiteral | AST node for an Object literal (also called an Object initialiser in
 Ecma-262). | 
| ObjectProperty | AST node for a single name:value entry in an Object literal. | 
| ParenthesizedExpression | AST node for a parenthesized expression. | 
| ParseProblem | Encapsulates information for a JavaScript parse error or warning. | 
| PropertyGet | AST node for the '.' operator. | 
| RegExpLiteral | AST node for a RegExp literal. | 
| ReturnStatement | Return statement. | 
| Scope | Represents a scope in the lexical scope chain. | 
| ScriptNode | Base type for  AstRootandFunctionNodenodes, which need to
 collect much of the same information. | 
| StringLiteral | AST node for a single- or double-quoted string literal. | 
| SwitchCase | Switch-case AST node type. | 
| SwitchStatement | Switch statement AST node type. | 
| Symbol | Represents a symbol-table entry. | 
| ThrowStatement | Throw statement. | 
| TryStatement | Try/catch/finally statement. | 
| UnaryExpression | AST node representing unary operators such as  ++,~,typeofanddelete. | 
| VariableDeclaration | A list of one or more var, const or let declarations. | 
| VariableInitializer | A variable declaration or initializer, part of a  VariableDeclarationexpression. | 
| WhileLoop | While statement. | 
| WithStatement | With statement. | 
| XmlDotQuery | AST node representing an E4X  foo.(bar)query expression. | 
| XmlElemRef | AST node for an E4X XML  [expr]member-ref expression. | 
| XmlExpression | AST node for an embedded JavaScript expression within an E4X XML literal. | 
| XmlFragment | Abstract base type for components that comprise an  XmlLiteralobject. | 
| XmlLiteral | AST node for an E4X (Ecma-357) embedded XML literal. | 
| XmlMemberGet | AST node for E4X ".@" and ".." expressions, such as
  foo..bar,foo..@bar,@foo.@bar, andfoo..@ns::*. | 
| XmlPropRef | AST node for an E4X XML  [expr]property-ref expression. | 
| XmlRef | Base class for E4X XML attribute-access or property-get expressions. | 
| XmlString | AST node for an XML-text-only component of an XML literal expression. | 
| Yield | AST node for JavaScript 1.7  yieldexpression or statement. | 
| Enum | Description | 
|---|---|
| FunctionNode.Form | |
| ParseProblem.Type |