| Interface | Description |
|---|---|
| Assignment<D extends Expression> |
Can a node be an assignment under certain circumstances? Then it should implement this interface.
|
| BreakableNode |
This class represents a node from which control flow can execute a
break statement. |
| Flags<T extends LexicalContextNode> |
Interface implemented by all nodes that have flags in a lexical context.
|
| FunctionCall |
Interface used by AccessNodes, IndexNodes and IdentNodes to signal that when evaluated, their
value will be treated as a function and immediately invoked, e.g.
|
| LexicalContextNode |
Interface for nodes that can be part of the lexical context.
|
| LexicalContextScope |
Interface for AST nodes that provide a scope (blocks, classes, loops).
|
| PropertyKey |
Any node that can be a property key inherits this.
|
| Terminal |
Interface for AST nodes that can have a flag determining if they can terminate function control
flow.
|
| Class | Description |
|---|---|
| AccessNode |
IR representation of a property access (period operator.)
|
| BaseNode |
IR base for accessing/indexing nodes.
|
| BinaryNode |
BinaryNode nodes represent two operand operations.
|
| Block |
IR representation for a list of statements.
|
| BlockExpression |
IR representation for a block used an expression.
|
| BlockStatement |
Represents a block used as a statement.
|
| BreakNode |
IR representation for
break statements. |
| CallNode |
IR representation for a function call.
|
| CaseNode |
IR representation of
case clause. |
| CatchNode |
IR representation of a catch clause.
|
| ClassElement |
IR representation for class elements.
|
| ClassNode |
IR representation for class definitions.
|
| ContinueNode |
IR representation for
continue statements. |
| DebuggerNode |
IR representation for a debugger statement.
|
| EmptyNode |
IR representation for an empty statement.
|
| ErrorNode |
IR representation for a runtime call.
|
| ExportNode | |
| ExportSpecifierNode | |
| Expression |
Common superclass for all expression nodes.
|
| ExpressionList |
IR for CoverParenthesizedExpressionAndArrowParameterList, used only during parsing.
|
| ExpressionStatement |
IR representation for executing bare expressions.
|
| ForNode |
IR representing a FOR statement.
|
| FromNode | |
| FunctionNode |
IR representation for function (or script.)
|
| IdentNode |
IR representation for an identifier.
|
| IfNode |
IR representation for an IF statement.
|
| ImportClauseNode | |
| ImportNode | |
| ImportSpecifierNode | |
| IndexNode |
IR representation of an indexed access (brackets operator.)
|
| JoinPredecessorExpression |
A wrapper for an expression that is in a position to be a join predecessor.
|
| JumpStatement |
Common base class for jump statements (e.g.
|
| LabelNode |
IR representation for a labeled statement.
|
| LexicalContext |
A class that tracks the current lexical context of node visitation as a stack of
Block
nodes. |
| LiteralNode<T> |
Literal nodes represent JavaScript values.
|
| LiteralNode.ArrayLiteralNode |
Array literal node class.
|
| LiteralNode.PrimitiveLiteralNode<T> |
Super class for primitive (side-effect free) literals.
|
| LoopNode |
A loop node, for example a while node, do while node or for node
|
| Module |
Module information.
|
| Module.ExportEntry | |
| Module.ImportEntry | |
| Module.ModuleRequest | |
| NamedExportsNode | |
| NamedImportsNode | |
| NameSpaceImportNode | |
| Node |
Nodes are used to compose Abstract Syntax Trees.
|
| ObjectNode |
IR representation of an object literal.
|
| OptionalExpression |
Common superclass for nodes that can be an optional expression or part of an optional chain.
|
| ParameterNode |
IR representation of a positional parameter value.
|
| PropertyNode |
IR representation of an object literal property.
|
| ReturnNode |
IR representation for
return statements. |
| Scope |
Represents a binding scope (corresponds to LexicalEnvironment or VariableEnvironment).
|
| Statement |
Statement is something that becomes code and can be stepped past.
|
| SwitchNode |
IR representation of a SWITCH statement.
|
| Symbol |
Symbol is a symbolic address for a value ("variable" if you wish).
|
| TemplateLiteralNode |
Template string literal.
|
| TemplateLiteralNode.TaggedTemplateLiteralNode | |
| TemplateLiteralNode.UntaggedTemplateLiteralNode | |
| TernaryNode |
TernaryNode represent the ternary operator
?:. |
| ThrowNode |
IR representation for throw statements.
|
| TryNode |
IR representation of a
try statement. |
| UnaryNode |
UnaryNode nodes represent single operand operations.
|
| VarNode |
Node represents a var/let declaration.
|
| WhileNode |
IR representation for a while statement.
|
| WithNode |
IR representation for
with statements. |