summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ValueObjectConstResult.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2011-03-31 00:19:25 +0000
committerJim Ingham <jingham@apple.com>2011-03-31 00:19:25 +0000
commit6035b67d2c27cc1af134293acb06ce7463f88671 (patch)
treeb560151fdc63ab7c4f23a1526516daa7745f838c /lldb/source/Core/ValueObjectConstResult.cpp
parent3a195b7e7818e2828fba055e9397a07e71804bc6 (diff)
downloadbcm5719-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.cpp25
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.
OpenPOWER on IntegriCloud