dgoldman added inline comments.

================
Comment at: clang-tools-extra/clangd/Hover.cpp:64
 
+static llvm::StringRef getNameForObjCInterface(const ObjCInterfaceDecl *ID) {
+  return ID ? ID->getName() : "<<error-type>>";
----------------
sammccall wrote:
> this function's name doesn't really describe what it's for
> 
> it has 3 callsites and is only needed in 2, just inline it?
Worth keeping, see below, Open to naming suggestions =)


================
Comment at: clang-tools-extra/clangd/Hover.cpp:71
+  llvm::raw_string_ostream OS(Name);
+  const ObjCInterfaceDecl *Class = Method->getClassInterface();
+
----------------
sammccall wrote:
> looking at the implementation, this is null iff the method is part of a 
> protocol.
> <<error-type>> doesn't seem appropriatefor that case
It can also be NULL for invalid code (in category).

Since we only call this for Decls in this decl context protocols can't ever 
appear as protocols can't have method definitions. Do you think it's still 
worth handling?


================
Comment at: clang-tools-extra/clangd/Hover.cpp:96
+  }
+  if (const ObjCCategoryImplDecl *CI = dyn_cast<ObjCCategoryImplDecl>(C)) {
+    std::string Name;
----------------
sammccall wrote:
> can't you return objcContainerLocalScope(CI->getCategoryDecl()) ?
As noted in getCategoryDecl() the class interface can be NULL when working with 
invalid code.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68590

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

Reply via email to