polyglot.ext.jl.ast
Class NodeFactory_c

java.lang.Object
  extended by polyglot.ext.jl.ast.AbstractNodeFactory_c
      extended by polyglot.ext.jl.ast.NodeFactory_c
All Implemented Interfaces:
NodeFactory
Direct Known Subclasses:
CofferNodeFactory_c, PaoNodeFactory_c

public class NodeFactory_c
extends AbstractNodeFactory_c

A NodeFactory constructs AST nodes. All node construction should go through this factory or by done with the copy() method of Node.


Constructor Summary
NodeFactory_c()
           
NodeFactory_c(ExtFactory extFactory)
           
NodeFactory_c(ExtFactory extFactory, DelFactory delFactory)
           
 
Method Summary
 AmbAssign AmbAssign(Position pos, Expr left, Assign.Operator op, Expr right)
           
 AmbExpr AmbExpr(Position pos, java.lang.String name)
           
 AmbPrefix AmbPrefix(Position pos, Prefix prefix, java.lang.String name)
           
 AmbQualifierNode AmbQualifierNode(Position pos, QualifierNode qualifier, java.lang.String name)
           
 AmbReceiver AmbReceiver(Position pos, Prefix prefix, java.lang.String name)
           
 AmbTypeNode AmbTypeNode(Position pos, QualifierNode qualifier, java.lang.String name)
           
 ArrayAccess ArrayAccess(Position pos, Expr base, Expr index)
           
 ArrayAccessAssign ArrayAccessAssign(Position pos, ArrayAccess left, Assign.Operator op, Expr right)
           
 ArrayInit ArrayInit(Position pos, java.util.List elements)
           
 ArrayTypeNode ArrayTypeNode(Position pos, TypeNode base)
           
 Assert Assert(Position pos, Expr cond, Expr errorMessage)
           
 Assign Assign(Position pos, Expr left, Assign.Operator op, Expr right)
           
 Binary Binary(Position pos, Expr left, Binary.Operator op, Expr right)
           
 Block Block(Position pos, java.util.List statements)
           
 BooleanLit BooleanLit(Position pos, boolean value)
           
 Branch Branch(Position pos, Branch.Kind kind, java.lang.String label)
           
 Call Call(Position pos, Receiver target, java.lang.String name, java.util.List args)
           
 CanonicalTypeNode CanonicalTypeNode(Position pos, Type type)
           
 Case Case(Position pos, Expr expr)
           
 Cast Cast(Position pos, TypeNode type, Expr expr)
           
 Catch Catch(Position pos, Formal formal, Block body)
           
 CharLit CharLit(Position pos, char value)
           
 ClassBody ClassBody(Position pos, java.util.List members)
           
 ClassDecl ClassDecl(Position pos, Flags flags, java.lang.String name, TypeNode superClass, java.util.List interfaces, ClassBody body)
           
 ClassLit ClassLit(Position pos, TypeNode typeNode)
           
 Conditional Conditional(Position pos, Expr cond, Expr consequent, Expr alternative)
           
 ConstructorCall ConstructorCall(Position pos, ConstructorCall.Kind kind, Expr outer, java.util.List args)
           
 ConstructorDecl ConstructorDecl(Position pos, Flags flags, java.lang.String name, java.util.List formals, java.util.List throwTypes, Block body)
           
protected  DelFactory delFactory()
           
 Do Do(Position pos, Stmt body, Expr cond)
           
 Empty Empty(Position pos)
           
 Eval Eval(Position pos, Expr expr)
           
protected  ExtFactory extFactory()
           
 Field Field(Position pos, Receiver target, java.lang.String name)
           
 FieldAssign FieldAssign(Position pos, Field left, Assign.Operator op, Expr right)
           
 FieldDecl FieldDecl(Position pos, Flags flags, TypeNode type, java.lang.String name, Expr init)
           
protected  ExtFactory findExtFactInstance(java.lang.Class c)
          Utility method to find an instance of an Extension Factory
 FloatLit FloatLit(Position pos, FloatLit.Kind kind, double value)
           
 For For(Position pos, java.util.List inits, Expr cond, java.util.List iters, Stmt body)
           
 Formal Formal(Position pos, Flags flags, TypeNode type, java.lang.String name)
           
 If If(Position pos, Expr cond, Stmt consequent, Stmt alternative)
           
 Import Import(Position pos, Import.Kind kind, java.lang.String name)
           
 Initializer Initializer(Position pos, Flags flags, Block body)
           
 Instanceof Instanceof(Position pos, Expr expr, TypeNode type)
           
 IntLit IntLit(Position pos, IntLit.Kind kind, long value)
           
 Labeled Labeled(Position pos, java.lang.String label, Stmt body)
           
 Local Local(Position pos, java.lang.String name)
           
 LocalAssign LocalAssign(Position pos, Local left, Assign.Operator op, Expr right)
           
 LocalClassDecl LocalClassDecl(Position pos, ClassDecl decl)
           
 LocalDecl LocalDecl(Position pos, Flags flags, TypeNode type, java.lang.String name, Expr init)
           
 MethodDecl MethodDecl(Position pos, Flags flags, TypeNode returnType, java.lang.String name, java.util.List formals, java.util.List throwTypes, Block body)
           
 New New(Position pos, Expr outer, TypeNode objectType, java.util.List args, ClassBody body)
           
 NewArray NewArray(Position pos, TypeNode base, java.util.List dims, int addDims, ArrayInit init)
           
 NullLit NullLit(Position pos)
           
 PackageNode PackageNode(Position pos, Package p)
           
 Return Return(Position pos, Expr expr)
           
 SourceCollection SourceCollection(Position pos, java.util.List sources)
           
 SourceFile SourceFile(Position pos, PackageNode packageName, java.util.List imports, java.util.List decls)
           
 Special Special(Position pos, Special.Kind kind, TypeNode outer)
           
 StringLit StringLit(Position pos, java.lang.String value)
           
 Switch Switch(Position pos, Expr expr, java.util.List elements)
           
 SwitchBlock SwitchBlock(Position pos, java.util.List statements)
           
 Synchronized Synchronized(Position pos, Expr expr, Block body)
           
 Throw Throw(Position pos, Expr expr)
           
 Try Try(Position pos, Block tryBlock, java.util.List catchBlocks, Block finallyBlock)
           
 Unary Unary(Position pos, Unary.Operator op, Expr expr)
           
 While While(Position pos, Expr cond, Stmt body)
           
 
Methods inherited from class polyglot.ext.jl.ast.AbstractNodeFactory_c
AmbPrefix, AmbQualifierNode, AmbReceiver, AmbTypeNode, ArrayInit, Assert, Block, Block, Block, Block, Block, Branch, Break, Break, Call, Call, Call, Call, Call, Call, Call, Call, Call, Call, Call, ConstructorCall, Continue, Continue, Default, disamb, Field, FieldDecl, If, LocalDecl, New, New, New, NewArray, NewArray, NewArray, Return, SourceFile, SourceFile, Special, Super, Super, SuperCall, SuperCall, This, This, ThisCall, ThisCall, Try, Unary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeFactory_c

public NodeFactory_c()

NodeFactory_c

public NodeFactory_c(ExtFactory extFactory)

NodeFactory_c

public NodeFactory_c(ExtFactory extFactory,
                     DelFactory delFactory)
Method Detail

extFactory

protected ExtFactory extFactory()

delFactory

protected DelFactory delFactory()

findExtFactInstance

protected final ExtFactory findExtFactInstance(java.lang.Class c)
Utility method to find an instance of an Extension Factory


AmbPrefix

public AmbPrefix AmbPrefix(Position pos,
                           Prefix prefix,
                           java.lang.String name)

AmbReceiver

public AmbReceiver AmbReceiver(Position pos,
                               Prefix prefix,
                               java.lang.String name)

AmbQualifierNode

public AmbQualifierNode AmbQualifierNode(Position pos,
                                         QualifierNode qualifier,
                                         java.lang.String name)

AmbExpr

public AmbExpr AmbExpr(Position pos,
                       java.lang.String name)

AmbTypeNode

public AmbTypeNode AmbTypeNode(Position pos,
                               QualifierNode qualifier,
                               java.lang.String name)

ArrayAccess

public ArrayAccess ArrayAccess(Position pos,
                               Expr base,
                               Expr index)

ArrayInit

public ArrayInit ArrayInit(Position pos,
                           java.util.List elements)

Assert

public Assert Assert(Position pos,
                     Expr cond,
                     Expr errorMessage)

Assign

public Assign Assign(Position pos,
                     Expr left,
                     Assign.Operator op,
                     Expr right)

LocalAssign

public LocalAssign LocalAssign(Position pos,
                               Local left,
                               Assign.Operator op,
                               Expr right)

FieldAssign

public FieldAssign FieldAssign(Position pos,
                               Field left,
                               Assign.Operator op,
                               Expr right)

ArrayAccessAssign

public ArrayAccessAssign ArrayAccessAssign(Position pos,
                                           ArrayAccess left,
                                           Assign.Operator op,
                                           Expr right)

AmbAssign

public AmbAssign AmbAssign(Position pos,
                           Expr left,
                           Assign.Operator op,
                           Expr right)

Binary

public Binary Binary(Position pos,
                     Expr left,
                     Binary.Operator op,
                     Expr right)

Block

public Block Block(Position pos,
                   java.util.List statements)

SwitchBlock

public SwitchBlock SwitchBlock(Position pos,
                               java.util.List statements)

BooleanLit

public BooleanLit BooleanLit(Position pos,
                             boolean value)

Branch

public Branch Branch(Position pos,
                     Branch.Kind kind,
                     java.lang.String label)

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 java.util.List args)

Case

public Case Case(Position pos,
                 Expr expr)

Cast

public Cast Cast(Position pos,
                 TypeNode type,
                 Expr expr)

Catch

public Catch Catch(Position pos,
                   Formal formal,
                   Block body)

CharLit

public CharLit CharLit(Position pos,
                       char value)

ClassBody

public ClassBody ClassBody(Position pos,
                           java.util.List members)

ClassDecl

public ClassDecl ClassDecl(Position pos,
                           Flags flags,
                           java.lang.String name,
                           TypeNode superClass,
                           java.util.List interfaces,
                           ClassBody body)

ClassLit

public ClassLit ClassLit(Position pos,
                         TypeNode typeNode)

Conditional

public Conditional Conditional(Position pos,
                               Expr cond,
                               Expr consequent,
                               Expr alternative)

ConstructorCall

public ConstructorCall ConstructorCall(Position pos,
                                       ConstructorCall.Kind kind,
                                       Expr outer,
                                       java.util.List args)

ConstructorDecl

public ConstructorDecl ConstructorDecl(Position pos,
                                       Flags flags,
                                       java.lang.String name,
                                       java.util.List formals,
                                       java.util.List throwTypes,
                                       Block body)

FieldDecl

public FieldDecl FieldDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name,
                           Expr init)

Do

public Do Do(Position pos,
             Stmt body,
             Expr cond)

Empty

public Empty Empty(Position pos)

Eval

public Eval Eval(Position pos,
                 Expr expr)

Field

public Field Field(Position pos,
                   Receiver target,
                   java.lang.String name)

FloatLit

public FloatLit FloatLit(Position pos,
                         FloatLit.Kind kind,
                         double value)

For

public For For(Position pos,
               java.util.List inits,
               Expr cond,
               java.util.List iters,
               Stmt body)

Formal

public Formal Formal(Position pos,
                     Flags flags,
                     TypeNode type,
                     java.lang.String name)

If

public If If(Position pos,
             Expr cond,
             Stmt consequent,
             Stmt alternative)

Import

public Import Import(Position pos,
                     Import.Kind kind,
                     java.lang.String name)

Initializer

public Initializer Initializer(Position pos,
                               Flags flags,
                               Block body)

Instanceof

public Instanceof Instanceof(Position pos,
                             Expr expr,
                             TypeNode type)

IntLit

public IntLit IntLit(Position pos,
                     IntLit.Kind kind,
                     long value)

Labeled

public Labeled Labeled(Position pos,
                       java.lang.String label,
                       Stmt body)

Local

public Local Local(Position pos,
                   java.lang.String name)

LocalClassDecl

public LocalClassDecl LocalClassDecl(Position pos,
                                     ClassDecl decl)

LocalDecl

public LocalDecl LocalDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name,
                           Expr init)

MethodDecl

public MethodDecl MethodDecl(Position pos,
                             Flags flags,
                             TypeNode returnType,
                             java.lang.String name,
                             java.util.List formals,
                             java.util.List throwTypes,
                             Block body)

New

public New New(Position pos,
               Expr outer,
               TypeNode objectType,
               java.util.List args,
               ClassBody body)

NewArray

public NewArray NewArray(Position pos,
                         TypeNode base,
                         java.util.List dims,
                         int addDims,
                         ArrayInit init)

NullLit

public NullLit NullLit(Position pos)

Return

public Return Return(Position pos,
                     Expr expr)

SourceCollection

public SourceCollection SourceCollection(Position pos,
                                         java.util.List sources)

SourceFile

public SourceFile SourceFile(Position pos,
                             PackageNode packageName,
                             java.util.List imports,
                             java.util.List decls)

Special

public Special Special(Position pos,
                       Special.Kind kind,
                       TypeNode outer)

StringLit

public StringLit StringLit(Position pos,
                           java.lang.String value)

Switch

public Switch Switch(Position pos,
                     Expr expr,
                     java.util.List elements)

Synchronized

public Synchronized Synchronized(Position pos,
                                 Expr expr,
                                 Block body)

Throw

public Throw Throw(Position pos,
                   Expr expr)

Try

public Try Try(Position pos,
               Block tryBlock,
               java.util.List catchBlocks,
               Block finallyBlock)

ArrayTypeNode

public ArrayTypeNode ArrayTypeNode(Position pos,
                                   TypeNode base)

CanonicalTypeNode

public CanonicalTypeNode CanonicalTypeNode(Position pos,
                                           Type type)

PackageNode

public PackageNode PackageNode(Position pos,
                               Package p)

Unary

public Unary Unary(Position pos,
                   Unary.Operator op,
                   Expr expr)

While

public While While(Position pos,
                   Expr cond,
                   Stmt body)