Как заставить clang-tidy применять FixItHints последовательно, один за другим? - PullRequest
1 голос
/ 03 апреля 2019

Я пишу clang-tidy check, который переместит комментарий в нужное место следующим образом:

До:

/// comment 1
void func();
void func2(); /// comment 2
void func3(); /// comment 3

После того, как:

/// comment 1
void func();
/// comment 2
void func2();
/// comment 3
void func3();

Я пытаюсь удалить /// comment 3, а затем вставить его до void func3();.

Но сначала clang-tidy-check должен прочитать комментарий до void func3();. Проверка показывает /// comment 2, поскольку /// comment 2 не успевает удалить.

Как сделать так, чтобы tidy-check применял исправления в порядке поиска методов?

1 Ответ

0 голосов
/ 10 апреля 2019

Один простой (или глупый?) Трюк приходит на ум - заставьте свою аккуратную проверку применять только одно исправление за раз (т.е. завершите обработку кода после того, как будет сопоставлено одно исправляемое место). Затем напишите простой скрипт на python, который будет запускать clang-tidy снова и снова с включенной проверкой, пока не будет что-то обрабатывать. Вы можете вдохновиться run-clang-tidy.py , но ваш, конечно, будет намного проще.

...