Ограничение CQL списка классов для поиска баз с невиртуальными деструкторами?

Можно ли использовать cppdepend (да, C++) для выполнения эквивалента сделать деструкторы виртуальными в базовых классах, как обсуждал Скотт Мейерс в своей очень старое сравнение инструментов анализа C++?

Я могу перечислить методы с запросом

SELECT TOP 100 METHODS WHERE !IsVirtual AND IsDestructor

Что мне нужно, так это вложенный запрос, который позволяет мне ограничивать типы методами или наоборот, что, я думаю, также ответит этот вопрос.

Воображаемый синтаксис может быть таким

SELECT TOP 100 METHODS WHERE !IsVirtual AND IsDestructor AND 
MethodClass IN TYPES WHERE NbChildren > 0

or

SELECT TOP 100 METHODS 
OUT OF TYPES (WHERE NbChildren > 0) 
WHERE !IsVirtual AND IsDestructor

person Andy Dent    schedule 25.02.2011    source источник


Ответы (1)


Это пока невозможно с CQL, который не поддерживает текущие вложенные запросы. Следующая основная версия NDepend (будет выпущена в первой половине 2012 г.) позволит вам написать такой запрос.

person Patrick from NDepend team    schedule 25.02.2011