aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Expression/ExpressionSourceCode.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2015-09-30 19:57:57 +0000
committerSean Callanan <scallanan@apple.com>2015-09-30 19:57:57 +0000
commit8f1f9a1be30ff0e260f451f18712dff7fa9a7273 (patch)
tree0f8b5547cb3eeee31a03e5b687b083f7af8013fa /lldb/source/Expression/ExpressionSourceCode.cpp
parentf608111d1b6493ae9f8e8f0c24da57ca1aebb72f (diff)
downloadllvm-8f1f9a1be30ff0e260f451f18712dff7fa9a7273.zip
llvm-8f1f9a1be30ff0e260f451f18712dff7fa9a7273.tar.gz
llvm-8f1f9a1be30ff0e260f451f18712dff7fa9a7273.tar.bz2
Now persistent expression data no longer lives with the Target, but rather with
the corresponding TypeSystem. This makes sense because what kind of data there is -- and how it can be looked up -- depends on the language. Functionality that is common to all type systems is factored out into PersistentExpressionState. llvm-svn: 248934
Diffstat (limited to 'lldb/source/Expression/ExpressionSourceCode.cpp')
-rw-r--r--lldb/source/Expression/ExpressionSourceCode.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lldb/source/Expression/ExpressionSourceCode.cpp b/lldb/source/Expression/ExpressionSourceCode.cpp
index 4c03703..d1342cf 100644
--- a/lldb/source/Expression/ExpressionSourceCode.cpp
+++ b/lldb/source/Expression/ExpressionSourceCode.cpp
@@ -13,6 +13,7 @@
#include "Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h"
#include "Plugins/ExpressionParser/Clang/ClangPersistentVariables.h"
#include "lldb/Symbol/Block.h"
+#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/StackFrame.h"
@@ -82,7 +83,8 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi
if (ClangModulesDeclVendor *decl_vendor = target->GetClangModulesDeclVendor())
{
- const ClangModulesDeclVendor::ModuleVector &hand_imported_modules = target->GetPersistentVariables().GetHandLoadedClangModules();
+ ClangPersistentVariables *persistent_vars = llvm::cast<ClangPersistentVariables>(target->GetScratchTypeSystemForLanguage(lldb::eLanguageTypeC)->GetPersistentExpressionState());
+ const ClangModulesDeclVendor::ModuleVector &hand_imported_modules = persistent_vars->GetHandLoadedClangModules();
ClangModulesDeclVendor::ModuleVector modules_for_macros;
for (ClangModulesDeclVendor::ModuleID module : hand_imported_modules)