ymandel added a comment.

LGTM, but leaving for one of the other reviewers to give you the official 
"Accept Revision".



================
Comment at: 
clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp:72
+           binaryOperator(hasOperatorName("=="),
+                          hasEitherOperand(ignoringParenImpCasts(StringNpos)),
+                          hasEitherOperand(ignoringParenImpCasts(StringFind))),
----------------
tdl-g wrote:
> njames93 wrote:
> > ymandel wrote:
> > > Would `hasOperands` replace these two separate calls to 
> > > `hasEitherOperand`? Same below lines 79-80 (I think it's a new matcher, 
> > > fwiw).
> > Just added, I added it to remove calls of multiple hasEitherOperand calls 
> > for the reason of preventing the matchers matching the same operand. I just 
> > got a little lost in my previous comment
> Switched to hasOperands.  I agree that expresses the intent better than two 
> independent calls of hasEitherOperand.
> 
> Note that it was working fine before--the test cases confirmed that it wasn't 
> matching string::npos == string::npos or s.find(a) == s.find(a).  I'm 
> guessing that's because the matchers inside hasEitherOperand have bindings, 
> and if the matcher matched but one of the bindings was missing, the 
> rewriterule suppressed itself?  Is this a plausible theory?
> 
> (The question moot since hasOperands is better overall, but I'd like to 
> understand why it was working before.)
I was wondering the same when I noticed this. I think its something like this: 
one of the arguments falls into bucket 1, one of the arguments falls into 
bucket 2.  Since a single argument cannot simultaneously fall into two buckets 
(the predicates are mutually exlusive), it must be the case that the arguments 
are different.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80023



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

Reply via email to