From 9e86561878dc470c4023cd627dd39cafc13fdc4d Mon Sep 17 00:00:00 2001 From: Alex Langford Date: Mon, 9 Sep 2019 23:11:43 +0000 Subject: [PATCH] [Symbol] Give ClangASTContext a PersistentExpressionState instead of a ClangPersistentVariables ClangASTContext doesn't use m_persistent_variables in a way specific to ClangPersistentVariables. Therefore, it should hold a unique pointer to PersistentExpressionState instead of a ClangPersistentVariablesUP. This also prevents you from pulling in a plugin header when including ClangASTContext.h Doing this exposed an implicit dependency in ObjCLanguage that was corrected by including ClangModulesDeclVendor.h llvm-svn: 371470 --- lldb/include/lldb/Symbol/ClangASTContext.h | 12 ++++-------- lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp | 1 + lldb/source/Symbol/ClangASTContext.cpp | 1 + 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lldb/include/lldb/Symbol/ClangASTContext.h b/lldb/include/lldb/Symbol/ClangASTContext.h index 5739d32..8777634 100644 --- a/lldb/include/lldb/Symbol/ClangASTContext.h +++ b/lldb/include/lldb/Symbol/ClangASTContext.h @@ -26,8 +26,8 @@ #include "llvm/ADT/APSInt.h" #include "llvm/ADT/SmallVector.h" -#include "Plugins/ExpressionParser/Clang/ClangPersistentVariables.h" #include "lldb/Core/ClangForward.h" +#include "lldb/Expression/ExpressionVariable.h" #include "lldb/Symbol/CompilerType.h" #include "lldb/Symbol/TypeSystem.h" #include "lldb/Utility/ConstString.h" @@ -1042,13 +1042,9 @@ public: } private: lldb::TargetWP m_target_wp; - lldb::ClangPersistentVariablesUP m_persistent_variables; ///< These are the - ///persistent - ///variables - ///associated with - ///this process for - ///the expression - ///parser. + std::unique_ptr + m_persistent_variables; // These are the persistent variables associated + // with this process for the expression parser }; } // namespace lldb_private diff --git a/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp b/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp index f9ab186..c5bfb57 100644 --- a/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp +++ b/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp @@ -22,6 +22,7 @@ #include "llvm/Support/Threading.h" +#include "Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h" #include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h" #include "CF.h" diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index f1331cc..52f7cf4 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -65,6 +65,7 @@ #include "llvm/Support/Threading.h" #include "Plugins/ExpressionParser/Clang/ClangFunctionCaller.h" +#include "Plugins/ExpressionParser/Clang/ClangPersistentVariables.h" #include "Plugins/ExpressionParser/Clang/ClangUserExpression.h" #include "Plugins/ExpressionParser/Clang/ClangUtilityFunction.h" #include "lldb/Utility/ArchSpec.h" -- 2.7.4