Поиск типов, реализующих определенные методы с использованием CQL

Я уточняю встроенный запрос мертвого кода в NDEpend и нахожу много ложных срабатываний из автономных программ (т.е. с точками входа w/Main()).

Я заметил, что встроенный запрос неиспользуемых типов имеет это предложение:

 !NameIs "Program" AND // Generally, types named Program 
                       // contain a Main() entry-point 
                       // method and this condition avoid 
                       // to consider such type as 
                       // unused code.

Нельзя ли написать что-то вроде

HasMethodNamed "Main"

вместо? Это то, что я действительно хотел бы выбрать для.


person Yostage    schedule 15.09.2010    source источник


Ответы (1)


Да, вы можете дополнить свое правило CQL файлом HasMethodNamed "Main".

Для этого:

  1. Преобразуйте правило CQL в правило CQLinq
  2. добавьте предложение CQLinq where && t.Methods.Where(m => m.SimpleName == "Main").Any()
person Patrick from NDepend team    schedule 16.09.2010