================ @@ -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, "/"); ---------------- adrian-prantl wrote:
`StringRef::rsplit` is going to be more efficient for this. 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