Индексирование CScope с помощью параметров C++ и функций области действия
Я использую cscope для создания индекса некоторого исходного кода C++. В основном это прекрасно работает, но у него есть проблемы при разборе имен функций с типами параметров, которые ограничены (используя '::'). Например:
void SomeClass::doSomethingAwesome( const std::string& input )
{
}
Когда я использую интерфейс cscope для "Найти этот символ C:", я получаю это:
File Function Line
0 doSomethingAwesome <global> 1 void SomeClass::doSomethingAwesome( const std::string& input )
Важным битом является глобальный тег. Это должно быть "doSomethingAwesome".
Для другой функции без каких-либо параметров, например
void SomeClass::doSomethingElse( int input )
Я получаю это:
File Function Line
0 doSomethingElse doSomethingElse 1 void SomeClass::doSomethingElse( int input )
Обратите внимание, что поле Function теперь соответствует имени функции. Теперь я могу успешно искать в cscope другие функции, которые вызывают эту функцию. Я не мог сделать это с doSomethingAwesome(). Кроме того, любые функции, которые вызываются только из doSomethingAwesome (), не будут отображаться как вызванные какой-либо функцией, поскольку doSomethingAwesome () не была распознана как функция cscope.
Я делаю что-то неправильно? Или это проблема в разборе функции cscope?