ymandel added inline comments.

================
Comment at: 
clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp:38
+
+  auto HasOptionalCallDescendant = hasDescendant(callExpr(callee(cxxMethodDecl(
+      ofClass(anyOf(hasName("std::optional"), hasName("absl::optional"),
----------------
xazax.hun wrote:
> I am a bit afraid that we have two places to update the list of supported 
> optional types and they can get out of sync. I wonder whether creating a 
> function in `clang/Analysis/FlowSensitive/Models/UncheckedOptionalUseModel.h` 
> to return a matcher that matches the supported optional types is a better 
> approach.
Yes, it is a better approach. :) Done.


================
Comment at: 
clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp:49
+      this);
+  Finder->addMatcher(
+      cxxConstructorDecl(hasAnyConstructorInitializer(
----------------
xazax.hun wrote:
> If we have a `CXXConstructorDecl` where both the initializer and the body has 
> calls to optional types, i.e. both matchers would match, would we process the 
> body of that twice? 
Yes, we would. Good catch. Fixed.


================
Comment at: 
clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp:92
+  for (const SourceLocation &Loc : ExitBlockLattice.getSourceLocations()) {
+    diag(Loc, "unchecked access to optional value");
+  }
----------------
xazax.hun wrote:
> Is there a way in the future to include either the name of the optional or a 
> source range of the access? This can be confusing when we have multiple 
> optionals in the same line. The of course, the column information helps. But 
> the more visual guides we have the better :)
Yes -- we have access to the object expression at the time of detection. So 
both are reasonable to include. We just need to extend the 
SourceLocationsLattice to accomodate.  Added a FIXME in the model.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D121120

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

Reply via email to