[embedded] Print function name + class name when missing loc in 'non-final generic fuctions' diagnostic

This commit is contained in:
Kuba Mracek
2024-02-06 11:20:25 -08:00
parent 906d261a19
commit d9624abc81

View File

@@ -98,6 +98,14 @@ bool VTableSpecializer::specializeVTables(SILModule &module) {
ValueDecl *decl = entry.getMethod().getDecl();
module.getASTContext().Diags.diagnose(
decl->getLoc(), diag::non_final_generic_class_function);
if (decl->getLoc().isInvalid()) {
auto demangledName = Demangle::demangleSymbolAsString(
method->getName(),
Demangle::DemangleOptions::SimplifiedUIDemangleOptions());
llvm::errs() << "in function " << demangledName << "\n";
llvm::errs() << "in class " << vtable->getClass()->getName() << "\n";
}
}
}