================ @@ -1411,3 +1414,35 @@ clang::Decl * ClangASTImporter::ASTImporterDelegate::GetOriginalDecl(clang::Decl *To) { return m_main.GetDeclOrigin(To).decl; } + +void ClangASTImporter::ASTImporterDelegate::UpdateImportProgress( + clang::Decl const *From) { + assert(From && + "Trying to report import progress using an invalid clang::Decl."); + + // If we can't determine the decl's name, we don't know what to + // update the progress bar with. So bail out. + auto const *ND = dyn_cast<NamedDecl>(From); + if (!ND) + return; + + if (!m_import_progress_up) { + auto const *from_ast = + TypeSystemClang::GetASTContext(&From->getASTContext()); + auto const *to_ast = TypeSystemClang::GetASTContext(&getToContext()); + + assert(from_ast && to_ast); + + llvm::SmallVector<llvm::StringRef> from_name_parts; + llvm::SplitString(from_ast->getDisplayName(), from_name_parts, "/"); + auto from_name = from_name_parts.back(); + + llvm::SmallVector<llvm::StringRef> to_name_parts; + llvm::SplitString(to_ast->getDisplayName(), to_name_parts, "/"); ---------------- Michael137 wrote:
> What does an ast's DisplayName look like? It's one of three: * `Expression ASTContext for '" + m_filename + "'` (expression AST) * `scratch ASTContext` * a module name https://github.com/llvm/llvm-project/pull/91452 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits