File: KeyForStaticField.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 (31 lines) | stat: -rw-r--r-- 913 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
// Test case for Issue 877:
// https://github.com/typetools/checker-framework/issues/877
// @skip-test until the issue is fixed.

import java.util.HashMap;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.*;

class KeyForStaticField {
    @SuppressWarnings("keyfor")
    public static final @KeyFor("this.map") String STATIC_KEY = "some text";

    private Map<String, Integer> map;

    public KeyForStaticField() {
        map = new HashMap<>();
        put(STATIC_KEY, 0);
    }

    /** Returns the value for the given key, which must be present in the map. */
    public Integer getValue(@KeyFor("this.map") String key) {
        assert map.containsKey(key) : "Map does not contain key " + key;
        return map.get(key);
    }

    public void m(KeyForStaticField other) {
        getValue(STATIC_KEY);
        this.getValue(STATIC_KEY);
        other.getValue(STATIC_KEY);
    }
}