Skip to content

Commit f93001a

Browse files
committed
fix parametrized wildcard recognition
1 parent fd50807 commit f93001a

File tree

4 files changed

+4
-2
lines changed

4 files changed

+4
-2
lines changed

src/main/java/ru/vyarus/java/generics/resolver/util/GenericsUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public static List<Class<?>> resolveGenericsOf(final Type type,
7070
res.add((Class) actual);
7171
} else {
7272
// deep generics resolution required
73-
res.add(resolveClass(generics.get(((TypeVariable) actual).getName()), generics));
73+
res.add(resolveClass(actual, generics));
7474
}
7575
}
7676
}

src/test/groovy/ru/vyarus/java/generics/resolver/GenericsInfoFactoryTest.groovy

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package ru.vyarus.java.generics.resolver
22

3-
import ru.vyarus.guice.persist.orient.support.finder.generics.*
43
import ru.vyarus.java.generics.resolver.context.GenericsInfo
54
import ru.vyarus.java.generics.resolver.context.GenericsInfoFactory
65
import ru.vyarus.java.generics.resolver.support.*

src/test/groovy/ru/vyarus/java/generics/resolver/WildcardsTest.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class WildcardsTest extends Specification {
2828
Method get = WCBase.getMethod("get", Object)
2929
Method get2 = WCBase.getMethod("get2", Object)
3030
Method get3 = WCBase.getMethod("get3")
31+
Method get4 = WCBase.getMethod("get4")
3132
then: "correct generics resolved"
3233
context.resolveReturnClass(get) == Model
3334
context.resolveReturnClass(get2) == Object
@@ -37,6 +38,7 @@ class WildcardsTest extends Specification {
3738
context.resolveParameters(get2) == [Model]
3839

3940
context.resolveGenericOf(get3.getGenericReturnType()) == Model
41+
context.resolveGenericOf(get4.getGenericReturnType()) == Model
4042

4143

4244
when: "analyzing complex wildcards"

src/test/groovy/ru/vyarus/java/generics/resolver/support/wildcard/WCBase.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ interface WCBase<T, K> extends WCBaseLvl2<? extends T>{
88
T get(K k);
99
K get2(T k);
1010
List<T> get3();
11+
List<? extends T> get4();
1112
}

0 commit comments

Comments
 (0)