可以说我有这样的代码:
A* a = [[A alloc] init];
B* _Null_unspecified b = [[B alloc] init];
C* _Nullable c = [[C alloc] init];
D* _Nonnull d = [[D alloc] init];
现在,我想创建一个匹配器来匹配变量声明。
目前我有这样的事情:
StatementMatcher NullUnspecifiedMatcher =
declStmt(hasSingleDecl(varDecl(hasType(objcObjectPointerType()))))`
有,objcObjectPointerType()
但它只匹配a
。有一些指针/引用匹配器,但它们根本不适用于这些变量声明。此外,我尝试过,isAnyPointer()
但它适用于任何指针,无论是否为 obj-c。
我试图type()
确保我所做的一切都是正确的,并且它有效。
那么,我怎样才能只匹配 obj-c 变量声明,有或没有可空性说明符?
谢谢!