hokein accepted this revision. hokein added inline comments. This revision is now accepted and ready to land.
================ Comment at: clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp:153 + // Get new begin and end positions for the qualified body. + auto OrigFuncRange = toHalfOpenFileRange( + SM, FD->getASTContext().getLangOpts(), FD->getSourceRange()); ---------------- kadircet wrote: > hokein wrote: > > we have similar code in define-inline as well, would be nice to have them > > in a single place in the long term. probably a FIXME? > they're quite similar but, different in nature. one of them returns the full > function definition, including template parameter lists, whereas the other > only operates on function body. yes, the only difference is the range, right? the logic of applying replacements, getting correct begin/end offset, and getting the interesting content is the same. we could abstract a function that taking the range into the parameter. ================ Comment at: clang-tools-extra/clangd/unittests/TweakTests.cpp:1810 + })cpp", + "a::Foo::Bar foo() { return {}; }\n"}, + {R"cpp( ---------------- kadircet wrote: > hokein wrote: > > oh, this is very tricky case (I think you meant to test the public > > members), note that Bar and foo are private member of Foo, we can't move > > the body out of the class `Foo`, for this case I think we should disallow > > the tweak. > > > > No need to do it in this patch, but please update the test here (to test > > public members). > I don't follow, the following compiles nicely: > ``` > namespace a { > class Foo { > class Bar {}; > Bar foo(); > }; > } // namespace a > > a::Foo::Bar a::Foo::foo() { return {}; } > ``` > > the problem here is we are not qualifying the function name, which is handled > in the follow up patch D70656 ah, you are right. I think I was somehow confused with the `a::Foo::Bar foo()`. ================ Comment at: clang-tools-extra/clangd/unittests/TweakTests.cpp:2007 + Bar foo() ; + } + })cpp", ---------------- nit: ";" Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70535/new/ https://reviews.llvm.org/D70535 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits