hokein accepted this revision.
hokein added a comment.
This revision is now accepted and ready to land.
Herald added a subscriber: kbobyrev.

thanks, looks good.



================
Comment at: clang-tools-extra/clangd/FindTarget.cpp:71
+
+  if (const auto *RT = T->getAs<RecordType>()) {
+    return dyn_cast<CXXRecordDecl>(RT->getDecl());
----------------
nit: remove the `{}`, and elsewhere.


================
Comment at: clang-tools-extra/clangd/FindTarget.cpp:91
+// Try to heuristically resolve the type of a dependent expression `E`.
+const Type *resolveDependentExprToType(const Expr *E) {
+  std::vector<const NamedDecl *> Decls = resolveDependentExprToDecls(E);
----------------
I'd move `resolveDependentExprToType` close to `resolveDependentExprToDecls` 
(they are quite related).

consider putting `resolveDependentExprToType` after 
`resolveDependentExprToDecls` definition, and add a forward declaration of 
`resolveDependentExprToType` before the `resolveDependentExprToDecls`.


================
Comment at: clang-tools-extra/clangd/FindTarget.cpp:190
     }
+    Expr *Base = ME->isImplicitAccess() ? nullptr : ME->getBase();
+    if (const auto *BT = BaseType->getAs<BuiltinType>()) {
----------------
nit: move the Base to the if below.


================
Comment at: clang-tools-extra/clangd/FindTarget.cpp:194
+      // represented as BultinType::Dependent which gives us no information. We
+      // can get further b analyzing the depedent expression.
+      if (Base && BT->getKind() == BuiltinType::Dependent) {
----------------
nit: b -> by


================
Comment at: clang-tools-extra/clangd/FindTarget.cpp:197
+        BaseType = resolveDependentExprToType(Base);
+        if (!BaseType)
+          return {};
----------------
this branch is redundant, we can remove it, since 
`getMembersReferencedViaDependentName` can handle a nullptr.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82739



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

Reply via email to