Find classes with non-virtual destructor
// ClassType [ MemberDecls[*]::MemberDecl / Declarators[*]::AnyDeclarator [ isDestructor() ] [ not isVirtual() ] ]
// ClassType [ MemberDecls[*]::MemberFunc [ isDestructor() ] [ not isVirtual() ] ]
1 //Find classes with non-virtual destructor 2 // this class matches 3 class A { 4 public: 5 ~A(); 6 }; 7 // this one matches too 8 class B { 9 public: 10 ~B() {} 11 }; 12 // this class doesn't match - its destructor is virtual 13 class C { 14 public: 15 virtual ~C() {} 16 };