37
37
import java .util .HashMap ;
38
38
import java .util .List ;
39
39
import java .util .Map ;
40
+ import java .util .Set ;
40
41
import java .util .SortedSet ;
41
42
import java .util .TreeSet ;
42
43
import java .util .concurrent .Callable ;
@@ -1084,7 +1085,6 @@ public void isAssignableFromForArrays() throws Exception {
1084
1085
1085
1086
@ Test
1086
1087
public void isAssignableFromForWildcards () throws Exception {
1087
-
1088
1088
ResolvableType object = ResolvableType .forClass (Object .class );
1089
1089
ResolvableType charSequence = ResolvableType .forClass (CharSequence .class );
1090
1090
ResolvableType string = ResolvableType .forClass (String .class );
@@ -1287,6 +1287,15 @@ public void testSpr12701() throws Exception {
1287
1287
assertThat (((ParameterizedType ) type ).getActualTypeArguments ()[0 ], is (equalTo (String .class )));
1288
1288
}
1289
1289
1290
+ @ Test
1291
+ public void testSpr14648 () throws Exception {
1292
+ ResolvableType collectionClass = ResolvableType .forRawClass (Collection .class );
1293
+ ResolvableType setClass = ResolvableType .forRawClass (Set .class );
1294
+ ResolvableType fromReturnType = ResolvableType .forMethodReturnType (Methods .class .getMethod ("wildcardSet" ));
1295
+ assertTrue (collectionClass .isAssignableFrom (fromReturnType ));
1296
+ assertTrue (setClass .isAssignableFrom (fromReturnType ));
1297
+ }
1298
+
1290
1299
1291
1300
private ResolvableType testSerialization (ResolvableType type ) throws Exception {
1292
1301
ByteArrayOutputStream bos = new ByteArrayOutputStream ();
@@ -1385,7 +1394,7 @@ static class TypedFields extends Fields<String> {
1385
1394
}
1386
1395
1387
1396
1388
- static interface Methods <T > {
1397
+ interface Methods <T > {
1389
1398
1390
1399
List <CharSequence > charSequenceReturn ();
1391
1400
@@ -1398,6 +1407,8 @@ static interface Methods<T> {
1398
1407
void typedParameter (T p );
1399
1408
1400
1409
T typedReturn ();
1410
+
1411
+ Set <?> wildcardSet ();
1401
1412
}
1402
1413
1403
1414
@@ -1453,7 +1464,7 @@ static class Assignment extends AssignmentBase<Object, CharSequence, String> {
1453
1464
}
1454
1465
1455
1466
1456
- static interface TypedMethods extends Methods <String > {
1467
+ interface TypedMethods extends Methods <String > {
1457
1468
}
1458
1469
1459
1470
@@ -1526,19 +1537,19 @@ public class MyCollectionSuperclassType extends MySuperclassType<Collection<Stri
1526
1537
}
1527
1538
1528
1539
1529
- static interface Wildcard <T extends Number > extends List <T > {
1540
+ interface Wildcard <T extends Number > extends List <T > {
1530
1541
}
1531
1542
1532
1543
1533
- static interface RawExtendsWildcard extends Wildcard {
1544
+ interface RawExtendsWildcard extends Wildcard {
1534
1545
}
1535
1546
1536
1547
1537
- static interface VariableNameSwitch <V , K > extends MultiValueMap <K , V > {
1548
+ interface VariableNameSwitch <V , K > extends MultiValueMap <K , V > {
1538
1549
}
1539
1550
1540
1551
1541
- static interface ListOfGenericArray extends List <List <String >[]> {
1552
+ interface ListOfGenericArray extends List <List <String >[]> {
1542
1553
}
1543
1554
1544
1555
0 commit comments