com.caucho.quercus.expr
Class AbstractMethodGenerator

java.lang.Object
  extended by com.caucho.quercus.expr.ExprGenerator
      extended by com.caucho.quercus.expr.AbstractMethodGenerator

public abstract class AbstractMethodGenerator
extends ExprGenerator

Represents a PHP function expression.


Field Summary
 
Fields inherited from class com.caucho.quercus.expr.ExprGenerator
COMPILE_ARG_MAX
 
Constructor Summary
protected AbstractMethodGenerator(Location loc)
           
 
Method Summary
 ExprType analyzeArgs(AnalyzeInfo info, Expr[] args)
          Analyzes the function.
 void generate(PhpWriter out)
          Generates code to evaluate the expression.
protected  void generateArgs(PhpWriter out, Expr[] args)
           
 void generateCopy(PhpWriter out)
          Generates code to recreate the expression.
protected abstract  void generateImpl(PhpWriter out, boolean isRef)
          Generates code to evaluate;
 void generateRef(PhpWriter out)
          Generates code for a reference.
 void generateValue(PhpWriter out)
          Generates code to evaluate the expression.
 void generateVar(PhpWriter out)
          Generates code for a reference.
 
Methods inherited from class com.caucho.quercus.expr.ExprGenerator
analyze, analyzeAssign, analyzeSetModified, analyzeSetPostIncrement, analyzeSetReference, analyzeTop, analyzeUnset, combineBinaryVarState, generateAppend, generateArg, generateArray, generateAssign, generateAssignBoolean, generateAssignClose, generateAssignOpen, generateAssignRef, generateBoolean, generateChar, generateDirty, generateDouble, generateExpr, generateGetOut, generateInt, generateIsset, generateListEachStatement, generateLong, generateModifiedRead, generateObject, generatePrint, generateRefArg, generateReturn, generateReturnRef, generateStatement, generateString, generateStringValue, generateTop, generateType, generateUnset, generateUnsetArray, generateValueArg, getConstant, getLiteral, getLocation, getType, isAssignment, isBoolean, isConstant, isDefault, isDouble, isLiteral, isLong, isNumber, isString, isVar, isVarAssigned
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractMethodGenerator

protected AbstractMethodGenerator(Location loc)
Method Detail

analyzeArgs

public ExprType analyzeArgs(AnalyzeInfo info,
                            Expr[] args)
Analyzes the function.


generate

public void generate(PhpWriter out)
              throws java.io.IOException
Description copied from class: ExprGenerator
Generates code to evaluate the expression.

Overrides:
generate in class ExprGenerator
Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateRef

public void generateRef(PhpWriter out)
                 throws java.io.IOException
Description copied from class: ExprGenerator
Generates code for a reference.

Overrides:
generateRef in class ExprGenerator
Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateVar

public void generateVar(PhpWriter out)
                 throws java.io.IOException
Description copied from class: ExprGenerator
Generates code for a reference.

Overrides:
generateVar in class ExprGenerator
Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateCopy

public void generateCopy(PhpWriter out)
                  throws java.io.IOException
Description copied from class: ExprGenerator
Generates code to recreate the expression.

Overrides:
generateCopy in class ExprGenerator
Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateValue

public void generateValue(PhpWriter out)
                   throws java.io.IOException
Generates code to evaluate the expression.

Overrides:
generateValue in class ExprGenerator
Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateImpl

protected abstract void generateImpl(PhpWriter out,
                                     boolean isRef)
                              throws java.io.IOException
Generates code to evaluate;

Parameters:
out - the writer to the Java source code.
Throws:
java.io.IOException

generateArgs

protected void generateArgs(PhpWriter out,
                            Expr[] args)
                     throws java.io.IOException
Throws:
java.io.IOException