@@ -0,0 +1,1098 @@
+package nullnessAnnotations;%0A%0Aimport javax.annotation.CheckForNull;%0Aimport javax.annotation.Nonnull;%0A%0Apublic class UseAnnotations %7B%0A%09%0A%09@CheckForNull Object f(int x) %7B%0A%09%09if (x == 0) return null;%0A%09%09return (Integer) x;%0A%09%7D%0A%09%0A%09int g(@Nonnull Object x) %7B%0A%09%09return 42;%0A%09%7D%0A%09int foo() %7B%0A%09%09return g(f(12));  // should generate a warning here (but don't)%0A%09%7D%0A%09int foo2() %7B%0A%09%09return g(null);  // should and do generate a warning here%0A%09%7D%0A%09int foo3(int x) %7B%0A%09%09Object y = null;%0A%09%09if (x %3E 0) y = %22%22;%0A%09%09return g(y);  // should generate a warning here (but don't)%0A%09%7D%0A%09int foo4() %7B%0A%09%09return f(12).hashCode();  // should generate a warning here (but don't)%0A%09%7D%0A%0A%09int bar() %7B%0A%09%09return f(12).hashCode();  // should generate a warning here (but don't)%0A%09%7D%0A%09int bar2() %7B%0A%09%09Object x = null;%0A%09%09return x.hashCode();  // should and do generate a warning here%0A%09%7D%0A%09int bar3(int x) %7B%0A%09%09Object y = null;%0A%09%09if (x %3E 0) y = %22%22;%0A%09%09return y.hashCode();  // should generate a warning here (but don't)%0A%09%7D%0A%09int bar4(int x) %7B%0A%09%09Object y = null;%0A%09%09if (x %3E 0) y = %22%22;%0A%09%09return y.hashCode();  // should generate a warning here (but don't)%0A%09%7D%0A%0A%7D%0A

add test cases