# Package org.mozilla.javascript.ast

Interface Summary
Interface | Description
--- | ---
DestructuringForm | Common interface for `ArrayLiteral` and `ObjectLiteral` node 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 Summary
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']` or `foo[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 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`, and `debugger`.
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 `AstRoot` and `FunctionNode` nodes, 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 `++`, `~`, `typeof` and `delete`.
VariableDeclaration | A list of one or more var, const or let declarations.
VariableInitializer | A variable declaration or initializer, part of a `VariableDeclaration` expression.
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 `XmlLiteral` object.
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`, and `foo..@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 `yield` expression or statement.

Enum Summary
Enum | Description
--- | ---
FunctionNode.Form |
ParseProblem.Type |