@@ -535,8 +535,8 @@ public void testGetGenericInterfaces_noInterface() {
535
535
536
536
public void testGetGenericInterfaces_withInterfaces () {
537
537
Map <Class <?>, Type > interfaceMap = Maps .newHashMap ();
538
- for (TypeToken <?> interfaceType :
539
- new TypeToken <Implementation <Integer , String >>() {}.getGenericInterfaces ()) {
538
+ for (TypeToken <?> interfaceType
539
+ : new TypeToken <Implementation <Integer , String >>() {}.getGenericInterfaces ()) {
540
540
interfaceMap .put (interfaceType .getRawType (), interfaceType .getType ());
541
541
}
542
542
assertEquals (ImmutableMap .of (
@@ -593,6 +593,17 @@ public <T, T1 extends T> void testAssignableGenericArrayToGenericArray() {
593
593
assertFalse (new TypeToken <T []>() {}.isAssignableFrom (new TypeToken <T [][]>() {}));
594
594
}
595
595
596
+ public <T , T1 extends T > void testAssignableGenericArrayToClass () {
597
+ assertTrue (TypeToken .of (Object [].class .getSuperclass ())
598
+ .isAssignableFrom (new TypeToken <T []>() {}));
599
+ for (Class <?> interfaceType : Object [].class .getInterfaces ()) {
600
+ assertTrue (TypeToken .of (interfaceType )
601
+ .isAssignableFrom (new TypeToken <T []>() {}));
602
+ }
603
+ assertTrue (TypeToken .of (Object .class ).isAssignableFrom (new TypeToken <T []>() {}));
604
+ assertFalse (TypeToken .of (String .class ).isAssignableFrom (new TypeToken <T []>() {}));
605
+ }
606
+
596
607
public void testAssignableWildcardBoundedByArrayToArrayClass () {
597
608
Type wildcardType = Types .subtypeOf (Object [].class );
598
609
assertTrue (TypeToken .of (Object [].class ).isAssignableFrom (wildcardType ));
@@ -1471,20 +1482,22 @@ private abstract static class RawTypeConsistencyTester<T extends Enum<T> & CharS
1471
1482
1472
1483
static void verifyConsitentRawType () {
1473
1484
for (Method method : RawTypeConsistencyTester .class .getDeclaredMethods ()) {
1474
- assertEquals (method .getReturnType (), TypeToken .getRawType (method .getGenericReturnType ()));
1485
+ assertEquals (method .getReturnType (),
1486
+ TypeToken .of (method .getGenericReturnType ()).getRawType ());
1475
1487
for (int i = 0 ; i < method .getParameterTypes ().length ; i ++) {
1476
1488
assertEquals (method .getParameterTypes ()[i ],
1477
- TypeToken .getRawType (method .getGenericParameterTypes ()[i ]));
1489
+ TypeToken .of (method .getGenericParameterTypes ()[i ]). getRawType ( ));
1478
1490
}
1479
1491
}
1480
1492
}
1481
1493
}
1482
1494
1483
1495
public void testRawTypes () {
1484
1496
RawTypeConsistencyTester .verifyConsitentRawType ();
1485
- assertEquals (Object .class , TypeToken .getRawType (Types .subtypeOf (Object .class )));
1486
- assertEquals (CharSequence .class , TypeToken .getRawType (Types .subtypeOf (CharSequence .class )));
1487
- assertEquals (Object .class , TypeToken .getRawType (Types .supertypeOf (CharSequence .class )));
1497
+ assertEquals (Object .class , TypeToken .of (Types .subtypeOf (Object .class )).getRawType ());
1498
+ assertEquals (CharSequence .class ,
1499
+ TypeToken .of (Types .subtypeOf (CharSequence .class )).getRawType ());
1500
+ assertEquals (Object .class , TypeToken .of (Types .supertypeOf (CharSequence .class )).getRawType ());
1488
1501
}
1489
1502
1490
1503
private abstract static class IKnowMyType <T > {
0 commit comments