out.print("public Value callMethod" + ref + "(Env env, Value q_this");
out.print("public final Value callMethod" + ref + "(Env env, Value q_this");
  public void generateFixedArgs(PhpWriter out)    throws IOException  {    out.println();    out.print("public static final fun_" + _name + " fun_" + _name);    out.println(" = new fun_" + _name + "();");    String ref = _isReturnsReference ? "Ref" : "";    out.println();    out.print("final static class fun_" + _name + " extends ");        if (isStatic())      out.print("CompiledFunction" + ref + "_" + _args.length);    else      out.print("CompiledMethod" + ref + "_" + _args.length);    out.println(" {");    out.pushDepth();        out.println("fun_" + _name + "()");    out.println("{");    out.print("  super(\"");    out.printJavaString(_name);    out.print("\"");    for (int i = 0; i < _args.length; i++) {      out.print(", ");      Expr defaultExpr = _args[i].getDefault();      defaultExpr.generateExpr(out);    }    out.println(");");    out.println("}");            out.println();    if (isStatic())      out.print("public Value call" + ref + "(Env env");    else      out.print("public Value callMethod" + ref + "(Env env, Value q_this");    for (int i = 0; i < _args.length; i++) {      out.print(", ");      out.print("Value v_");      out.print(_args[i].getName());    }    out.println(")");    out.println("{");    out.pushDepth();    generateBody(out);    out.popDepth();    out.println("}");    out.popDepth();    out.println("}");    if (! isGlobal()) {      out.println();      out.println("static { fun_" + _name + ".setGlobal(false); }");    }  }