aprantl added a comment.
It's great to see this being addressed! I have a high-level question: When
completing types across lldb::Modules — in which ASTContext is the complete
type created? Since a per-module TypeSystem can be shared by many debuggers, I
want to make sure that types from another module don't pollute another module's
ASTContext, and that they are created in the/a scratch context instead.
================
Comment at: lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp:882
+ auto *td = dyn_cast<TagDecl>(From);
+ if (td && md && md->IsForcefullyCompleted()) {
+ if (auto *proxy = llvm::dyn_cast<ClangASTSource::ClangASTSourceProxy>(
----------------
Can you document what case exactly is being handled here?
================
Comment at: lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h:87
+ bool IsForcefullyCompleted() const { return m_is_forcefully_completed; }
+
----------------
It would be important to document somewhere what the semantics of this
attribute are exactly, since the name is not self-explanatory.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81561/new/
https://reviews.llvm.org/D81561
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits