Я хотел бы иметь возможность настроить проверку в clang tidy таким образом, чтобы с учетом некоторой переменной (my_var) я мог проверить, соответствует ли она определенному typedef (например, uint16_t) или базовому типу typedef (если целое или плавать).
Рационально немного глупо, наша команда требует, чтобы код был проверен с использованием системной венгерской нотации (например, uint32_t lMyVar = 0;) Я не думаю, что стоит потратить время на поддержание нотации, но я проиграл эту битву, поэтому Теперь я хочу автоматизировать это обслуживание. Я также считаю, что это хороший способ начать работать с clang и clang-tidy.
Я начал с написания простого средства сравнения для получения VarDecls:
Finder->addMatcher(varDecl().bind("var"),this);
Оттуда я действительно не знаю, что делать с Matched Decl. Запуск MatchedDecl->dump()
, но такие вещи, как MatchedDecl->getType()
, не кажутся такими полезными, как я надеюсь. Какие-нибудь предложения от людей, более опытных с Clang AST?