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/Symbol/ClangASTContext.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/Symbol/ClangASTContext.cpp')
| -rw-r--r-- | lldb/source/Symbol/ClangASTContext.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index 11e587c1061..3716da82cd3 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -5684,7 +5684,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, uint32_t &child_bitfield_bit_offset, bool &child_is_base_class, bool &child_is_deref_of_parent, - ValueObject *valobj) + ValueObject *valobj, + uint64_t &language_flags) { if (!type) return CompilerType(); @@ -5694,6 +5695,7 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_size = 0; child_bitfield_bit_offset = 0; child_is_base_class = false; + language_flags = 0; const bool idx_is_valid = idx < GetNumChildren (type, omit_empty_base_classes); uint32_t bit_offset; @@ -6004,7 +6006,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, tmp_child_is_deref_of_parent, - valobj); + valobj, + language_flags); } else { @@ -6095,7 +6098,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, tmp_child_is_deref_of_parent, - valobj); + valobj, + language_flags); } else { @@ -6141,7 +6145,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, tmp_child_is_deref_of_parent, - valobj); + valobj, + language_flags); } else { @@ -6178,7 +6183,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, child_is_deref_of_parent, - valobj); + valobj, + language_flags); } break; @@ -6197,7 +6203,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, child_is_deref_of_parent, - valobj); + valobj, + language_flags); } case clang::Type::Paren: @@ -6215,7 +6222,8 @@ ClangASTContext::GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, child_bitfield_bit_offset, child_is_base_class, child_is_deref_of_parent, - valobj); + valobj, + language_flags); } |

