diff --git a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java index 5580c3b09..b01075a53 100644 --- a/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java +++ b/kotlin-querybean-generator/src/main/java/io/ebean/querybean/generator/ProcessingContext.java @@ -321,19 +321,13 @@ class ProcessingContext implements Constants { List typeArguments = declaredType.getTypeArguments(); if (typeArguments.size() == 1) { TypeMirror argType = typeArguments.get(0); - if (argType.getKind() == TypeKind.WILDCARD) { - argType = ((WildcardType) argType).getExtendsBound(); - } - Element argElement = typeUtils.asElement(argType); + Element argElement = asElement(argType); if (isEntityOrEmbedded(argElement)) { return createPropertyTypeAssoc(typeDef(argElement.asType())); } } else if (typeArguments.size() == 2) { TypeMirror argType = typeArguments.get(1); - if (argType.getKind() == TypeKind.WILDCARD) { - argType = ((WildcardType) argType).getExtendsBound(); - } - Element argElement = typeUtils.asElement(argType); + Element argElement = asElement(argType); if (isEntityOrEmbedded(argElement)) { return createPropertyTypeAssoc(typeDef(argElement.asType())); } @@ -347,6 +341,13 @@ class ProcessingContext implements Constants { } } + private Element asElement(TypeMirror argType) { + if (argType.getKind() == TypeKind.WILDCARD) { + argType = ((WildcardType) argType).getExtendsBound(); + } + return typeUtils.asElement(argType); + } + private boolean typeInstanceOf(final TypeMirror typeMirror, final CharSequence desiredInterface) { TypeElement typeElement = (TypeElement) typeUtils.asElement(typeMirror); if (typeElement == null || typeElement.getQualifiedName().contentEquals("java.lang.Object")) {