Индексирование CScope с помощью C и параметров функции с ограниченной областью действия

#c #cscope

#c #cscope

Вопрос:

Я использую cscope для создания индекса некоторого исходного кода C . В основном это отлично работает, но у него возникают проблемы при анализе имен функций, у которых есть типы параметров с ограниченной областью действия (с использованием ‘::’). Например:

 void SomeClass::doSomethingAwesome( const std::stringamp; input )
{
}
 

Когда я использую интерфейс cscope для «Поиска этого символа C:» Я понимаю это:

   File              Function      Line
0 doSomethingAwesome <global>  1 void SomeClass::doSomethingAwesome( const std::stringamp; input )
 

Важным элементом является глобальный тег. Это должно быть ‘doSomethingAwesome’.

Для другой функции без каких-либо параметров с ограниченной областью действия, например

 void SomeClass::doSomethingElse( int input )
 

Я понимаю это:

   File              Function      Line
0 doSomethingElse doSomethingElse  1 void SomeClass::doSomethingElse( int input )
 

Обратите внимание, что поле функции теперь соответствует имени функции. Теперь я могу успешно искать в cscope другие функции, которые вызывают эту функцию. Я не мог этого сделать с помощью doSomethingAwesome(). Кроме того, любые функции, которые вызываются только из doSomethingAwesome(), не будут отображаться как вызванные какой-либо функцией, поскольку doSomethingAwesome() не была распознана cscope как функция.

Я делаю что-то не так? Или это проблема в анализе функции cscope?