com.caucho.quercus.expr
Class ExprFactoryPro

java.lang.Object
  extended by com.caucho.quercus.expr.ExprFactory
      extended by com.caucho.quercus.expr.ExprFactoryPro

public class ExprFactoryPro
extends ExprFactory

Factory for creating PHP expressions and statements


Constructor Summary
ExprFactoryPro()
           
 
Method Summary
 Expr createAdd(Expr left, Expr right)
          Creates an addition expression.
 Expr createAnd(Expr left, Expr right)
          Creates an and expression.
protected  BinaryAppendExpr createAppendImpl(Expr left, BinaryAppendExpr right)
          Creates an append expression.
 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 var, Expr right)
          Creates an assignment expression.
 Expr createAssignRef(AbstractVarExpr var, Expr right)
          Creates an assignment ref 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.
 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.
 ClassVarConstExpr createClassConst(Expr className, java.lang.String name)
          Creates a class const expression.
 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 object get 'a::${b}' expression.
 Expr createClassField(Expr className, java.lang.String name)
          Creates a class field '$a::$b' expression.
 Expr createClassField(java.lang.String className, Expr name)
          Creates an object get 'a::${b}' expression.
 Expr createClassField(java.lang.String className, java.lang.String name)
          Creates a class field 'a::$b' expression.
 Expr createClassMethodCall(Location loc, Expr className, Expr name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 Expr createClassMethodCall(Location loc, Expr className, java.lang.String name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 Expr createClassMethodCall(Location loc, java.lang.String className, Expr name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 Expr createClassMethodCall(Location loc, java.lang.String className, java.lang.String name, java.util.ArrayList<Expr> args)
          Creates a new function call.
 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 an object get 'static::${b}' expression.
 Expr createClassVirtualField(java.lang.String name)
          Creates an object get 'static::b' expression.
 Expr createClassVirtualMethodCall(Location loc, Expr methodName, 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.
 ClosureExprPro createClosure(Location loc, Function fun, java.util.ArrayList<VarExpr> useArgs)
          Creates a new closure call.
 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 an die 'die("msg")' expression.
 ConstDirExpr createDirExpr(java.lang.String fileName)
          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 call.
 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 createListEach(ListHeadExpr head, Expr value)
          Creates a list expression.
 ListHeadExpr createListHead(java.util.ArrayList<Expr> keys)
          Creates a list expression.
 Expr createLiteral(Value value)
          Creates a 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 name, java.util.ArrayList<Expr> args)
          Creates a new method call.
 Expr createMethodCall(Location loc, Expr objExpr, java.lang.String name, java.util.ArrayList<Expr> args)
          Creates a new method call.
 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 call.
 Expr createNot(Expr expr)
          Creates a logical not '!a' expression.
 Expr createNull()
          Creates a null literal expression.
 Statement createNullStatement()
          Creates a null statement
 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 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
 ThisExprPro createThis(InterpretedClassDef cl)
          Creates a this expression.
 ThisFieldVarExprPro createThisField(ThisExpr qThis, Expr name)
          Creates a "$this->$foo" expression.
 ThisFieldExprPro createThisField(ThisExpr qThis, StringValue name)
          Creates a "$this->foo" expression.
 ThisMethodVarExprPro createThisMethod(Location loc, ThisExpr qThis, Expr methodName, java.util.ArrayList<Expr> args)
          Creates a $this method call $this->foo(...).
 ThisMethodExprPro 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 string cast
 TryStatement createTry(Location loc, Statement block)
          Creates a try statement
 Expr createUnicode(java.lang.String lexeme)
          Creates a binary 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 com.caucho.quercus.expr.ExprFactory
create, createAppend, createBlock, createBlock, createBlockImpl, createList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprFactoryPro

public ExprFactoryPro()
Method Detail

createNull

public Expr createNull()
Creates a null literal expression.

Overrides:
createNull in class ExprFactory

createString

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

Overrides:
createString in class ExprFactory

createBinary

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

Overrides:
createBinary in class ExprFactory

createUnicode

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

Overrides:
createUnicode in class ExprFactory

createLong

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

Overrides:
createLong in class ExprFactory

createLiteral

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

Overrides:
createLiteral in class ExprFactory

createVar

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

Overrides:
createVar in class ExprFactory

createVarVar

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

Overrides:
createVarVar in class ExprFactory

createFileNameExpr

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

Overrides:
createFileNameExpr in class ExprFactory

createDirExpr

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

Overrides:
createDirExpr in class ExprFactory

createConst

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

Overrides:
createConst in class ExprFactory

createThis

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

Overrides:
createThis in class ExprFactory

createThisField

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

Overrides:
createThisField in class ExprFactory

createThisField

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

Overrides:
createThisField in class ExprFactory

createThisMethod

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

Overrides:
createThisMethod in class ExprFactory

createThisMethod

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

Overrides:
createThisMethod in class ExprFactory

createArrayGet

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

Overrides:
createArrayGet in class ExprFactory

createArrayTail

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

Overrides:
createArrayTail in class ExprFactory
Parameters:
location - TODO

createFieldGet

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

Overrides:
createFieldGet in class ExprFactory

createFieldVarGet

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

Overrides:
createFieldVarGet in class ExprFactory

createClassConst

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

Overrides:
createClassConst in class ExprFactory

createClassConst

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

Overrides:
createClassConst in class ExprFactory

createClassVirtualConst

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

Overrides:
createClassVirtualConst in class ExprFactory

createClassField

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

Overrides:
createClassField in class ExprFactory

createClassField

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

Overrides:
createClassField in class ExprFactory

createClassVirtualField

public Expr createClassVirtualField(java.lang.String name)
Creates an object get 'static::b' expression.

Overrides:
createClassVirtualField in class ExprFactory

createClassField

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

Overrides:
createClassField in class ExprFactory

createClassField

public Expr createClassField(Expr className,
                             Expr name)
Creates an object get 'a::${b}' expression.

Overrides:
createClassField in class ExprFactory

createClassVirtualField

public Expr createClassVirtualField(Expr name)
Creates an object get 'static::${b}' expression.

Overrides:
createClassVirtualField in class ExprFactory

createRef

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

Overrides:
createRef in class ExprFactory

createUnsetVar

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

Overrides:
createUnsetVar in class ExprFactory

createCharAt

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

Overrides:
createCharAt in class ExprFactory

createPostIncrement

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

Overrides:
createPostIncrement in class ExprFactory

createPreIncrement

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

Overrides:
createPreIncrement in class ExprFactory

createMinus

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

Overrides:
createMinus in class ExprFactory

createPlus

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

Overrides:
createPlus in class ExprFactory

createClone

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

Overrides:
createClone in class ExprFactory

createCopy

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

Overrides:
createCopy in class ExprFactory

createNot

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

Overrides:
createNot in class ExprFactory

createBitNot

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

Overrides:
createBitNot in class ExprFactory

createSuppress

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

Overrides:
createSuppress in class ExprFactory

createToBoolean

public Expr createToBoolean(Expr expr)
Creates a boolean cast

Overrides:
createToBoolean in class ExprFactory

createToLong

public Expr createToLong(Expr expr)
Creates a long cast

Overrides:
createToLong in class ExprFactory

createToDouble

public Expr createToDouble(Expr expr)
Creates a double cast

Overrides:
createToDouble in class ExprFactory

createToString

public Expr createToString(Expr expr)
Creates a string cast

Overrides:
createToString in class ExprFactory

createToBinary

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

Overrides:
createToBinary in class ExprFactory

createToUnicode

public Expr createToUnicode(Expr expr)
Creates a unicode string cast

Overrides:
createToUnicode in class ExprFactory

createToObject

public Expr createToObject(Expr expr)
Creates an object cast

Overrides:
createToObject in class ExprFactory

createToArray

public Expr createToArray(Expr expr)
Creates an array cast

Overrides:
createToArray in class ExprFactory

createDie

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

Overrides:
createDie in class ExprFactory

createExit

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

Overrides:
createExit in class ExprFactory

createRequired

public Expr createRequired()
Creates a required

Overrides:
createRequired in class ExprFactory

createDefault

public Expr createDefault()
Creates a default

Overrides:
createDefault in class ExprFactory

createAdd

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

Overrides:
createAdd in class ExprFactory

createSub

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

Overrides:
createSub in class ExprFactory

createMul

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

Overrides:
createMul in class ExprFactory

createDiv

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

Overrides:
createDiv in class ExprFactory

createMod

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

Overrides:
createMod in class ExprFactory

createLeftShift

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

Overrides:
createLeftShift in class ExprFactory

createRightShift

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

Overrides:
createRightShift in class ExprFactory

createBitAnd

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

Overrides:
createBitAnd in class ExprFactory

createBitXor

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

Overrides:
createBitXor in class ExprFactory

createBitOr

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

Overrides:
createBitOr in class ExprFactory

createLt

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

Overrides:
createLt in class ExprFactory

createLeq

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

Overrides:
createLeq in class ExprFactory

createGt

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

Overrides:
createGt in class ExprFactory

createGeq

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

Overrides:
createGeq in class ExprFactory

createEq

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

Overrides:
createEq in class ExprFactory

createNeq

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

Overrides:
createNeq in class ExprFactory

createEquals

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

Overrides:
createEquals in class ExprFactory

createAppendImpl

protected BinaryAppendExpr createAppendImpl(Expr left,
                                            BinaryAppendExpr right)
Creates an append expression.

Overrides:
createAppendImpl in class ExprFactory

createAssign

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

Overrides:
createAssign in class ExprFactory

createAssignRef

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

Overrides:
createAssignRef in class ExprFactory

createAnd

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

Overrides:
createAnd in class ExprFactory

createOr

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

Overrides:
createOr in class ExprFactory

createXor

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

Overrides:
createXor in class ExprFactory

createComma

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

Overrides:
createComma in class ExprFactory

createInstanceOf

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

Overrides:
createInstanceOf in class ExprFactory

createInstanceOfVar

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

Overrides:
createInstanceOfVar in class ExprFactory

createEach

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

Overrides:
createEach in class ExprFactory

createListHead

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

Overrides:
createListHead in class ExprFactory

createList

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

Overrides:
createList in class ExprFactory

createListEach

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

Overrides:
createListEach in class ExprFactory

createConditional

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

Overrides:
createConditional in class ExprFactory

createShortConditional

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

Overrides:
createShortConditional in class ExprFactory

createArrayFun

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

Overrides:
createArrayFun in class ExprFactory

createCall

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

Overrides:
createCall in class ExprFactory

createVarFunction

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

Overrides:
createVarFunction in class ExprFactory

createClosure

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

Overrides:
createClosure in class ExprFactory

createMethodCall

public Expr createMethodCall(Location loc,
                             Expr objExpr,
                             Expr name,
                             java.util.ArrayList<Expr> args)
Creates a new method call.

Overrides:
createMethodCall in class ExprFactory

createNew

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

Overrides:
createNew in class ExprFactory

createClassMethodCall

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

Overrides:
createClassMethodCall in class ExprFactory

createClassMethodCall

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

Overrides:
createClassMethodCall in class ExprFactory

createClassMethodCall

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

Overrides:
createClassMethodCall in class ExprFactory

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.

Overrides:
createClassVirtualMethodCall in class ExprFactory

createClassMethodCall

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

Overrides:
createClassMethodCall in class ExprFactory

createClassVirtualMethodCall

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

Overrides:
createClassVirtualMethodCall in class ExprFactory

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(...)

Overrides:
createClassConstructor in class ExprFactory

createMethodCall

public Expr createMethodCall(Location loc,
                             Expr objExpr,
                             java.lang.String name,
                             java.util.ArrayList<Expr> args)
Creates a new method call.

Overrides:
createMethodCall in class ExprFactory

createVarNew

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

Overrides:
createVarNew in class ExprFactory

createInclude

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

Overrides:
createInclude in class ExprFactory

createRequire

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

Overrides:
createRequire in class ExprFactory

createIncludeOnce

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

Overrides:
createIncludeOnce in class ExprFactory

createRequireOnce

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

Overrides:
createRequireOnce in class ExprFactory

createImport

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

Overrides:
createImport in class ExprFactory

createEcho

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

Overrides:
createEcho in class ExprFactory

createExpr

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

Overrides:
createExpr in class ExprFactory

createBlockImpl

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

Overrides:
createBlockImpl in class ExprFactory

createText

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

Overrides:
createText in class ExprFactory

createNullStatement

public Statement createNullStatement()
Creates a null statement

Overrides:
createNullStatement in class ExprFactory

createIf

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

Overrides:
createIf in class ExprFactory

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

Overrides:
createSwitch in class ExprFactory

createFor

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

Overrides:
createFor in class ExprFactory

createForeach

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

Overrides:
createForeach in class ExprFactory

createWhile

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

Overrides:
createWhile in class ExprFactory

createDo

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

Overrides:
createDo in class ExprFactory

createBreak

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

Overrides:
createBreak in class ExprFactory

createContinue

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

Overrides:
createContinue in class ExprFactory

createGlobal

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

Overrides:
createGlobal in class ExprFactory

createVarGlobal

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

Overrides:
createVarGlobal in class ExprFactory

createClassStatic

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

Overrides:
createClassStatic in class ExprFactory

createStatic

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

Overrides:
createStatic in class ExprFactory

createThrow

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

Overrides:
createThrow in class ExprFactory

createTry

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

Overrides:
createTry in class ExprFactory

createReturn

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

Overrides:
createReturn in class ExprFactory

createReturnRef

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

Overrides:
createReturnRef in class ExprFactory

createFunctionDef

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

Overrides:
createFunctionDef in class ExprFactory

createClassDef

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

Overrides:
createClassDef in class ExprFactory

createFunctionInfo

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

Overrides:
createFunctionInfo in class ExprFactory

createFunction

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

Overrides:
createFunction in class ExprFactory

createObjectMethod

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

Overrides:
createObjectMethod in class ExprFactory

createMethodDeclaration

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

Overrides:
createMethodDeclaration in class ExprFactory

createClassDef

public InterpretedClassDef createClassDef(Location location,
                                          java.lang.String name,
                                          java.lang.String parentName,
                                          java.lang.String[] ifaceList,
                                          int index)
Overrides:
createClassDef in class ExprFactory