]> source.dussan.org Git - vaadin-framework.git/commitdiff
#8444 Generate serializers for classes used as parameters in ClientRPC
authorArtur Signell <artur@vaadin.com>
Thu, 1 Mar 2012 16:33:06 +0000 (18:33 +0200)
committerArtur Signell <artur@vaadin.com>
Thu, 1 Mar 2012 16:33:06 +0000 (18:33 +0200)
methods

src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java

index a766d75da741cae8f9e9caf78c9e05319f2a24ef..4d93675af6fe98f167bf18704b7b85634e5a402d 100644 (file)
@@ -21,6 +21,7 @@ import com.google.gwt.core.ext.typeinfo.JType;
 import com.google.gwt.core.ext.typeinfo.TypeOracle;
 import com.google.gwt.user.rebind.ClassSourceFileComposerFactory;
 import com.google.gwt.user.rebind.SourceWriter;
+import com.vaadin.terminal.gwt.client.communication.ClientRpc;
 import com.vaadin.terminal.gwt.client.communication.SerializerMap;
 import com.vaadin.terminal.gwt.client.communication.ServerRpc;
 import com.vaadin.terminal.gwt.client.communication.SharedState;
@@ -146,11 +147,12 @@ public class SerializerMapGenerator extends Generator {
         }
 
         // Serializer classes might also be needed for RPC methods
-        JClassType serverRpcType = typeOracle.findType(ServerRpc.class
-                .getName());
-        JClassType[] serverRpcSubtypes = serverRpcType.getSubtypes();
-        for (JClassType type : serverRpcSubtypes) {
-            addMethodParameterTypes(type, types);
+        for (Class<?> cls : new Class[] { ServerRpc.class, ClientRpc.class }) {
+            JClassType rpcType = typeOracle.findType(cls.getName());
+            JClassType[] serverRpcSubtypes = rpcType.getSubtypes();
+            for (JClassType type : serverRpcSubtypes) {
+                addMethodParameterTypes(type, types);
+            }
         }
 
         // Add all types used from/in the types