File: FlowConditions.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 (40 lines) | stat: -rw-r--r-- 1,251 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
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.HashMap;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
import org.checkerframework.checker.nullness.qual.*;

class FlowConditions {
    void m(@Nullable Object x, @Nullable Object y) {
        if (x == null || y == null) {
            // :: error: (dereference.of.nullable)
            x.toString();
            // :: error: (dereference.of.nullable)
            y.toString();
        } else {
            x.toString();
            y.toString();
        }
    }

    private final Map<String, Set<String>> graph = new HashMap<>();

    public void addEdge1(String e, String parent, String child) {
        if (!graph.containsKey(parent)) {
            throw new NoSuchElementException();
        }
        if (!graph.containsKey(child)) {
            throw new NoSuchElementException();
        }
        @NonNull Set<String> edges = graph.get(parent);
    }

    // TODO: Re-enable when issue 221 is resolved.
    // public void addEdge2(String e, String parent, String child) {
    //     if ( (!graph.containsKey(parent)) ||
    //          (!graph.containsKey(child)))
    //         throw new NoSuchElementException();
    //     @NonNull Set<String> edges = graph.get(parent);
    // }

}