Package jltools.ast

Contains the AST Nodes and interfaces for manipulating the nodes.

See:
          Description

Interface Summary
AmbExpr An AmbExpr is an ambiguous AST node composed of a single identifier that must resolve to an expression.
Ambiguous Ambiguous represents an ambiguous AST node.
AmbPrefix An AmbPrefix is an ambiguous AST node composed of dot-separated list of identifiers that must resolve to a prefix.
AmbQualifierNode An AmbQualifierNode is an ambiguous AST node composed of dot-separated list of identifiers that must resolve to a type qualifier.
AmbReceiver An AmbReceiver is an ambiguous AST node composed of dot-separated list of identifiers that must resolve to a receiver.
AmbTypeNode An AmbTypeNode is an ambiguous AST node composed of dot-separated list of identifiers that must resolve to a type.
ArrayAccess An ArrayAccess is an immutable representation of an access of an array member.
ArrayInit An ArrayInit is an immutable representation of an array initializer, such as { 3, 1, { 4, 1, 5 } }.
ArrayTypeNode An ArrayTypeNode is a type node for a non-canonical array type.
Assign An Assign represents a Java assignment expression.
Binary A Binary represents a Java binary expression, an immutable pair of expressions combined with an operator.
Block A Block represents a Java block statement -- an immutable sequence of statements.
BooleanLit A BooleanLit represents a boolean literal expression.
Branch A Branch is an immutable representation of a branch statment in Java (a break or continue).
Call A Call is an immutable representation of a Java method call.
CanonicalTypeNode A CanonicalTypeNode is a type node for a canonical type.
Case A Case is a representation of a Java case statement.
Cast A Cast is an immutable representation of a casting operation.
Catch A Catch represents one half of a try...
CharLit An CharLit represents a literal in java of char type.
ClassBody A ClassBody represents the body of a class or interface declaration or the body of an anonymous class.
ClassDecl A ClassDecl represents a top-level, member, or local class declaration.
ClassMember A ClassMember is a method, a constructor, a field, an initializer block, or another class declaration.
Conditional A Conditional is a representation of a Java ternary expression (cond ? consequent : alternative).
ConstructorCall A ConstructorCall is an immutable representation of a direct call to a constructor of a class in the form of super(...) or this(...).
ConstructorDecl A ConstructorDecl is an immutable representation of a constructor declaration as part of a class body.
Declarator Encapsulation of the details of a declaration of a variable (field or local).
Do A immutable representation of a Java language do statement.
Empty Empty is the class for a empty statement (;).
Eval An Eval is a wrapper for an expression in the context of a statement.
Expr An Expr represents any Java expression.
Ext Ext is the super type of all node extension objects.
Field A Field is an immutable representation of a Java field access.
FieldDecl A FieldDecl is an immutable representation of the declaration of a field of a class.
FloatLit A FloatLit represents a literal in java of type float or double.
For An immutable representation of a Java language for statement.
ForInit A ForInit represents a statement that can be used as a initializer in a "for" statement.
Formal A Formal represents a formal parameter to a method or constructor or to a catch block.
ForUpdate A ForUpdate represents a statement that can be used as an iterator in a "for" statement.
If An immutable representation of a Java language if statement.
Import An Import is an immutable representation of a Java import statement.
Initializer An Initializer is an immutable representation of an initializer block in a Java class (which appears outside of any method).
Instanceof An Instanceof is an immutable representation of the use of the instanceof operator.
IntLit An IntLit represents a literal in Java of an integer type.
Labeled Am immutable representation of a Java statement with a label.
Lit Lit represents any Java literal.
Local A local variable expression.
LocalClassDecl A local class declaration statement.
LocalDecl A local variable declaration statement: a type, a name and an optional initializer.
MethodDecl A method declaration.
New A New is an immutable representation of the use of the new operator to create a new instance of a class.
NewArray A NewArray represents a new array expression such as new File[8][] { null }.
Node A Node represents an AST node.
NodeFactory A NodeFactory constructs AST nodes.
NullLit The Java literal null.
NumLit An integer literal: longs, ints, shorts, bytes, and chars.
PackageNode A PackageNode is the syntactic representation of a Java package within the abstract syntax tree.
Prefix A Prefix represents any node that can be used as the prefix of a Receiver.
ProcedureDecl A procedure declaration.
QualifiedNew A QualifiedNew is an immutable representation of the use of the qualified new operator to create a new instance of a member class.
QualifierNode A QualifierNode represents any node that can be used as a type qualifier (jltools.types.Qualifier).
Receiver A Receiver represents any node that can be used as the receiver of a method or of a field access.
Return A Return represents a return statement in Java.
SourceFile A SourceFile is an immutable representations of a Java langauge source file.
Special A Special is an immutable representation of a reference to this or super
Stmt A Stmt represents any Java statement.
StringLit A StringLit represents an immutable instance of a String which corresponds to a literal string in Java code.
Switch A Switch is an immutable representation of a Java switch statement.
SwitchBlock A SwitchBlock is a list of statements within a switch.
SwitchElement A SwitchElement is statement inside a switch.
Synchronized An immutable representation of a Java language synchronized block.
Throw A Throw is an immutable representation of a throw statement.
TopLevelDecl A top-level declaration.
Try An immutable representation of a try block, one or more catch blocks, and an optional finally block.
Typed Typed represents any node that has a type associated with it.
TypeNode A TypeNode is the syntactic representation of a Type within the abstract syntax tree.
Unary A Unary represents a Java unary expression, an immutable pair of an expression and an an operator.
While An immutable representation of a Java language while statement.
 

Class Summary
Assign.Operator Assignment operator.
Binary.Operator Binary expression operator.
Branch.Kind Branch kind: either break or continue.
ConstructorCall.Kind Constructor call kind: either "super" or "this".
FloatLit.Kind Floating point literal kind: either float or double.
Import.Kind Import kinds: class (e.g., import java.util.Set) or package (e.g., import java.util.*).
IntLit.Kind Integer literal kinds: byte, short, int, or long.
NodeVisitor The NodeVisitor represents an implementation of the "Visitor" style of tree traversal.
Precedence Constants defining the precedence of an expression.
Special.Kind Special expression kind: either "super" or "this".
Unary.Operator Unary expression operator.
 

Package jltools.ast Description

Contains the AST Nodes and interfaces for manipulating the nodes.

The nodes all extend the interface Node. Each node has accessor methods and methods to implement passes over the node. The traversal interface is defined in NodeVisitor. Nodes are constructed using a NodeFactory.

See Also:
Node, NodeVisitor, NodeFactory