Implement transfer function for checking that member accesses on pointers via the arrow (->) operator are null-safe.
We use a single matcher to handle both cases:\
Case 1: checking -> access on pointers\
Case 2: initialisation of null state for pointers which are members
We don't use distinct matchers as the `MatchSwitch` utility will only invoke one matcher case at a time, so the situation where both cases need to be invoked (see example below) will not be handled correctly.
```
struct Foo {
Foo* MemberPtr;
};
Foo* BasePtr;
BasePtr->MemberPtr; // Matches case 1 and 2
```
PiperOrigin-RevId: 454133816
diff --git a/nullability_verification/pointer_nullability_matchers.h b/nullability_verification/pointer_nullability_matchers.h
index b6e480c..b4f4a78 100644
--- a/nullability_verification/pointer_nullability_matchers.h
+++ b/nullability_verification/pointer_nullability_matchers.h
@@ -12,7 +12,7 @@
namespace nullability {
ast_matchers::internal::Matcher<Stmt> isPointerVariableReference();
-ast_matchers::internal::Matcher<Stmt> isPointerMemberExpr();
+ast_matchers::internal::Matcher<Stmt> isMemberExprInvolvingPointers();
ast_matchers::internal::Matcher<Stmt> isNullPointerLiteral();
ast_matchers::internal::Matcher<Stmt> isAddrOf();
ast_matchers::internal::Matcher<Stmt> isPointerDereference();