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("}");
}