Индексирование CScope с помощью C ++ и параметров функций с областью действия - PullRequest
1 голос
/ 01 ноября 2011

Я использую 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.

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

...