sammccall added a comment.

Having done some out-of-tree testing, it seems this silently breaks enough 
ASTMatchers that it'll be hard to get it to stick.

(We don't strictly need to block on out-of-tree failures, but I'm pretty sure a 
lot of stuff in-tree is broken too, and the out-of-tree users just have better 
test coverage).

It would be great if things like 
`expr(hasType(hasDeclaration(cxxRecordDecl(...))))`, 
`loc(qualType(hasDeclaration(cxxRecordDecl(...))))` still matched the cases 
they used to. Even with this change at front of mind, it's really surprising 
and inconvenient to have to explicitly unwrap this level of sugar.
ElaboratedType gets implicitly unwrapped by hasDeclaration, I suspect UsingType 
is more usefully treated like this than like TypedefType.
Then some other special-purpose matcher would be used to traverse the 
UsingType->UsingShadowDecl edge instead of hasDeclaration.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114251/new/

https://reviews.llvm.org/D114251

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to