File: AssertNullable.java

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,104 kB
  • sloc: java: 145,916; xml: 839; sh: 518; makefile: 404; perl: 26
file content (23 lines) | stat: -rw-r--r-- 775 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
public class AssertNullable {
    public static void main(String[] args) {
        if (args.length >= 1) {
            Boolean b = null;
            // This will result in an NPE, not an AssertionError:
            // Exception in thread "main" java.lang.NullPointerException
            // Therefore, the Nullness Checker warns about this.
            // :: error: (condition.nullable)
            assert b;
        } else {
            String s = null;
            // This is OK, the message will look like:
            // Exception in thread "main" java.lang.AssertionError: null
            assert 4 < 3 : s;
        }
    }

    void foo() {
        String s = 3 > 2 ? null : "ba";
        // :: error: (dereference.of.nullable)
        assert s.hashCode() > 4;
    }
}