sammccall accepted this revision.
sammccall added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp:3456
 
+TEST(CompletionTest, UndeducedType) {
+  clangd::CodeCompleteOptions Opts;
----------------
"undeducedtype" seems like a strange name for this test - 
MemberFromBaseOfDependent?


================
Comment at: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp:3456
 
+TEST(CompletionTest, UndeducedType) {
+  clangd::CodeCompleteOptions Opts;
----------------
sammccall wrote:
> "undeducedtype" seems like a strange name for this test - 
> MemberFromBaseOfDependent?
you might want this test in clang/test/CodeCompletion as well/instead.


================
Comment at: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp:3459
+  const std::string Code = R"cpp(
+struct Base { Base foo(); };
+
----------------
does this also work if the base is dependent (Base<T>)?


================
Comment at: clang/lib/Sema/SemaCodeComplete.cpp:5414
     if (RD && RD->isCompleteDefinition()) {
-      for (const auto *Member : RD->lookup(CDSME->getMember()))
-        if (const ValueDecl *VD = llvm::dyn_cast<ValueDecl>(Member))
-          return VD->getType().getNonReferenceType();
+      // For c++ records perform a dependent name lookup, which also takes care
+      // of the bases.
----------------
could be a little more precise: "look up member heuristically, including in 
bases"


================
Comment at: clang/lib/Sema/SemaCodeComplete.cpp:5423
+        }
+      } else {
+        for (const auto *Member : RD->lookup(CDSME->getMember())) {
----------------
This case seems very nearly dead. Technically it is possible to get a 
CXXDependentScopeMemberExpr in C using recovery expr, but I can't find a case 
where this is useful. Maybe drop it?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117037

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

Reply via email to