diff options
author | Enrico Granata <egranata@apple.com> | 2015-11-09 19:27:34 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2015-11-09 19:27:34 +0000 |
commit | dc62ffd37b8852e0a4d2bcd2b6373aa60ac9f4f1 (patch) | |
tree | 6e6e7c2acd1392344af26d921131b4a668f7cedb /lldb/source/Core/ValueObjectConstResultImpl.cpp | |
parent | 776e59b0fe069b8dc4fa1d97f44c1191bcb46a6d (diff) | |
download | bcm5719-llvm-dc62ffd37b8852e0a4d2bcd2b6373aa60ac9f4f1.tar.gz bcm5719-llvm-dc62ffd37b8852e0a4d2bcd2b6373aa60ac9f4f1.zip |
Add a way for source languages to "mark" ValueObjects with language-specific flags
In this way, when a language needs to tell itself things that are not bound to a type but to a value (imagine a base-class relation, this is not about the type, but about the ValueObject), it can do so in a clean and general fashion
The interpretation of the values of the flags is, of course, up to the language that owns the value (the value object's runtime language, that is)
llvm-svn: 252503
Diffstat (limited to 'lldb/source/Core/ValueObjectConstResultImpl.cpp')
-rw-r--r-- | lldb/source/Core/ValueObjectConstResultImpl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/ValueObjectConstResultImpl.cpp b/lldb/source/Core/ValueObjectConstResultImpl.cpp index 1646e5af65f..85ac3f2c5fe 100644 --- a/lldb/source/Core/ValueObjectConstResultImpl.cpp +++ b/lldb/source/Core/ValueObjectConstResultImpl.cpp @@ -69,6 +69,7 @@ ValueObjectConstResultImpl::CreateChildAtIndex (size_t idx, bool synthetic_array uint32_t child_bitfield_bit_offset = 0; bool child_is_base_class = false; bool child_is_deref_of_parent = false; + uint64_t language_flags; const bool transparent_pointers = synthetic_array_member == false; CompilerType compiler_type = m_impl_backend->GetCompilerType(); @@ -88,7 +89,8 @@ ValueObjectConstResultImpl::CreateChildAtIndex (size_t idx, bool synthetic_array child_bitfield_bit_offset, child_is_base_class, child_is_deref_of_parent, - m_impl_backend); + m_impl_backend, + language_flags); if (child_compiler_type && child_byte_size) { if (synthetic_index) @@ -107,7 +109,8 @@ ValueObjectConstResultImpl::CreateChildAtIndex (size_t idx, bool synthetic_array child_bitfield_bit_offset, child_is_base_class, child_is_deref_of_parent, - m_live_address == LLDB_INVALID_ADDRESS ? m_live_address : m_live_address+child_byte_offset); + m_live_address == LLDB_INVALID_ADDRESS ? m_live_address : m_live_address+child_byte_offset, + language_flags); } return valobj; |