@@ -3,7 +3,7 @@ import semmle.code.cpp.Type
33/** For upgraded databases without mangled name info. */
44pragma [ noinline]
55private string getTopLevelClassName ( @usertype c ) {
6- not mangled_name ( _, _) and
6+ not mangled_name ( _, _, _ ) and
77 isClass ( c ) and
88 usertypes ( c , result , _) and
99 not namespacembrs ( _, c ) and // not in a namespace
@@ -17,7 +17,7 @@ private string getTopLevelClassName(@usertype c) {
1717 */
1818pragma [ noinline]
1919private predicate existsCompleteWithName ( string name , @usertype d ) {
20- not mangled_name ( _, _) and
20+ not mangled_name ( _, _, _ ) and
2121 is_complete ( d ) and
2222 name = getTopLevelClassName ( d ) and
2323 onlyOneCompleteClassExistsWithName ( name )
@@ -26,7 +26,7 @@ private predicate existsCompleteWithName(string name, @usertype d) {
2626/** For upgraded databases without mangled name info. */
2727pragma [ noinline]
2828private predicate onlyOneCompleteClassExistsWithName ( string name ) {
29- not mangled_name ( _, _) and
29+ not mangled_name ( _, _, _ ) and
3030 strictcount ( @usertype c | is_complete ( c ) and getTopLevelClassName ( c ) = name ) = 1
3131}
3232
@@ -36,7 +36,7 @@ private predicate onlyOneCompleteClassExistsWithName(string name) {
3636 */
3737pragma [ noinline]
3838private predicate existsIncompleteWithName ( string name , @usertype c ) {
39- not mangled_name ( _, _) and
39+ not mangled_name ( _, _, _ ) and
4040 not is_complete ( c ) and
4141 name = getTopLevelClassName ( c )
4242}
@@ -47,7 +47,7 @@ private predicate existsIncompleteWithName(string name, @usertype c) {
4747 * with the same name.
4848 */
4949private predicate oldHasCompleteTwin ( @usertype c , @usertype d ) {
50- not mangled_name ( _, _) and
50+ not mangled_name ( _, _, _ ) and
5151 exists ( string name |
5252 existsIncompleteWithName ( name , c ) and
5353 existsCompleteWithName ( name , d )
@@ -57,7 +57,7 @@ private predicate oldHasCompleteTwin(@usertype c, @usertype d) {
5757pragma [ noinline]
5858private @mangledname getClassMangledName ( @usertype c ) {
5959 isClass ( c ) and
60- mangled_name ( c , result )
60+ mangled_name ( c , result , _ )
6161}
6262
6363/** Holds if `d` is a unique complete class named `name`. */
0 commit comments