Collect null-safety constraints based on pointer usage and resolve them into implications of required nullability annotations.

The only implemented constraint is that dereferencing a pointer expression requires that the expression be nonnull as proved by PointerNullabilityAnalysis. In the absence of null checks, this generally implies a required NonNull annotation in simple cases.

Also remove old unused pointer model.

PiperOrigin-RevId: 543495685
diff --git a/nullability/BUILD b/nullability/BUILD
index 3c2eb9f..8fc6c50 100644
--- a/nullability/BUILD
+++ b/nullability/BUILD
@@ -5,7 +5,10 @@
 cc_library(
     name = "pointer_nullability_lattice",
     hdrs = ["pointer_nullability_lattice.h"],
-    visibility = ["//nullability/test:__pkg__"],
+    visibility = [
+        "//nullability/inference:__pkg__",
+        "//nullability/test:__pkg__",
+    ],
     deps = [
         ":type_nullability",
         "@absl//absl/container:flat_hash_map",
@@ -19,6 +22,9 @@
     name = "pointer_nullability_matchers",
     srcs = ["pointer_nullability_matchers.cc"],
     hdrs = ["pointer_nullability_matchers.h"],
+    visibility = [
+        "//nullability/inference:__pkg__",
+    ],
     deps = [
         "@llvm-project//clang:ast",
         "@llvm-project//clang:ast_matchers",
@@ -29,7 +35,10 @@
     name = "pointer_nullability_analysis",
     srcs = ["pointer_nullability_analysis.cc"],
     hdrs = ["pointer_nullability_analysis.h"],
-    visibility = ["//nullability/test:__pkg__"],
+    visibility = [
+        "//nullability/inference:__pkg__",
+        "//nullability/test:__pkg__",
+    ],
     deps = [
         ":pointer_nullability",
         ":pointer_nullability_lattice",
@@ -82,7 +91,10 @@
     name = "pointer_nullability",
     srcs = ["pointer_nullability.cc"],
     hdrs = ["pointer_nullability.h"],
-    visibility = ["//nullability/test:__pkg__"],
+    visibility = [
+        "//nullability/inference:__pkg__",
+        "//nullability/test:__pkg__",
+    ],
     deps = [
         "@llvm-project//clang:analysis",
         "@llvm-project//clang:ast",
@@ -109,7 +121,10 @@
     name = "type_nullability",
     srcs = ["type_nullability.cc"],
     hdrs = ["type_nullability.h"],
-    visibility = ["//nullability/test:__pkg__"],
+    visibility = [
+        "//nullability/inference:__pkg__",
+        "//nullability/test:__pkg__",
+    ],
     deps = [
         "@absl//absl/log:check",
         "@llvm-project//clang:ast",