JonasToth added a comment.
@aaron.ballman I update the code a bit. This stuff is just a hydra :/
But i think incrementally the current version is better, but still not perfect.
I update the clang-tidy part, too.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews
JonasToth updated this revision to Diff 296546.
JonasToth added a comment.
Herald added a subscriber: steakhal.
- document sections in the testcases, hopefully little more structure for
comprehension
- fix derived-to-base-cast OUTSIDE of an conditional operator
- improve type-dependent callexpr,
JonasToth updated this revision to Diff 294301.
JonasToth added a comment.
- fix typo that provided wrong argument to AST building
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88088/new/
https://reviews.llvm.org/D88088
Files:
clang/lib/Analysis
JonasToth updated this revision to Diff 294300.
JonasToth added a comment.
- address review comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88088/new/
https://reviews.llvm.org/D88088
Files:
clang/lib/Analysis/ExprMutationAnalyzer.cpp
cl
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM aside from a nit.
Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:455
+ const auto HasAnyNonConstIterator =
+ anyOf(allOf(hasMethod(allOf(has
JonasToth updated this revision to Diff 294050.
JonasToth marked 9 inline comments as done.
JonasToth added a comment.
- adress review comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88088/new/
https://reviews.llvm.org/D88088
Files:
clang
JonasToth added inline comments.
Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:455
+ const auto HasAnyNonConstIterator =
+ anyOf(allOf(hasMethod(allOf(hasName("begin"), unless(isConst(,
+ unless(hasMethod(allOf(hasName("begin"), isConst(),
JonasToth updated this revision to Diff 293967.
JonasToth added a comment.
- improve the expression matcher, to catch the expression in general
ternary-operator cases, too
- considered unresolved operator calls to be a modification
- fix method calls with templates in some instances
Repository:
aaron.ballman added inline comments.
Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:44
+ InnerMatcher) {
+ // Unless the value is a derived class and is assigned to a
+ // reference to the base class. Other implicit casts should not
Unless