[PATCH] D116377: [libTooling] Adds more support for constructing object access expressions.

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 17 08:34:50 PST 2022


gribozavr2 added inline comments.


================
Comment at: clang/unittests/Tooling/SourceCodeBuildersTest.cpp:373
+TEST(SourceCodeBuildersTest, BuildAccessSmartPointer) {
+  testBuilder(buildAccess, "Smart x; x;", "x->");
+}
----------------
ymandel wrote:
> gribozavr2 wrote:
> > This is a case where the old APIs provided the user with a choice, but the new API does not. If the user wanted to call a method on the smart pointer itself (e.g., `reset()`), they could have used `buildDot` to get `x.`.
> > 
> > IDK if it is an important use case, but I thought I'd mention it, since the new API is not 100% equivalent to the ones that it replaces.
> Agreed. I think it is important and I should add a (defaulted) parameter to `buildAccess` that forces "smart" pointers to be treated like any other value. WDYT?
Yes, something like AllowDereferencingSmartPointers.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116377



More information about the cfe-commits mailing list