Cherry-pick merging /releases/1.6 c4963 into trunk. svn merge -c4963 https://google-web-toolkit.googlecode.com/svn/releases/1.6 git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@4970 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java b/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java index 627f774..0449c7e 100644 --- a/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java +++ b/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java
@@ -445,21 +445,6 @@ w.println("(" + asyncParam.getName() + ");"); } - JParameter callbackParam = asyncParams[asyncParams.length - 1]; - String callbackName = callbackParam.getName(); - if (needsTryCatchBlock) { - w.outdent(); - w.print("} catch (SerializationException "); - String exceptionName = nameFactory.createName("ex"); - w.println(exceptionName + ") {"); - w.indent(); - w.println(callbackName + ".onFailure(" + exceptionName + ");"); - w.outdent(); - w.println("}"); - } - - w.println(); - String payloadName = nameFactory.createName("payload"); w.println("String " + payloadName + " = " + streamWriterName + ".toString();"); @@ -486,11 +471,24 @@ + asyncReturnType.getQualifiedSourceName()); } + JParameter callbackParam = asyncParams[asyncParams.length - 1]; + String callbackName = callbackParam.getName(); JType returnType = syncMethod.getReturnType(); w.print("ResponseReader." + getResponseReaderFor(returnType).name()); w.println(", \"" + getProxySimpleName() + "." + syncMethod.getName() + "\", " + requestIdName + ", " + payloadName + ", " + callbackName + ");"); + + if (needsTryCatchBlock) { + w.outdent(); + w.print("} catch (SerializationException "); + String exceptionName = nameFactory.createName("ex"); + w.println(exceptionName + ") {"); + w.indent(); + w.println(callbackName + ".onFailure(" + exceptionName + ");"); + w.outdent(); + w.println("}"); + } w.outdent(); w.println("}"); }