diff options
author | Sean Callanan <scallanan@apple.com> | 2015-09-04 20:49:51 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2015-09-04 20:49:51 +0000 |
commit | bc8ac34e61960ac372cfbdc8a9c7ebe87df343b8 (patch) | |
tree | c65f757002e1b055ddb6ad857ef5431536477cb4 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp | |
parent | a72920410329779314264d9da990c27d405a3fc2 (diff) | |
download | bcm5719-llvm-bc8ac34e61960ac372cfbdc8a9c7ebe87df343b8.tar.gz bcm5719-llvm-bc8ac34e61960ac372cfbdc8a9c7ebe87df343b8.zip |
This patch separates the generic portion of ClangExpressionVariable, which
stores information about a variable that different parts of LLDB use, from the
compiler-specific portion that only the expression parser cares about.
http://reviews.llvm.org/D12602
llvm-svn: 246871
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp | 108 |
1 files changed, 12 insertions, 96 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp index 9d88f9009a9..735a843bc81 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp @@ -24,122 +24,38 @@ using namespace clang; const char *g_clang_expression_variable_kind_name = "ClangExpressionVariable"; ClangExpressionVariable::ClangExpressionVariable(ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order, uint32_t addr_byte_size) : + ExpressionVariable(), m_parser_vars(), - m_jit_vars (), - m_flags (EVNone), - m_frozen_sp (ValueObjectConstResult::Create (exe_scope, byte_order, addr_byte_size)) + m_jit_vars () { + m_flags = EVNone; + m_frozen_sp = ValueObjectConstResult::Create (exe_scope, byte_order, addr_byte_size); } ClangExpressionVariable::ClangExpressionVariable (ExecutionContextScope *exe_scope, Value &value, const ConstString &name, uint16_t flags) : + ExpressionVariable(), m_parser_vars(), - m_jit_vars (), - m_flags (flags), - m_frozen_sp (ValueObjectConstResult::Create (exe_scope, value, name)) + m_jit_vars () { + m_flags = flags; + m_frozen_sp = ValueObjectConstResult::Create (exe_scope, value, name); } ClangExpressionVariable::ClangExpressionVariable (const lldb::ValueObjectSP &valobj_sp) : + ExpressionVariable(), m_parser_vars(), - m_jit_vars (), - m_flags (EVNone), - m_frozen_sp (valobj_sp) + m_jit_vars () { + m_flags = EVNone; + m_frozen_sp = valobj_sp; } -//---------------------------------------------------------------------- -/// Return the variable's size in bytes -//---------------------------------------------------------------------- -size_t -ClangExpressionVariable::GetByteSize () -{ - return m_frozen_sp->GetByteSize(); -} - -const ConstString & -ClangExpressionVariable::GetName () -{ - return m_frozen_sp->GetName(); -} - -lldb::ValueObjectSP -ClangExpressionVariable::GetValueObject() -{ - return m_frozen_sp; -} - -RegisterInfo * -ClangExpressionVariable::GetRegisterInfo() -{ - return m_frozen_sp->GetValue().GetRegisterInfo(); -} - -void -ClangExpressionVariable::SetRegisterInfo (const RegisterInfo *reg_info) -{ - return m_frozen_sp->GetValue().SetContext (Value::eContextTypeRegisterInfo, const_cast<RegisterInfo *>(reg_info)); -} - -CompilerType -ClangExpressionVariable::GetCompilerType() -{ - return m_frozen_sp->GetCompilerType(); -} - -void -ClangExpressionVariable::SetCompilerType(const CompilerType &clang_type) -{ - m_frozen_sp->GetValue().SetCompilerType(clang_type); -} - - TypeFromUser ClangExpressionVariable::GetTypeFromUser() { TypeFromUser tfu (m_frozen_sp->GetCompilerType()); return tfu; } - -uint8_t * -ClangExpressionVariable::GetValueBytes() -{ - const size_t byte_size = m_frozen_sp->GetByteSize(); - if (byte_size > 0) - { - if (m_frozen_sp->GetDataExtractor().GetByteSize() < byte_size) - { - m_frozen_sp->GetValue().ResizeData(byte_size); - m_frozen_sp->GetValue().GetData (m_frozen_sp->GetDataExtractor()); - } - return const_cast<uint8_t *>(m_frozen_sp->GetDataExtractor().GetDataStart()); - } - return NULL; -} - -void -ClangExpressionVariable::SetName (const ConstString &name) -{ - m_frozen_sp->SetName (name); -} - -void -ClangExpressionVariable::ValueUpdated () -{ - m_frozen_sp->ValueUpdated (); -} - -void -ClangExpressionVariable::TransferAddress (bool force) -{ - if (m_live_sp.get() == NULL) - return; - - if (m_frozen_sp.get() == NULL) - return; - - if (force || (m_frozen_sp->GetLiveAddress() == LLDB_INVALID_ADDRESS)) - m_frozen_sp->SetLiveAddress(m_live_sp->GetLiveAddress()); -} |