Author: Raphael Isemann Date: 2020-02-18T09:00:03+01:00 New Revision: 813ca53fdea130a23e302ea2afecaa5134def6db
URL: https://github.com/llvm/llvm-project/commit/813ca53fdea130a23e302ea2afecaa5134def6db DIFF: https://github.com/llvm/llvm-project/commit/813ca53fdea130a23e302ea2afecaa5134def6db.diff LOG: [lldb][NFC] Document TypeSystemClang Added: Modified: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h Removed: ################################################################################ diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h index 02382b587d67..dc9a10bd61a0 100644 --- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h +++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h @@ -45,6 +45,16 @@ class ClangASTMetadata; class ClangASTSource; class Declaration; +/// A TypeSystem implementation based on Clang. +/// +/// This class uses a single clang::ASTContext as the backend for storing +/// its types and declarations. Every clang::ASTContext should also just have +/// a single associated TypeSystemClang instance that manages it. +/// +/// The clang::ASTContext instance can either be created by TypeSystemClang +/// itself or it can adopt an existing clang::ASTContext (for example, when +/// it is necessary to provide a TypeSystem interface for an existing +/// clang::ASTContext that was created by clang::CompilerInstance). class TypeSystemClang : public TypeSystem { // LLVM RTTI support static char ID; @@ -114,6 +124,7 @@ class TypeSystemClang : public TypeSystem { /// purpose it serves in LLDB. Used for example in logs. llvm::StringRef getDisplayName() const { return m_display_name; } + /// Returns the clang::ASTContext instance managed by this TypeSystemClang. clang::ASTContext &getASTContext(); clang::MangleContext *getMangleContext(); @@ -997,6 +1008,8 @@ class TypeSystemClang : public TypeSystem { void SetTargetTriple(llvm::StringRef target_triple); }; +/// The TypeSystemClang instance used for the scratch ASTContext in a +/// lldb::Target. class TypeSystemClangForExpressions : public TypeSystemClang { public: TypeSystemClangForExpressions(Target &target, llvm::Triple triple); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits