jltools.ext.jl.ast
Class NodeFactory_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.NodeFactory_c
All Implemented Interfaces:
NodeFactory
Direct Known Subclasses:
JifNodeFactory_c

public class NodeFactory_c
extends java.lang.Object
implements NodeFactory

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()
           
 
Method Summary
 AmbExpr AmbExpr(Position pos, java.lang.String name)
           
 AmbPrefix AmbPrefix(Position pos, Prefix prefix, java.lang.String name)
           
 AmbPrefix AmbPrefix(Position pos, java.lang.String name)
           
 AmbQualifierNode AmbQualifierNode(Position pos, QualifierNode qualifier, java.lang.String name)
           
 AmbQualifierNode AmbQualifierNode(Position pos, java.lang.String name)
           
 AmbReceiver AmbReceiver(Position pos, Prefix prefix, java.lang.String name)
           
 AmbReceiver AmbReceiver(Position pos, java.lang.String name)
           
 AmbTypeNode AmbTypeNode(Position pos, QualifierNode qualifier, java.lang.String name)
           
 AmbTypeNode AmbTypeNode(Position pos, java.lang.String name)
           
 ArrayAccess ArrayAccess(Position pos, Expr base, Expr index)
           
 ArrayInit ArrayInit(Position pos)
           
 ArrayInit ArrayInit(Position pos, java.util.List elements)
           
 ArrayTypeNode ArrayTypeNode(Position pos, TypeNode base)
           
 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)
           
 <>Block Block(Position pos, java.util.List statements)
           
 <>Block Block(Position pos, Stmt s1)
           
 <>Block Block(Position pos, Stmt s1, Stmt s2)
           
 <>Block Block(Position pos, Stmt s1, Stmt s2, Stmt s3)
           
 <>Block Block(Position pos, Stmt s1, Stmt s2, Stmt s3, Stmt s4)
           
 BooleanLit BooleanLit(Position pos, boolean value)
           
 Branch Branch(Position pos, Branch.Kind kind)
           
 Branch Branch(Position pos, Branch.Kind kind, java.lang.String label)
           
 Branch Break(Position pos)
           
 Branch Break(Position pos, java.lang.String label)
           
 Call Call(Position pos, Receiver target, java.lang.String name)
           
 Call Call(Position pos, Receiver target, java.lang.String name, Expr a1)
           
 Call Call(Position pos, Receiver target, java.lang.String name, Expr a1, Expr a2)
           
 Call Call(Position pos, Receiver target, java.lang.String name, Expr a1, Expr a2, Expr a3)
           
 Call Call(Position pos, Receiver target, java.lang.String name, Expr a1, Expr a2, Expr a3, Expr a4)
           
 Call Call(Position pos, Receiver target, java.lang.String name, java.util.List args)
           
 Call Call(Position pos, java.lang.String name)
           
 Call Call(Position pos, java.lang.String name, Expr a1)
           
 Call Call(Position pos, java.lang.String name, Expr a1, Expr a2)
           
 Call Call(Position pos, java.lang.String name, Expr a1, Expr a2, Expr a3)
           
 Call Call(Position pos, java.lang.String name, Expr a1, Expr a2, Expr a3, Expr a4)
           
 Call Call(Position pos, 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)
           
 Conditional Conditional(Position pos, Expr cond, Expr consequent, Expr alternative)
           
 ConstructorCall ConstructorCall(Position pos, ConstructorCall.Kind kind, Expr outer, java.util.List args)
           
 ConstructorCall ConstructorCall(Position pos, ConstructorCall.Kind kind, java.util.List args)
           
 ConstructorDecl ConstructorDecl(Position pos, Flags flags, java.lang.String name, java.util.List formals, java.util.List exceptionTypes, <>Block body)
           
 Branch Continue(Position pos)
           
 Branch Continue(Position pos, java.lang.String label)
           
 Case Default(Position pos)
           
 Do Do(Position pos, Stmt body, Expr cond)
           
 Empty Empty(Position pos)
           
 Eval Eval(Position pos, Expr expr)
           
 Field Field(Position pos, Receiver target, java.lang.String name)
           
 Field Field(Position pos, java.lang.String name)
           
 FieldDecl FieldDecl(Position pos, Flags flags, TypeNode type, java.lang.String name)
           
 FieldDecl FieldDecl(Position pos, Flags flags, TypeNode type, java.lang.String name, Expr init)
           
 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)
           
 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, long value)
           
 Labeled Labeled(Position pos, java.lang.String label, Stmt body)
           
 Local Local(Position pos, java.lang.String name)
           
 LocalClassDecl LocalClassDecl(Position pos, ClassDecl decl)
           
 LocalDecl LocalDecl(Position pos, Flags flags, TypeNode type, java.lang.String name)
           
 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 exceptionTypes, <>Block body)
           
 New New(Position pos, TypeNode type, java.util.List args)
           
 New New(Position pos, TypeNode type, java.util.List args, ClassBody body)
           
 NewArray NewArray(Position pos, TypeNode base, int addDims, ArrayInit init)
           
 NewArray NewArray(Position pos, TypeNode base, java.util.List dims)
           
 NewArray NewArray(Position pos, TypeNode base, java.util.List dims, int addDims)
           
 NullLit NullLit(Position pos)
           
 PackageNode PackageNode(Position pos, Package p)
           
 QualifiedNew QualifiedNew(Position pos, Expr outer, TypeNode objectType, java.util.List args)
           
 QualifiedNew QualifiedNew(Position pos, Expr outer, TypeNode objectType, java.util.List args, ClassBody body)
           
 Return Return(Position pos)
           
 Return Return(Position pos, Expr expr)
           
 SourceFile SourceFile(Position pos, java.util.List decls)
           
 SourceFile SourceFile(Position pos, java.util.List imports, java.util.List decls)
           
 SourceFile SourceFile(Position pos, PackageNode packageName, java.util.List imports, java.util.List decls)
           
 Special Special(Position pos, Special.Kind kind)
           
 Special Special(Position pos, Special.Kind kind, TypeNode outer)
           
 StringLit StringLit(Position pos, java.lang.String value)
           
 Special Super(Position pos)
           
 Special Super(Position pos, TypeNode outer)
           
 ConstructorCall SuperCall(Position pos, Expr outer, java.util.List args)
           
 ConstructorCall SuperCall(Position pos, java.util.List args)
           
 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)
           
 Special This(Position pos)
           
 Special This(Position pos, TypeNode outer)
           
 ConstructorCall ThisCall(Position pos, Expr outer, java.util.List args)
           
 ConstructorCall ThisCall(Position pos, java.util.List args)
           
 Throw Throw(Position pos, Expr expr)
           
 Try Try(Position pos, <>Block tryBlock, java.util.List catchBlocks)
           
 Try Try(Position pos, <>Block tryBlock, java.util.List catchBlocks, <>Block finallyBlock)
           
 Unary Unary(Position pos, Expr expr, Unary.Operator op)
           
 Unary Unary(Position pos, Unary.Operator op, Expr expr)
           
 While While(Position pos, Expr cond, Stmt body)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jltools.ast.NodeFactory
Catch, ConstructorDecl, Initializer, MethodDecl, Synchronized, Try, Try
 

Constructor Detail

NodeFactory_c

public NodeFactory_c()
Method Detail

AmbPrefix

public AmbPrefix AmbPrefix(Position pos,
                           java.lang.String name)
Specified by:
AmbPrefix in interface NodeFactory

AmbPrefix

public AmbPrefix AmbPrefix(Position pos,
                           Prefix prefix,
                           java.lang.String name)
Specified by:
AmbPrefix in interface NodeFactory

AmbReceiver

public AmbReceiver AmbReceiver(Position pos,
                               java.lang.String name)
Specified by:
AmbReceiver in interface NodeFactory

AmbReceiver

public AmbReceiver AmbReceiver(Position pos,
                               Prefix prefix,
                               java.lang.String name)
Specified by:
AmbReceiver in interface NodeFactory

AmbQualifierNode

public AmbQualifierNode AmbQualifierNode(Position pos,
                                         java.lang.String name)
Specified by:
AmbQualifierNode in interface NodeFactory

AmbQualifierNode

public AmbQualifierNode AmbQualifierNode(Position pos,
                                         QualifierNode qualifier,
                                         java.lang.String name)
Specified by:
AmbQualifierNode in interface NodeFactory

AmbExpr

public AmbExpr AmbExpr(Position pos,
                       java.lang.String name)
Specified by:
AmbExpr in interface NodeFactory

AmbTypeNode

public AmbTypeNode AmbTypeNode(Position pos,
                               java.lang.String name)
Specified by:
AmbTypeNode in interface NodeFactory

AmbTypeNode

public AmbTypeNode AmbTypeNode(Position pos,
                               QualifierNode qualifier,
                               java.lang.String name)
Specified by:
AmbTypeNode in interface NodeFactory

ArrayAccess

public ArrayAccess ArrayAccess(Position pos,
                               Expr base,
                               Expr index)
Specified by:
ArrayAccess in interface NodeFactory

ArrayInit

public ArrayInit ArrayInit(Position pos)
Specified by:
ArrayInit in interface NodeFactory

ArrayInit

public ArrayInit ArrayInit(Position pos,
                           java.util.List elements)
Specified by:
ArrayInit in interface NodeFactory

Assign

public Assign Assign(Position pos,
                     Expr left,
                     Assign.Operator op,
                     Expr right)
Specified by:
Assign in interface NodeFactory

Binary

public Binary Binary(Position pos,
                     Expr left,
                     Binary.Operator op,
                     Expr right)
Specified by:
Binary in interface NodeFactory

Block

public <>Block Block(Position pos)
Specified by:
Block in interface NodeFactory

Block

public <>Block Block(Position pos,
                                Stmt s1)
Specified by:
Block in interface NodeFactory

Block

public <>Block Block(Position pos,
                                Stmt s1,
                                Stmt s2)
Specified by:
Block in interface NodeFactory

Block

public <>Block Block(Position pos,
                                Stmt s1,
                                Stmt s2,
                                Stmt s3)
Specified by:
Block in interface NodeFactory

Block

public <>Block Block(Position pos,
                                Stmt s1,
                                Stmt s2,
                                Stmt s3,
                                Stmt s4)
Specified by:
Block in interface NodeFactory

Block

public <>Block Block(Position pos,
                                java.util.List statements)
Specified by:
Block in interface NodeFactory

SwitchBlock

public SwitchBlock SwitchBlock(Position pos,
                               java.util.List statements)
Specified by:
SwitchBlock in interface NodeFactory

BooleanLit

public BooleanLit BooleanLit(Position pos,
                             boolean value)
Specified by:
BooleanLit in interface NodeFactory

Break

public Branch Break(Position pos)
Specified by:
Break in interface NodeFactory

Break

public Branch Break(Position pos,
                    java.lang.String label)
Specified by:
Break in interface NodeFactory

Continue

public Branch Continue(Position pos)
Specified by:
Continue in interface NodeFactory

Continue

public Branch Continue(Position pos,
                       java.lang.String label)
Specified by:
Continue in interface NodeFactory

Branch

public Branch Branch(Position pos,
                     Branch.Kind kind)
Specified by:
Branch in interface NodeFactory

Branch

public Branch Branch(Position pos,
                     Branch.Kind kind,
                     java.lang.String label)
Specified by:
Branch in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name,
                 Expr a1)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name,
                 Expr a1,
                 Expr a2)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name,
                 Expr a1,
                 Expr a2,
                 Expr a3)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name,
                 Expr a1,
                 Expr a2,
                 Expr a3,
                 Expr a4)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 java.lang.String name,
                 java.util.List args)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 Expr a1)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 Expr a1,
                 Expr a2)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 Expr a1,
                 Expr a2,
                 Expr a3)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 Expr a1,
                 Expr a2,
                 Expr a3,
                 Expr a4)
Specified by:
Call in interface NodeFactory

Call

public Call Call(Position pos,
                 Receiver target,
                 java.lang.String name,
                 java.util.List args)
Specified by:
Call in interface NodeFactory

Default

public Case Default(Position pos)
Specified by:
Default in interface NodeFactory

Case

public Case Case(Position pos,
                 Expr expr)
Specified by:
Case in interface NodeFactory

Cast

public Cast Cast(Position pos,
                 TypeNode type,
                 Expr expr)
Specified by:
Cast in interface NodeFactory

Catch

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

CharLit

public CharLit CharLit(Position pos,
                       char value)
Specified by:
CharLit in interface NodeFactory

ClassBody

public ClassBody ClassBody(Position pos,
                           java.util.List members)
Specified by:
ClassBody in interface NodeFactory

ClassDecl

public ClassDecl ClassDecl(Position pos,
                           Flags flags,
                           java.lang.String name,
                           TypeNode superClass,
                           java.util.List interfaces,
                           ClassBody body)
Specified by:
ClassDecl in interface NodeFactory

Conditional

public Conditional Conditional(Position pos,
                               Expr cond,
                               Expr consequent,
                               Expr alternative)
Specified by:
Conditional in interface NodeFactory

ThisCall

public ConstructorCall ThisCall(Position pos,
                                java.util.List args)
Specified by:
ThisCall in interface NodeFactory

ThisCall

public ConstructorCall ThisCall(Position pos,
                                Expr outer,
                                java.util.List args)
Specified by:
ThisCall in interface NodeFactory

SuperCall

public ConstructorCall SuperCall(Position pos,
                                 java.util.List args)
Specified by:
SuperCall in interface NodeFactory

SuperCall

public ConstructorCall SuperCall(Position pos,
                                 Expr outer,
                                 java.util.List args)
Specified by:
SuperCall in interface NodeFactory

ConstructorCall

public ConstructorCall ConstructorCall(Position pos,
                                       ConstructorCall.Kind kind,
                                       java.util.List args)
Specified by:
ConstructorCall in interface NodeFactory

ConstructorCall

public ConstructorCall ConstructorCall(Position pos,
                                       ConstructorCall.Kind kind,
                                       Expr outer,
                                       java.util.List args)
Specified by:
ConstructorCall in interface NodeFactory

ConstructorDecl

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

FieldDecl

public FieldDecl FieldDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name)
Specified by:
FieldDecl in interface NodeFactory

FieldDecl

public FieldDecl FieldDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name,
                           Expr init)
Specified by:
FieldDecl in interface NodeFactory

Do

public Do Do(Position pos,
             Stmt body,
             Expr cond)
Specified by:
Do in interface NodeFactory

Empty

public Empty Empty(Position pos)
Specified by:
Empty in interface NodeFactory

Eval

public Eval Eval(Position pos,
                 Expr expr)
Specified by:
Eval in interface NodeFactory

Field

public Field Field(Position pos,
                   java.lang.String name)
Specified by:
Field in interface NodeFactory

Field

public Field Field(Position pos,
                   Receiver target,
                   java.lang.String name)
Specified by:
Field in interface NodeFactory

FloatLit

public FloatLit FloatLit(Position pos,
                         FloatLit.Kind kind,
                         double value)
Specified by:
FloatLit in interface NodeFactory

For

public For For(Position pos,
               java.util.List inits,
               Expr cond,
               java.util.List iters,
               Stmt body)
Specified by:
For in interface NodeFactory

Formal

public Formal Formal(Position pos,
                     Flags flags,
                     TypeNode type,
                     java.lang.String name)
Specified by:
Formal in interface NodeFactory

If

public If If(Position pos,
             Expr cond,
             Stmt consequent)
Specified by:
If in interface NodeFactory

If

public If If(Position pos,
             Expr cond,
             Stmt consequent,
             Stmt alternative)
Specified by:
If in interface NodeFactory

Import

public Import Import(Position pos,
                     Import.Kind kind,
                     java.lang.String name)
Specified by:
Import in interface NodeFactory

Initializer

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

Instanceof

public Instanceof Instanceof(Position pos,
                             Expr expr,
                             TypeNode type)
Specified by:
Instanceof in interface NodeFactory

IntLit

public IntLit IntLit(Position pos,
                     long value)
Specified by:
IntLit in interface NodeFactory

Labeled

public Labeled Labeled(Position pos,
                       java.lang.String label,
                       Stmt body)
Specified by:
Labeled in interface NodeFactory

Local

public Local Local(Position pos,
                   java.lang.String name)
Specified by:
Local in interface NodeFactory

LocalClassDecl

public LocalClassDecl LocalClassDecl(Position pos,
                                     ClassDecl decl)
Specified by:
LocalClassDecl in interface NodeFactory

LocalDecl

public LocalDecl LocalDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name)
Specified by:
LocalDecl in interface NodeFactory

LocalDecl

public LocalDecl LocalDecl(Position pos,
                           Flags flags,
                           TypeNode type,
                           java.lang.String name,
                           Expr init)
Specified by:
LocalDecl in interface NodeFactory

MethodDecl

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

New

public New New(Position pos,
               TypeNode type,
               java.util.List args)
Specified by:
New in interface NodeFactory

New

public New New(Position pos,
               TypeNode type,
               java.util.List args,
               ClassBody body)
Specified by:
New in interface NodeFactory

QualifiedNew

public QualifiedNew QualifiedNew(Position pos,
                                 Expr outer,
                                 TypeNode objectType,
                                 java.util.List args)
Specified by:
QualifiedNew in interface NodeFactory

QualifiedNew

public QualifiedNew QualifiedNew(Position pos,
                                 Expr outer,
                                 TypeNode objectType,
                                 java.util.List args,
                                 ClassBody body)
Specified by:
QualifiedNew in interface NodeFactory

NewArray

public NewArray NewArray(Position pos,
                         TypeNode base,
                         java.util.List dims)
Specified by:
NewArray in interface NodeFactory

NewArray

public NewArray NewArray(Position pos,
                         TypeNode base,
                         java.util.List dims,
                         int addDims)
Specified by:
NewArray in interface NodeFactory

NewArray

public NewArray NewArray(Position pos,
                         TypeNode base,
                         int addDims,
                         ArrayInit init)
Specified by:
NewArray in interface NodeFactory

NullLit

public NullLit NullLit(Position pos)
Specified by:
NullLit in interface NodeFactory

Return

public Return Return(Position pos)
Specified by:
Return in interface NodeFactory

Return

public Return Return(Position pos,
                     Expr expr)
Specified by:
Return in interface NodeFactory

SourceFile

public SourceFile SourceFile(Position pos,
                             java.util.List decls)
Specified by:
SourceFile in interface NodeFactory

SourceFile

public SourceFile SourceFile(Position pos,
                             java.util.List imports,
                             java.util.List decls)
Specified by:
SourceFile in interface NodeFactory

SourceFile

public SourceFile SourceFile(Position pos,
                             PackageNode packageName,
                             java.util.List imports,
                             java.util.List decls)
Specified by:
SourceFile in interface NodeFactory

This

public Special This(Position pos)
Specified by:
This in interface NodeFactory

This

public Special This(Position pos,
                    TypeNode outer)
Specified by:
This in interface NodeFactory

Super

public Special Super(Position pos)
Specified by:
Super in interface NodeFactory

Super

public Special Super(Position pos,
                     TypeNode outer)
Specified by:
Super in interface NodeFactory

Special

public Special Special(Position pos,
                       Special.Kind kind)
Specified by:
Special in interface NodeFactory

Special

public Special Special(Position pos,
                       Special.Kind kind,
                       TypeNode outer)
Specified by:
Special in interface NodeFactory

StringLit

public StringLit StringLit(Position pos,
                           java.lang.String value)
Specified by:
StringLit in interface NodeFactory

Switch

public Switch Switch(Position pos,
                     Expr expr,
                     java.util.List elements)
Specified by:
Switch in interface NodeFactory

Synchronized

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

Throw

public Throw Throw(Position pos,
                   Expr expr)
Specified by:
Throw in interface NodeFactory

Try

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

Try

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

ArrayTypeNode

public ArrayTypeNode ArrayTypeNode(Position pos,
                                   TypeNode base)
Specified by:
ArrayTypeNode in interface NodeFactory

CanonicalTypeNode

public CanonicalTypeNode CanonicalTypeNode(Position pos,
                                           Type type)
Specified by:
CanonicalTypeNode in interface NodeFactory

PackageNode

public PackageNode PackageNode(Position pos,
                               Package p)
Specified by:
PackageNode in interface NodeFactory

Unary

public Unary Unary(Position pos,
                   Unary.Operator op,
                   Expr expr)
Specified by:
Unary in interface NodeFactory

Unary

public Unary Unary(Position pos,
                   Expr expr,
                   Unary.Operator op)
Specified by:
Unary in interface NodeFactory

While

public While While(Position pos,
                   Expr cond,
                   Stmt body)
Specified by:
While in interface NodeFactory