Вопросы по теме 'clang-ast-matchers'
Clang AST Matchers: как найти вызовы идеально пересылаемой функции, вызываемой с помощью rvalue?
Учитывая шаблон функции, такой как:
template <typename T> void function(T &&t) { /*...*/ }
как мне найти вызовы функции, которые передают значения rvalue:
function(1); // MATCH
int i;
function(i); // SKIP
int foo();...
1485 просмотров
schedule
10.05.2023
Как найти узлы BlockDecl в Clang AST с помощью AST Matcher?
Мне нужно найти ссылки на себя в блоках (задача C). И я использую для этого Clang AST Matchers.
Сопоставитель для поиска всех ссылок на себя, которые я создал, приведен ниже:
declRefExpr(to(varDecl(hasName("self")))
Теперь мне нужно...
266 просмотров
schedule
29.04.2023
В плагине clang, как вы видите, была ли ошибка при компиляции модуля перевода?
Я хочу, чтобы мой плагин clang на самом деле ничего не делал, если произошла ошибка компиляции кода для AST, на котором будет работать мой плагин.
Однако я не могу понять, какой объект содержит список ошибок, сгенерированных во время компиляции....
67 просмотров
schedule
30.01.2023
Clang AST Matcher: нет CXXMethodDecl для `operator()`?
У меня есть следующее определение struct в файле:
template <class... EventArgs>
struct banana {
template <class... Args>
void operator()(Args&&... args) const {
_f(std::forward<Args>(args)...);
}...
174 просмотров
schedule
26.07.2022
Clang AST Matchers: как сопоставить захваченные лямбда-переменные?
Как я могу сопоставить переменные в лямбда-выражении, которые определены вне лямбда-выражения и захвачены по ссылке?
Проблема, которую я пытаюсь решить: у меня есть система транзакций базы данных, код которой выглядит примерно так:...
280 просмотров
schedule
01.08.2023
Включить только синтаксический анализ в clang
Я пытаюсь реализовать инструмент clang, который выполняет синтаксический анализ с использованием ASTMatcher API. Я пытаюсь выяснить, как указать дополнительные флаги для clang, чтобы отключить семантические проверки. Я знаю, что clang создает...
119 просмотров
schedule
14.04.2024
Clang AST Matchers: возможен ли фильтр на основе количества?
Я пытался написать простую программу проверки clang-tidy, которая будет проверять наличие конструктора, вызывающего fopen() более одного раза. Для этого я пытался сопоставить конструктор с более чем одним вызовом fopen() . Мое намерение состоит в...
137 просмотров
schedule
25.06.2022
Сопоставление переменных аргументов шаблона с помощью AST Matcher
У меня есть следующий пример кода.
template<class T, class... Args>
T add(T first, Args... rest) {
return first + add(rest...);
}
int add(int a, int b) {
return a + b;
}
Когда я запускаю его через clang-check -ast-dump , я...
59 просмотров
schedule
28.11.2022