clang - определение символа (переменная, функция, тип и т. д.) или объявление или ссылка - PullRequest
2 голосов
/ 25 октября 2011

Пожалуйста, кто-нибудь знает, есть ли у clang возможность вернуть определение или объявление символа (или ссылку)?

Я имею в виду: есть опция для исполняемого файла clang, называемая -code-extension-at = path_to_file: line: coloumnclang изучит код и вернет вам строки завершения (т. е. если есть, например, std :: string_type_variable. ..it возвращает вам все методы и атрибуты, которые вы можете вызвать из std :: string.

Теперья хочу, чтобы clang возвращал файл и координаты, где начинается определение символов .. поэтому, если это std :: string_type_variable - я хочу вернуть мне координаты, где у меня есть переменная writete std :: string;код.

Я хочу использовать его в vim вместо устаревшей функциональности cscope / ctags (система тегов, использующая ctags / cscope в vim, не знает контекста - ее вообще нельзя использовать в больших проектах) Я знаю, что есть clangпрослеживание (http://blog.wuwon.id.au/2011/10/vim-plugin-for-navigating-c-with.html), но оно не работает правильно (на самом деле у меня вообще не работает)

Возможно ли это?Не сложно, если он может вернуть завершение, он, вероятно, уже знает, откуда он прочитал определение переменной ...

1 Ответ

2 голосов
/ 25 октября 2011

Clang предоставляет такую ​​функциональность совместно используемой библиотекой libclang, но есть простой пример ее использования. Если вы создали Clang из исходного кода, взгляните на исполняемый файл c-index-test. Его источник находится в tools / c-index-test.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...