com.caucho.quercus.expr
Class ExprFactory

java.lang.Object
  extended by com.caucho.quercus.expr.ExprFactory
Direct Known Subclasses:
ExprFactoryPro

public class ExprFactory
extends java.lang.Object

Factory for creating PHP expressions and statements


Constructor Summary
ExprFactory()
           
 
Method Summary
static ExprFactory create()
           
 Expr createAdd(Expr left, Expr right)
          Creates an addition expression.
 Expr createAnd(Expr left, Expr right)
          Creates an and expression.
 Expr createAppend(Expr left, Expr right)
          Creates an append expression
protected  BinaryAppendExpr createAppendImpl(Expr left, BinaryAppendExpr right)
           
 Expr createArrayFun(java.util.ArrayList<Expr> keys, java.util.ArrayList<Expr> values)
          Creates a array() expression.
 ArrayGetExpr createArrayGet(Location location, Expr base, Expr index)
          Creates an array get 'a[0]' expression.
 ArrayTailExpr createArrayTail(Location location, Expr base)
          Creates an array tail 'a[]' expression.
 Expr createAssign(AbstractVarExpr left, Expr right)
          Creates an assignment expression.
 Expr createAssignRef(AbstractVarExpr left, Expr right)
          Creates an assignment expression.
 Expr createBinary(byte[] bytes)
          Creates a binary literal expression.
 Expr createBitAnd(Expr left, Expr right)
          Creates a bit-and expression.
 Expr createBitNot(Expr expr)
          Creates a unary inversion '~a' expression.
 Expr createBitOr(Expr left, Expr right)
          Creates a bit-or expression.
 Expr createBitXor(Expr left, Expr right)
          Creates a bit-xor expression.
 Statement createBlock(Location loc, java.util.ArrayList<Statement> statementList)
           
 Statement createBlock(Location loc, Statement[] statementList)
           
 BlockStatement createBlockImpl(Location loc, java.util.ArrayList<Statement> statementList)
          Creates an expr statement
 BlockStatement createBlockImpl(Location loc, Statement[] statements)
          Creates an expr statement
 BreakStatement createBreak(Location location, Expr target, java.util.ArrayList<java.lang.String> loopLabelList)
          Creates a break statement
 Expr createCall(QuercusParser parser, java.lang.String name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 BinaryCharAtExpr createCharAt(Expr base, Expr index)
          Creates a char at 'a{0}' expression.
 Expr createClassConst(Expr className, java.lang.String name)
          Creates an expression class const expression ($class::FOO).
 ClassConstExpr createClassConst(java.lang.String className, java.lang.String name)
          Creates a class const expression.
 Expr createClassConstructor(Location loc, java.lang.String className, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a class method call A::foo(...)
 Statement createClassDef(Location loc, InterpretedClassDef cl)
          Creates a new function def statement
 InterpretedClassDef createClassDef(Location location, java.lang.String name, java.lang.String parentName, java.lang.String[] ifaceList, int index)
           
 Expr createClassField(Expr className, Expr name)
          Creates an class static field '$class::$b' expression.
 Expr createClassField(Expr className, java.lang.String name)
          Creates an class static field '$a::$b' expression.
 Expr createClassField(java.lang.String className, Expr name)
          Creates an class static field 'a::${b}' expression.
 Expr createClassField(java.lang.String className, java.lang.String name)
          Creates an class static field 'a::$b' expression.
 Expr createClassMethodCall(Location loc, Expr className, Expr methodName, java.util.ArrayList<Expr> args)
          Creates a new method ${class}::$f()
 Expr createClassMethodCall(Location loc, Expr className, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a class method call ${class}::foo(...)
 Expr createClassMethodCall(Location loc, java.lang.String className, Expr methodName, java.util.ArrayList<Expr> args)
          Creates a new method A::$f()
 Expr createClassMethodCall(Location loc, java.lang.String className, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a class method call A::foo(...)
 Statement createClassStatic(Location loc, java.lang.String className, VarExpr var, Expr value)
          Creates a static statement inside a class
 ClassVirtualConstExpr createClassVirtualConst(java.lang.String name)
          Creates a class const expression (static::FOO).
 Expr createClassVirtualField(Expr name)
          Creates a class static field 'static::${b}' expression.
 Expr createClassVirtualField(java.lang.String name)
          Creates a class static field 'static::$b' expression.
 Expr createClassVirtualMethodCall(Location loc, Expr var, java.util.ArrayList<Expr> args)
          Creates a new method static::$f()
 Expr createClassVirtualMethodCall(Location loc, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a new function call based on the class context.
 Expr createClone(Expr expr)
          Creates a clone 'clone a' expression.
 ClosureExpr createClosure(Location loc, Function fun, java.util.ArrayList<VarExpr> useArgs)
          Creates a new closure.
 Expr createComma(Expr left, Expr right)
          Creates a comma expression.
 Expr createConditional(Expr test, Expr left, Expr right)
          Creates an conditional expression.
 ConstExpr createConst(java.lang.String name)
          Creates a const expression.
 ContinueStatement createContinue(Location location, Expr target, java.util.ArrayList<java.lang.String> loopLabelList)
          Creates a continue statement
 Expr createCopy(Expr expr)
          Creates a clone 'clone a' expression.
 Expr createDefault()
          Creates a default
 Expr createDie(Expr expr)
          Creates a die 'die("msg")' expression.
 ConstDirExpr createDirExpr(java.lang.String dirName)
          Creates a __DIR__ expression.
 Expr createDiv(Expr left, Expr right)
          Creates a division expression.
 Statement createDo(Location loc, Expr test, Statement block, java.lang.String label)
          Creates a do-while statement
 Expr createEach(Expr expr)
          Creates an each expression.
 Statement createEcho(Location loc, Expr expr)
          Creates an echo statement
 Expr createEq(Expr left, Expr right)
          Creates an eq expression.
 Expr createEquals(Expr left, Expr right)
          Creates an equals expression.
 Expr createExit(Expr expr)
          Creates an exit 'exit("msg")' expression.
 Statement createExpr(Location loc, Expr expr)
          Creates an expr statement
 Expr createFieldGet(Expr base, StringValue name)
          Creates an object get '$a->b' expression.
 Expr createFieldVarGet(Expr base, Expr name)
          Creates an object get '$a->$b' expression.
 ConstFileExpr createFileNameExpr(java.lang.String fileName)
          Creates a __FILE__ expression.
 Statement createFor(Location loc, Expr init, Expr test, Expr incr, Statement block, java.lang.String label)
          Creates a for statement
 Statement createForeach(Location loc, Expr objExpr, AbstractVarExpr key, AbstractVarExpr value, boolean isRef, Statement block, java.lang.String label)
          Creates a foreach statement
 Function createFunction(Location loc, java.lang.String name, FunctionInfo info, Arg[] argList, Statement[] statementList)
          Creates a new function definition.
 Statement createFunctionDef(Location loc, Function fun)
          Creates a new function definition def.
 FunctionInfo createFunctionInfo(QuercusContext quercus, ClassDef classDef, java.lang.String name)
          Creates a new FunctionInfo
 Expr createGeq(Expr left, Expr right)
          Creates a geq expression.
 Statement createGlobal(Location loc, VarExpr var)
          Creates a global statement
 Expr createGt(Expr left, Expr right)
          Creates a gt expression.
 Statement createIf(Location loc, Expr test, Statement trueBlock, Statement falseBlock)
          Creates an if statement
 Expr createImport(Location loc, java.lang.String name, boolean isWildcard)
          Creates a Quercus class import.
 Expr createInclude(Location loc, Path source, Expr expr)
          Creates an include expr
 Expr createIncludeOnce(Location loc, Path source, Expr expr)
          Creates an include expr
 Expr createInstanceOf(Expr expr, java.lang.String name)
          Creates an instanceof expression.
 Expr createInstanceOfVar(Expr expr, Expr name)
          Creates an instanceof expression.
 Expr createLeftShift(Expr left, Expr right)
          Creates a left-shift expression.
 Expr createLeq(Expr left, Expr right)
          Creates a leq expression.
 Expr createList(ListHeadExpr head, Expr value)
          Creates a list expression.
 Expr createList(QuercusParser parser, ListHeadExpr head, Expr value)
          Creates a list expression.
 Expr createListEach(ListHeadExpr head, Expr value)
          Creates a list expression.
 ListHeadExpr createListHead(java.util.ArrayList<Expr> keys)
          Creates a list expression.
 Expr createLiteral(Value literal)
          Creates a string literal expression.
 Expr createLong(long value)
          Creates a long literal expression.
 Expr createLt(Expr left, Expr right)
          Creates a lt expression.
 Expr createMethodCall(Location loc, Expr objExpr, Expr methodName, java.util.ArrayList<Expr> args)
          Creates a variable method call $a->${"foo"}(...).
 Expr createMethodCall(Location loc, Expr objExpr, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a method call $a->foo(...).
 Function createMethodDeclaration(Location loc, InterpretedClassDef cl, java.lang.String name, FunctionInfo info, Arg[] argList)
          Creates a new object method definition.
 Expr createMinus(Expr expr)
          Creates a unary minus '-a' expression.
 Expr createMod(Expr left, Expr right)
          Creates a modulo expression.
 Expr createMul(Expr left, Expr right)
          Creates a multiplication expression.
 Expr createNeq(Expr left, Expr right)
          Creates a neq expression.
 ObjectNewExpr createNew(Location loc, java.lang.String name, java.util.ArrayList<Expr> args)
          Creates a new function call new foo(...).
 Expr createNot(Expr expr)
          Creates a unary not '!a' expression.
 Expr createNull()
          Creates a null literal expression.
 Statement createNullStatement()
          Creates a null literal expression.
 Function createObjectMethod(Location loc, InterpretedClassDef cl, java.lang.String name, FunctionInfo info, Arg[] argList, Statement[] statementList)
          Creates a new object method definition.
 Expr createOr(Expr left, Expr right)
          Creates an or expression.
 Expr createPlus(Expr expr)
          Creates a unary plus '+a' expression.
 UnaryPostIncrementExpr createPostIncrement(Expr expr, int incr)
          Creates a post increment 'a++' expression.
 UnaryPreIncrementExpr createPreIncrement(Expr expr, int incr)
          Creates a pre increment '++a' expression.
 UnaryRefExpr createRef(Expr base)
          Creates a ref '&$a' expression.
 Expr createRequire(Location loc, Path source, Expr expr)
          Creates an include expr
 Expr createRequired()
          Creates a required
 Expr createRequireOnce(Location loc, Path source, Expr expr)
          Creates an include expr
 Statement createReturn(Location loc, Expr value)
          Creates a return statement
 Statement createReturnRef(Location loc, Expr value)
          Creates a return ref statement
 Expr createRightShift(Expr left, Expr right)
          Creates a right-shift expression.
 Expr createShortConditional(Expr test, Expr right)
          Creates an conditional expression.
 Statement createStatic(Location loc, VarExpr var, Expr value)
          Creates a static statement
 Expr createString(java.lang.String lexeme)
          Creates a string (php5) literal expression.
 Expr createSub(Expr left, Expr right)
          Creates a subtraction expression.
 Expr createSuppress(Expr expr)
          Creates an error suppression '@a' expression.
 Statement createSwitch(Location loc, Expr value, java.util.ArrayList<Expr[]> caseList, java.util.ArrayList<BlockStatement> blockList, Statement defaultBlock, java.lang.String label)
          Creates a switch statement
 Statement createText(Location loc, java.lang.String text)
          Creates a text statement
 ThisExpr createThis(InterpretedClassDef cl)
          Creates a this expression.
 ThisFieldVarExpr createThisField(ThisExpr qThis, Expr name)
          Creates a "$this->$foo" expression.
 ThisFieldExpr createThisField(ThisExpr qThis, StringValue name)
          Creates a "$this->foo" expression.
 Expr createThisMethod(Location loc, ThisExpr qThis, Expr methodName, java.util.ArrayList<Expr> args)
          Creates a $this method call $this->foo(...).
 Expr createThisMethod(Location loc, ThisExpr qThis, java.lang.String methodName, java.util.ArrayList<Expr> args)
          Creates a $this method call $this->foo(...).
 Statement createThrow(Location loc, Expr value)
          Creates a throw statement
 Expr createToArray(Expr expr)
          Creates an array cast
 Expr createToBinary(Expr expr)
          Creates a binary string cast
 Expr createToBoolean(Expr expr)
          Creates a boolean cast
 Expr createToDouble(Expr expr)
          Creates a double cast
 Expr createToLong(Expr expr)
          Creates a long cast
 Expr createToObject(Expr expr)
          Creates an object cast
 Expr createToString(Expr expr)
          Creates a string cast
 Expr createToUnicode(Expr expr)
          Creates a unicode cast
 TryStatement createTry(Location loc, Statement block)
          Creates a try statement
 Expr createUnicode(java.lang.String lexeme)
          Creates a string literal expression.
 Expr createUnsetVar(AbstractVarExpr var)
          Creates an unset '$a' expression.
 VarExpr createVar(VarInfo var)
          Creates a var expression.
 CallVarExpr createVarFunction(Location loc, Expr name, java.util.ArrayList<Expr> args)
          Creates a new var function call.
 Statement createVarGlobal(Location loc, VarVarExpr var)
          Creates a global var statement
 ObjectNewVarExpr createVarNew(Location loc, Expr name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 VarVarExpr createVarVar(Expr var)
          Creates a var expression.
 Statement createWhile(Location loc, Expr test, Statement block, java.lang.String label)
          Creates a while statement
 Expr createXor(Expr left, Expr right)
          Creates an xor expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprFactory

public ExprFactory()
Method Detail

create

public static ExprFactory create()

createNull

public Expr createNull()
Creates a null literal expression.


createString

public Expr createString(java.lang.String lexeme)
Creates a string (php5) literal expression.


createUnicode

public Expr createUnicode(java.lang.String lexeme)
Creates a string literal expression.


createBinary

public Expr createBinary(byte[] bytes)
Creates a binary literal expression.


createLong

public Expr createLong(long value)
Creates a long literal expression.


createLiteral

public Expr createLiteral(Value literal)
Creates a string literal expression.


createVar

public VarExpr createVar(VarInfo var)
Creates a var expression.


createVarVar

public VarVarExpr createVarVar(Expr var)
Creates a var expression.


createFileNameExpr

public ConstFileExpr createFileNameExpr(java.lang.String fileName)
Creates a __FILE__ expression.


createDirExpr

public ConstDirExpr createDirExpr(java.lang.String dirName)
Creates a __DIR__ expression.


createConst

public ConstExpr createConst(java.lang.String name)
Creates a const expression.


createArrayGet

public ArrayGetExpr createArrayGet(Location location,
                                   Expr base,
                                   Expr index)
Creates an array get 'a[0]' expression.

Parameters:
location -

createArrayTail

public ArrayTailExpr createArrayTail(Location location,
                                     Expr base)
Creates an array tail 'a[]' expression.

Parameters:
location - TODO

createFieldGet

public Expr createFieldGet(Expr base,
                           StringValue name)
Creates an object get '$a->b' expression.


createFieldVarGet

public Expr createFieldVarGet(Expr base,
                              Expr name)
Creates an object get '$a->$b' expression.


createThis

public ThisExpr createThis(InterpretedClassDef cl)
Creates a this expression.


createThisField

public ThisFieldExpr createThisField(ThisExpr qThis,
                                     StringValue name)
Creates a "$this->foo" expression.


createThisField

public ThisFieldVarExpr createThisField(ThisExpr qThis,
                                        Expr name)
Creates a "$this->$foo" expression.


createThisMethod

public Expr createThisMethod(Location loc,
                             ThisExpr qThis,
                             java.lang.String methodName,
                             java.util.ArrayList<Expr> args)
Creates a $this method call $this->foo(...).


createThisMethod

public Expr createThisMethod(Location loc,
                             ThisExpr qThis,
                             Expr methodName,
                             java.util.ArrayList<Expr> args)
Creates a $this method call $this->foo(...).


createClassConst

public ClassConstExpr createClassConst(java.lang.String className,
                                       java.lang.String name)
Creates a class const expression.


createClassConst

public Expr createClassConst(Expr className,
                             java.lang.String name)
Creates an expression class const expression ($class::FOO).


createClassVirtualConst

public ClassVirtualConstExpr createClassVirtualConst(java.lang.String name)
Creates a class const expression (static::FOO).


createClassField

public Expr createClassField(java.lang.String className,
                             java.lang.String name)
Creates an class static field 'a::$b' expression.


createClassField

public Expr createClassField(Expr className,
                             java.lang.String name)
Creates an class static field '$a::$b' expression.


createClassVirtualField

public Expr createClassVirtualField(java.lang.String name)
Creates a class static field 'static::$b' expression.


createClassField

public Expr createClassField(java.lang.String className,
                             Expr name)
Creates an class static field 'a::${b}' expression.


createClassField

public Expr createClassField(Expr className,
                             Expr name)
Creates an class static field '$class::$b' expression.


createClassVirtualField

public Expr createClassVirtualField(Expr name)
Creates a class static field 'static::${b}' expression.


createUnsetVar

public Expr createUnsetVar(AbstractVarExpr var)
Creates an unset '$a' expression.


createCharAt

public BinaryCharAtExpr createCharAt(Expr base,
                                     Expr index)
Creates a char at 'a{0}' expression.


createPostIncrement

public UnaryPostIncrementExpr createPostIncrement(Expr expr,
                                                  int incr)
Creates a post increment 'a++' expression.


createPreIncrement

public UnaryPreIncrementExpr createPreIncrement(Expr expr,
                                                int incr)
Creates a pre increment '++a' expression.


createMinus

public Expr createMinus(Expr expr)
Creates a unary minus '-a' expression.


createPlus

public Expr createPlus(Expr expr)
Creates a unary plus '+a' expression.


createNot

public Expr createNot(Expr expr)
Creates a unary not '!a' expression.


createBitNot

public Expr createBitNot(Expr expr)
Creates a unary inversion '~a' expression.


createClone

public Expr createClone(Expr expr)
Creates a clone 'clone a' expression.


createCopy

public Expr createCopy(Expr expr)
Creates a clone 'clone a' expression.


createSuppress

public Expr createSuppress(Expr expr)
Creates an error suppression '@a' expression.


createToBoolean

public Expr createToBoolean(Expr expr)
Creates a boolean cast


createToLong

public Expr createToLong(Expr expr)
Creates a long cast


createToDouble

public Expr createToDouble(Expr expr)
Creates a double cast


createToString

public Expr createToString(Expr expr)
Creates a string cast


createToUnicode

public Expr createToUnicode(Expr expr)
Creates a unicode cast


createToBinary

public Expr createToBinary(Expr expr)
Creates a binary string cast


createToObject

public Expr createToObject(Expr expr)
Creates an object cast


createToArray

public Expr createToArray(Expr expr)
Creates an array cast


createDie

public Expr createDie(Expr expr)
Creates a die 'die("msg")' expression.


createExit

public Expr createExit(Expr expr)
Creates an exit 'exit("msg")' expression.


createRequired

public Expr createRequired()
Creates a required


createDefault

public Expr createDefault()
Creates a default


createAdd

public Expr createAdd(Expr left,
                      Expr right)
Creates an addition expression.


createSub

public Expr createSub(Expr left,
                      Expr right)
Creates a subtraction expression.


createMul

public Expr createMul(Expr left,
                      Expr right)
Creates a multiplication expression.


createDiv

public Expr createDiv(Expr left,
                      Expr right)
Creates a division expression.


createMod

public Expr createMod(Expr left,
                      Expr right)
Creates a modulo expression.


createLeftShift

public Expr createLeftShift(Expr left,
                            Expr right)
Creates a left-shift expression.


createRightShift

public Expr createRightShift(Expr left,
                             Expr right)
Creates a right-shift expression.


createBitAnd

public Expr createBitAnd(Expr left,
                         Expr right)
Creates a bit-and expression.


createBitOr

public Expr createBitOr(Expr left,
                        Expr right)
Creates a bit-or expression.


createBitXor

public Expr createBitXor(Expr left,
                         Expr right)
Creates a bit-xor expression.


createAppend

public final Expr createAppend(Expr left,
                               Expr right)
Creates an append expression


createAppendImpl

protected BinaryAppendExpr createAppendImpl(Expr left,
                                            BinaryAppendExpr right)

createLt

public Expr createLt(Expr left,
                     Expr right)
Creates a lt expression.


createLeq

public Expr createLeq(Expr left,
                      Expr right)
Creates a leq expression.


createGt

public Expr createGt(Expr left,
                     Expr right)
Creates a gt expression.


createGeq

public Expr createGeq(Expr left,
                      Expr right)
Creates a geq expression.


createEq

public Expr createEq(Expr left,
                     Expr right)
Creates an eq expression.


createNeq

public Expr createNeq(Expr left,
                      Expr right)
Creates a neq expression.


createEquals

public Expr createEquals(Expr left,
                         Expr right)
Creates an equals expression.


createAssign

public Expr createAssign(AbstractVarExpr left,
                         Expr right)
Creates an assignment expression.


createAssignRef

public Expr createAssignRef(AbstractVarExpr left,
                            Expr right)
Creates an assignment expression.


createRef

public UnaryRefExpr createRef(Expr base)
Creates a ref '&$a' expression.


createAnd

public Expr createAnd(Expr left,
                      Expr right)
Creates an and expression.


createOr

public Expr createOr(Expr left,
                     Expr right)
Creates an or expression.


createXor

public Expr createXor(Expr left,
                      Expr right)
Creates an xor expression.


createComma

public Expr createComma(Expr left,
                        Expr right)
Creates a comma expression.


createInstanceOf

public Expr createInstanceOf(Expr expr,
                             java.lang.String name)
Creates an instanceof expression.


createInstanceOfVar

public Expr createInstanceOfVar(Expr expr,
                                Expr name)
Creates an instanceof expression.


createEach

public Expr createEach(Expr expr)
Creates an each expression.


createList

public final Expr createList(QuercusParser parser,
                             ListHeadExpr head,
                             Expr value)
Creates a list expression.


createListHead

public ListHeadExpr createListHead(java.util.ArrayList<Expr> keys)
Creates a list expression.


createList

public Expr createList(ListHeadExpr head,
                       Expr value)
Creates a list expression.


createListEach

public Expr createListEach(ListHeadExpr head,
                           Expr value)
Creates a list expression.


createConditional

public Expr createConditional(Expr test,
                              Expr left,
                              Expr right)
Creates an conditional expression.


createShortConditional

public Expr createShortConditional(Expr test,
                                   Expr right)
Creates an conditional expression.


createArrayFun

public Expr createArrayFun(java.util.ArrayList<Expr> keys,
                           java.util.ArrayList<Expr> values)
Creates a array() expression.


createCall

public Expr createCall(QuercusParser parser,
                       java.lang.String name,
                       java.util.ArrayList<Expr> args)
Creates a new function call.


createVarFunction

public CallVarExpr createVarFunction(Location loc,
                                     Expr name,
                                     java.util.ArrayList<Expr> args)
Creates a new var function call.


createClosure

public ClosureExpr createClosure(Location loc,
                                 Function fun,
                                 java.util.ArrayList<VarExpr> useArgs)
Creates a new closure.


createMethodCall

public Expr createMethodCall(Location loc,
                             Expr objExpr,
                             java.lang.String methodName,
                             java.util.ArrayList<Expr> args)
Creates a method call $a->foo(...).


createMethodCall

public Expr createMethodCall(Location loc,
                             Expr objExpr,
                             Expr methodName,
                             java.util.ArrayList<Expr> args)
Creates a variable method call $a->${"foo"}(...).


createClassMethodCall

public Expr createClassMethodCall(Location loc,
                                  java.lang.String className,
                                  java.lang.String methodName,
                                  java.util.ArrayList<Expr> args)
Creates a class method call A::foo(...)


createClassMethodCall

public Expr createClassMethodCall(Location loc,
                                  Expr className,
                                  java.lang.String methodName,
                                  java.util.ArrayList<Expr> args)
Creates a class method call ${class}::foo(...)


createClassVirtualMethodCall

public Expr createClassVirtualMethodCall(Location loc,
                                         java.lang.String methodName,
                                         java.util.ArrayList<Expr> args)
Creates a new function call based on the class context.


createClassMethodCall

public Expr createClassMethodCall(Location loc,
                                  java.lang.String className,
                                  Expr methodName,
                                  java.util.ArrayList<Expr> args)
Creates a new method A::$f()


createClassMethodCall

public Expr createClassMethodCall(Location loc,
                                  Expr className,
                                  Expr methodName,
                                  java.util.ArrayList<Expr> args)
Creates a new method ${class}::$f()


createClassVirtualMethodCall

public Expr createClassVirtualMethodCall(Location loc,
                                         Expr var,
                                         java.util.ArrayList<Expr> args)
Creates a new method static::$f()


createClassConstructor

public Expr createClassConstructor(Location loc,
                                   java.lang.String className,
                                   java.lang.String methodName,
                                   java.util.ArrayList<Expr> args)
Creates a class method call A::foo(...)


createNew

public ObjectNewExpr createNew(Location loc,
                               java.lang.String name,
                               java.util.ArrayList<Expr> args)
Creates a new function call new foo(...).


createVarNew

public ObjectNewVarExpr createVarNew(Location loc,
                                     Expr name,
                                     java.util.ArrayList<Expr> args)
Creates a new function call.


createInclude

public Expr createInclude(Location loc,
                          Path source,
                          Expr expr)
Creates an include expr


createRequire

public Expr createRequire(Location loc,
                          Path source,
                          Expr expr)
Creates an include expr


createIncludeOnce

public Expr createIncludeOnce(Location loc,
                              Path source,
                              Expr expr)
Creates an include expr


createRequireOnce

public Expr createRequireOnce(Location loc,
                              Path source,
                              Expr expr)
Creates an include expr


createImport

public Expr createImport(Location loc,
                         java.lang.String name,
                         boolean isWildcard)
Creates a Quercus class import.


createNullStatement

public Statement createNullStatement()
Creates a null literal expression.


createEcho

public Statement createEcho(Location loc,
                            Expr expr)
Creates an echo statement


createExpr

public Statement createExpr(Location loc,
                            Expr expr)
Creates an expr statement


createBlock

public final Statement createBlock(Location loc,
                                   java.util.ArrayList<Statement> statementList)

createBlock

public final Statement createBlock(Location loc,
                                   Statement[] statementList)

createBlockImpl

public final BlockStatement createBlockImpl(Location loc,
                                            java.util.ArrayList<Statement> statementList)
Creates an expr statement


createBlockImpl

public BlockStatement createBlockImpl(Location loc,
                                      Statement[] statements)
Creates an expr statement


createText

public Statement createText(Location loc,
                            java.lang.String text)
Creates a text statement


createIf

public Statement createIf(Location loc,
                          Expr test,
                          Statement trueBlock,
                          Statement falseBlock)
Creates an if statement


createSwitch

public Statement createSwitch(Location loc,
                              Expr value,
                              java.util.ArrayList<Expr[]> caseList,
                              java.util.ArrayList<BlockStatement> blockList,
                              Statement defaultBlock,
                              java.lang.String label)
Creates a switch statement


createFor

public Statement createFor(Location loc,
                           Expr init,
                           Expr test,
                           Expr incr,
                           Statement block,
                           java.lang.String label)
Creates a for statement


createForeach

public Statement createForeach(Location loc,
                               Expr objExpr,
                               AbstractVarExpr key,
                               AbstractVarExpr value,
                               boolean isRef,
                               Statement block,
                               java.lang.String label)
Creates a foreach statement


createWhile

public Statement createWhile(Location loc,
                             Expr test,
                             Statement block,
                             java.lang.String label)
Creates a while statement


createDo

public Statement createDo(Location loc,
                          Expr test,
                          Statement block,
                          java.lang.String label)
Creates a do-while statement


createBreak

public BreakStatement createBreak(Location location,
                                  Expr target,
                                  java.util.ArrayList<java.lang.String> loopLabelList)
Creates a break statement


createContinue

public ContinueStatement createContinue(Location location,
                                        Expr target,
                                        java.util.ArrayList<java.lang.String> loopLabelList)
Creates a continue statement


createGlobal

public Statement createGlobal(Location loc,
                              VarExpr var)
Creates a global statement


createVarGlobal

public Statement createVarGlobal(Location loc,
                                 VarVarExpr var)
Creates a global var statement


createClassStatic

public Statement createClassStatic(Location loc,
                                   java.lang.String className,
                                   VarExpr var,
                                   Expr value)
Creates a static statement inside a class


createStatic

public Statement createStatic(Location loc,
                              VarExpr var,
                              Expr value)
Creates a static statement


createThrow

public Statement createThrow(Location loc,
                             Expr value)
Creates a throw statement


createTry

public TryStatement createTry(Location loc,
                              Statement block)
Creates a try statement


createReturn

public Statement createReturn(Location loc,
                              Expr value)
Creates a return statement


createReturnRef

public Statement createReturnRef(Location loc,
                                 Expr value)
Creates a return ref statement


createFunctionDef

public Statement createFunctionDef(Location loc,
                                   Function fun)
Creates a new function definition def.


createClassDef

public Statement createClassDef(Location loc,
                                InterpretedClassDef cl)
Creates a new function def statement


createFunctionInfo

public FunctionInfo createFunctionInfo(QuercusContext quercus,
                                       ClassDef classDef,
                                       java.lang.String name)
Creates a new FunctionInfo


createFunction

public Function createFunction(Location loc,
                               java.lang.String name,
                               FunctionInfo info,
                               Arg[] argList,
                               Statement[] statementList)
Creates a new function definition.


createObjectMethod

public Function createObjectMethod(Location loc,
                                   InterpretedClassDef cl,
                                   java.lang.String name,
                                   FunctionInfo info,
                                   Arg[] argList,
                                   Statement[] statementList)
Creates a new object method definition.


createMethodDeclaration

public Function createMethodDeclaration(Location loc,
                                        InterpretedClassDef cl,
                                        java.lang.String name,
                                        FunctionInfo info,
                                        Arg[] argList)
Creates a new object method definition.


createClassDef

public InterpretedClassDef createClassDef(Location location,
                                          java.lang.String name,
                                          java.lang.String parentName,
                                          java.lang.String[] ifaceList,
                                          int index)