Skip to content

Commit b3aea0f

Browse files
committed
C++: Do not print the qualifier of OverloadedPointerDereferenceExpr twice in PrintAST
1 parent b776cbe commit b3aea0f

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

cpp/ql/lib/semmle/code/cpp/PrintAST.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,11 @@ private predicate namedExprChildPredicates(Expr expr, Element ele, string pred)
835835
or
836836
expr.(OverloadedArrayExpr).getArrayOffset() = ele and pred = "getArrayOffset()"
837837
or
838-
expr.(OverloadedPointerDereferenceExpr).getExpr() = ele and pred = "getExpr()"
838+
// OverloadedPointerDereferenceExpr::getExpr/0 also considers qualifiers, which are already handled above for all Call classes.
839+
not expr.(OverloadedPointerDereferenceExpr).getQualifier() =
840+
expr.(OverloadedPointerDereferenceExpr).getExpr() and
841+
expr.(OverloadedPointerDereferenceExpr).getExpr() = ele and
842+
pred = "getExpr()"
839843
or
840844
expr.(CommaExpr).getLeftOperand() = ele and pred = "getLeftOperand()"
841845
or

0 commit comments

Comments
 (0)