1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
import java.util.Date;
class GetClassTest {
// See AnnotatedTypeFactory.adaptGetClassReturnTypeToReceiver
void context() {
Integer i = 4;
i.getClass();
Class<?> a = i.getClass();
// Type arguments don't match
@SuppressWarnings("fenum:assignment.type.incompatible")
Class<? extends Object> b = i.getClass();
// Type arguments don't match
@SuppressWarnings("fenum:assignment.type.incompatible")
Class<? extends Integer> c = i.getClass();
Class<?> d = i.getClass();
// not legal Java; that is, does not type-check under Java rules
// Class<Integer> e = i.getClass();
}
void m(Date d) {
@SuppressWarnings("fenum:assignment.type.incompatible")
Class<? extends Date> c = d.getClass();
}
}
|