out.println(varName + " = " + argName + ".toValue();");
out.println(varName + " = " + argName + ".toArgValue();");
  private void generateBody(PhpWriter out)    throws IOException  {    out.println("env.checkTimeout();");    out.println();        for (VarInfo var : _info.getVariables()) {      String varName = "v_" + var.getName();      String argName = varName;      if (! var.isArgument())	out.println("Value " + varName + ";");      else if (isVariableArgs()) {	out.println("Value " + varName + ";");	argName = "args[" + var.getArgumentIndex() + "]";      }      if (! var.isReference()) {	out.println(varName + " = NullValue.NULL;");      }      else if (! var.isArgument()) {	out.println(varName + " = null;");      }      else if (isVariableMap()) {	// XXX: need to distinguish ref	out.println(varName + " = " + argName + ".toVar();");      }      else if (var.isReadOnly()) {	// php/3a70	out.println(varName + " = " + argName + ".toValue();");      }      else if (var.isRefArgument()) {	// php/344r, 3a57	out.println(varName + " = " + argName + ".toRefVar();");      }      else if (var.isAssigned() && var.isReference()) {	out.println(varName + " = " + argName + ".toVar();");      }      else {	// php/399j	out.println(varName + " = " + argName + ".toArgValue();");      }    }        for (String var : _info.getTempVariables()) {      out.println("Value " + var + ";");    }          if (isVariableMap()) {      out.println("java.util.HashMap<String,Var> _quercus_map = new java.util.HashMap<String,Var>();");      out.println("java.util.HashMap<String,Var> _quercus_oldMap = env.pushEnv(_quercus_map);");          out.println("try {");      out.pushDepth();      for (int i = 0; i < _args.length; i++) {	out.print("_quercus_map.put(\"");	out.printJavaString(_args[i].getName());	out.println("\", (Var) v_" + _args[i].getName() + ");");      }    }    if (_info.isOutUsed())      out.println("com.caucho.vfs.WriteStream _quercus_out = env.getOut();");    _statement.generate(out);    if (isVariableMap()) {      out.popDepth();      out.println("} finally {");      out.pushDepth();      // out.println("env.setFunctionArgs(_quercus_oldArgs);");      out.println("env.popEnv(_quercus_oldMap);");      out.popDepth();      out.println("}");    }    if (_statement.fallThrough() != Statement.RETURN)      out.println("return com.caucho.quercus.env.NullValue.NULL;");  }