if (_isReturnsReference && ! isRef) out.print(".toValue()");
  private void generateImpl(PhpWriter out, Expr funExpr,                            Expr []args, boolean isRef)    throws IOException  {    String ref;    if (! _isReturnsReference)      ref = "";    else      ref = "Ref";        out.print("fun_" + _name + ".call" + ref + "(env");    if (! isVariableArgs()) {    }    else if (args.length == 0 && _args.length == 0)      out.print(", Value.NULL_ARGS");    else      out.print(", new Value[] {");    for (int i = 0; i < _args.length; i++) {      if (i != 0 || ! isVariableArgs())        out.print(", ");      if (i < args.length) {        Expr arg = args[i];        if (_args[i].isReference()) {          arg.generateRef(out);        }        else {          arg.generateArg(out);        }      }      else if (_args[i].getDefault() != null)        _args[i].getDefault().generateArg(out);      else        out.print("NullValue.NULL");    }    for (int i = _args.length; i < args.length; i++) {      if (i != 0)        out.print(", ");      args[i].generateArg(out);    }    if (isVariableArgs() && (_args.length > 0 || args.length > 0))      out.print("}");    out.print(")");    if (_isReturnsReference && ! isRef)      out.print(".toValue()");        /* php/3a70 - should only be generated from generateCopy    if (! (isRef && _isReturnsReference))      out.print(".copyReturn()");    */  }