在Clang的LibTooling中将Objective-C对象指针类型与nullability specificator匹配

时间:2016-09-14 22:14:08

标签: objective-c clang libtooling objective-c-nullability

假设我有这样的代码:

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变量声明,有或没有nullability说明符?

谢谢!

0 个答案:

没有答案