File: GetClassTest.java

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 22,840 kB
  • sloc: java: 145,910; xml: 839; sh: 518; makefile: 401; perl: 26
file content (27 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (3)
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();
    }
}