ymandel added inline comments.

================
Comment at: 
clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp:789
-      // of these accessors.
-      .CaseOfCFGStmt<CallExpr>(valueOperatorCall(std::nullopt),
                                [](const CallExpr *E,
----------------
mboehme wrote:
> ymandel wrote:
> > this function will be left with only one caller. Maybe inline it? For that 
> > matter, should the other caller be changed in some parallel way?
> > this function will be left with only one caller. Maybe inline it?
> 
> The general style in this file seems to be to pull matcher expressions out 
> into helper functions, even if they're only used in one place. FWIW, I'm 
> personally not convinced this is helpful because you _want_ to be able to see 
> exactly what a `CaseOfCFGStmt` is matching on, so inlining makes sense IMO. 
> But I'm not sure I want to be inconsistent with the general style of this 
> file -- it would make more sense to do a general cleanup. WDYT?
> 
> > For that matter, should the other caller be changed in some parallel way?
> 
> No, that caller (`buildDiagnoseMatchSwitch()`) does not have the same problem 
> because it looks only at the `optional`, not at the value that is contained 
> in it (see also [D150756](https://reviews.llvm.org/D150756), which makes this 
> explicit), and the distinction between `operator*` and `operator->` (for our 
> purposes) is only in the way they return the contained value.
regarding the matcher -- it's a judgment call; I agree that having to jump back 
and forth to read this case "statement" is problematic, but some of the 
matchers are kind of complicated, so a name can be a service to the reader. 
This one looked sufficiently simple to consider just inlining it, but I'm also 
fine leaving as is.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150775

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

Reply via email to