blob: 53386e728d47ddbe76b88e42b554ac24aba10b18 [file] [log] [blame]
import java.util.LinkedList;
import java.util.List;
import org.checkerframework.checker.nullness.qual.*;
/**
* This class illustrates use of nullness type annotations. The class doesn't do anything -- it is
* merely meant to be compiled. Compilation will produce no warning messages.
*
* <p>There are two related files that differ only slightly: {@link NullnessExample}, an example of
* correct use, and {@link NullnessExampleWithWarnings}, an example of incorrect use. See the
* Nullness Checker documentation for larger examples of annotated code.
*/
public class NullnessExample {
public void example() {
// In general, you do not have to annotate local variables, because the
// Nullness Checker infers such annotations. It is written here in the
// example for emhpasis.
@NonNull String foo = "foo";
@NonNull String bar = "bar";
foo = bar;
bar = foo;
}
public @NonNull String exampleGenerics() {
List<@NonNull String> foo = new LinkedList<@NonNull String>();
List<@NonNull String> bar = foo;
@NonNull String quux = "quux";
foo.add(quux);
foo.add("quux");
@NonNull String baz = foo.get(0);
return baz;
}
}