aboutsummaryrefslogtreecommitdiffstats
path: root/client-compiler
diff options
context:
space:
mode:
Diffstat (limited to 'client-compiler')
-rw-r--r--client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ClientRpcVisitor.java12
-rw-r--r--client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java1
2 files changed, 13 insertions, 0 deletions
diff --git a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ClientRpcVisitor.java b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ClientRpcVisitor.java
index f382562341..856f67657f 100644
--- a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ClientRpcVisitor.java
+++ b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ClientRpcVisitor.java
@@ -29,6 +29,7 @@ public class ClientRpcVisitor extends TypeVisitor {
@Override
public void visitClientRpc(TreeLogger logger, JClassType type,
ConnectorBundle bundle) throws UnableToCompleteException {
+ checkGenericType(logger, type);
Set<? extends JClassType> hierarchy = type
.getFlattenedSupertypeHierarchy();
for (JClassType subType : hierarchy) {
@@ -47,6 +48,17 @@ public class ClientRpcVisitor extends TypeVisitor {
}
}
+ public static void checkGenericType(TreeLogger logger, JClassType type)
+ throws UnableToCompleteException {
+ if (type.isGenericType() != null) {
+ logger.log(Type.ERROR,
+ "Type " + type.getParameterizedQualifiedSourceName()
+ + "is parameterizied generic. RPC proxy "
+ + "for parameterizied types is not supported.");
+ throw new UnableToCompleteException();
+ }
+ }
+
public static void checkReturnType(TreeLogger logger, JMethod method)
throws UnableToCompleteException {
if (!method.getReturnType().getQualifiedSourceName().equals("void")) {
diff --git a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java
index 3f6ccf006f..6ad0d2fd98 100644
--- a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java
+++ b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java
@@ -28,6 +28,7 @@ public class ServerRpcVisitor extends TypeVisitor {
@Override
public void visitServerRpc(TreeLogger logger, JClassType type,
ConnectorBundle bundle) throws UnableToCompleteException {
+ ClientRpcVisitor.checkGenericType(logger, type);
bundle.setNeedsProxySupport(type);
Set<? extends JClassType> superTypes = type