Author: [email protected]
Date: Mon Mar  9 17:53:42 2009
New Revision: 4963

Modified:
    releases/1.6/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java

Log:
Move invocation into try block to avoid fall-through on  
SerializationException still triggering an invoke.

Review by: mmendez (TBR)

Modified:  
releases/1.6/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java
==============================================================================
--- releases/1.6/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java      
 
(original)
+++ releases/1.6/user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java      
 
Mon Mar  9 17:53:42 2009
@@ -380,21 +380,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();");
@@ -420,10 +405,23 @@
            + 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()
          + "\", getRequestId(), " + 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("}");
    }

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to