================
@@ -865,6 +865,24 @@ ObjCMethodDecl 
*ObjCMethodDecl::CreateDeserialized(ASTContext &C,
                                     Selector(), QualType(), nullptr, nullptr);
 }
 
+void ObjCMethodDecl::getNameForDiagnostic(raw_ostream &OS,
+                                          const PrintingPolicy &Policy,
+                                          bool Qualified) const {
+  if (Qualified) {
+    OS << (isInstanceMethod() ? '-' : '+');
+    OS << '[';
+    if (const auto *ID = getClassInterface())
+      OS << ID->getName();
+    else if (const auto *PD = dyn_cast<ObjCProtocolDecl>(getDeclContext()))
+      OS << PD->getName();
+    else
+      OS << "<Unknown>";
----------------
dmaclach wrote:

I *believe* that the unknown branches are generally unreachable for valid, 
fully-formed AST nodes. I guess you could hit them in some incomplete state 
like deserialization, but that's a long shot. I'm not sure how to put together 
a test to exercise it, but thought that this was safer than asserting.

What would you prefer?

https://github.com/llvm/llvm-project/pull/213030
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to