[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.

  rG LLVM Github Monorepo



More information about the cfe-commits mailing list