From f4e226b9e2d511e1132f4fbe085b8e6c1402c2dd Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Thu, 1 Mar 2012 18:33:06 +0200 Subject: [PATCH] #8444 Generate serializers for classes used as parameters in ClientRPC methods --- .../gwt/widgetsetutils/SerializerMapGenerator.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java index a766d75da7..4d93675af6 100644 --- a/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java +++ b/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java @@ -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 -- 2.39.5