Соответствует типу указателя объекта Objective-C со спецификатором обнуляемости в LibTooling Clang
Допустим, у меня есть такой код:
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 с или без спецификатора обнуляемости?
Спасибо!