diff options
author | Jim Ingham <jingham@apple.com> | 2011-03-31 00:19:25 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2011-03-31 00:19:25 +0000 |
commit | 6035b67d2c27cc1af134293acb06ce7463f88671 (patch) | |
tree | b560151fdc63ab7c4f23a1526516daa7745f838c /lldb/source/Core/ValueObjectConstResult.cpp | |
parent | 3a195b7e7818e2828fba055e9397a07e71804bc6 (diff) | |
download | bcm5719-llvm-6035b67d2c27cc1af134293acb06ce7463f88671.tar.gz bcm5719-llvm-6035b67d2c27cc1af134293acb06ce7463f88671.zip |
Convert ValueObject to explicitly maintain the Execution Context in which they were created, and then use that when they update themselves. That means all the ValueObject evaluate me type functions that used to require a Frame object now do not. I didn't remove the SBValue API's that take this now useless frame, but I added ones that don't require the frame, and marked the SBFrame taking ones as deprecated.
llvm-svn: 128593
Diffstat (limited to 'lldb/source/Core/ValueObjectConstResult.cpp')
-rw-r--r-- | lldb/source/Core/ValueObjectConstResult.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/lldb/source/Core/ValueObjectConstResult.cpp b/lldb/source/Core/ValueObjectConstResult.cpp index 55273a9a7be..ff5d265a4f8 100644 --- a/lldb/source/Core/ValueObjectConstResult.cpp +++ b/lldb/source/Core/ValueObjectConstResult.cpp @@ -28,10 +28,11 @@ using namespace lldb_private; ValueObjectConstResult::ValueObjectConstResult ( + ExecutionContextScope *exe_scope, ByteOrder byte_order, uint32_t addr_byte_size ) : - ValueObject (NULL), + ValueObject (exe_scope), m_clang_ast (NULL), m_type_name (), m_byte_size (0) @@ -45,12 +46,13 @@ ValueObjectConstResult::ValueObjectConstResult ValueObjectConstResult::ValueObjectConstResult ( + ExecutionContextScope *exe_scope, clang::ASTContext *clang_ast, void *clang_type, const ConstString &name, const DataExtractor &data ) : - ValueObject (NULL), + ValueObject (exe_scope), m_clang_ast (clang_ast), m_type_name (), m_byte_size (0) @@ -67,6 +69,7 @@ ValueObjectConstResult::ValueObjectConstResult ValueObjectConstResult::ValueObjectConstResult ( + ExecutionContextScope *exe_scope, clang::ASTContext *clang_ast, void *clang_type, const ConstString &name, @@ -74,7 +77,7 @@ ValueObjectConstResult::ValueObjectConstResult lldb::ByteOrder data_byte_order, uint8_t data_addr_size ) : - ValueObject (NULL), + ValueObject (exe_scope), m_clang_ast (clang_ast), m_type_name (), m_byte_size (0) @@ -93,6 +96,7 @@ ValueObjectConstResult::ValueObjectConstResult ValueObjectConstResult::ValueObjectConstResult ( + ExecutionContextScope *exe_scope, clang::ASTContext *clang_ast, void *clang_type, const ConstString &name, @@ -100,7 +104,7 @@ ValueObjectConstResult::ValueObjectConstResult AddressType address_type, uint8_t addr_byte_size ) : - ValueObject (NULL), + ValueObject (exe_scope), m_clang_ast (clang_ast), m_type_name (), m_byte_size (0) @@ -124,8 +128,10 @@ ValueObjectConstResult::ValueObjectConstResult m_pointers_point_to_load_addrs = true; } -ValueObjectConstResult::ValueObjectConstResult (const Error& error) : - ValueObject (NULL), +ValueObjectConstResult::ValueObjectConstResult ( + ExecutionContextScope *exe_scope, + const Error& error) : + ValueObject (exe_scope), m_clang_ast (NULL), m_type_name (), m_byte_size (0) @@ -188,16 +194,17 @@ ValueObjectConstResult::GetTypeName() return m_type_name; } -void -ValueObjectConstResult::UpdateValue (ExecutionContextScope *exe_scope) +bool +ValueObjectConstResult::UpdateValue () { // Const value is always valid SetValueIsValid (true); + return true; } bool -ValueObjectConstResult::IsInScope (StackFrame *frame) +ValueObjectConstResult::IsInScope () { // A const result value is always in scope since it serializes all // information needed to contain the constant value. |