|
12 | 12 | #include "lldb/Core/dwarf.h"
|
13 | 13 | #include "lldb/lldb-defines.h"
|
14 | 14 | #include "lldb/lldb-enumerations.h"
|
| 15 | +#include "lldb/lldb-private-enumerations.h" |
15 | 16 |
|
16 | 17 | namespace lldb_private {
|
17 | 18 |
|
18 | 19 | class ClangASTMetadata {
|
19 | 20 | public:
|
20 | 21 | ClangASTMetadata()
|
21 | 22 | : m_user_id(0), m_union_is_user_id(false), m_union_is_isa_ptr(false),
|
22 |
| - m_has_object_ptr(false), m_is_self(false), m_is_dynamic_cxx(true), |
23 |
| - m_is_forcefully_completed(false) {} |
| 23 | + m_has_object_ptr(false), m_is_self(false), |
| 24 | + m_is_forcefully_completed(false) { |
| 25 | + SetIsDynamicCXXType(std::nullopt); |
| 26 | + } |
24 | 27 |
|
25 |
| - bool GetIsDynamicCXXType() const { return m_is_dynamic_cxx; } |
| 28 | + std::optional<bool> GetIsDynamicCXXType() const; |
26 | 29 |
|
27 |
| - void SetIsDynamicCXXType(bool b) { m_is_dynamic_cxx = b; } |
| 30 | + void SetIsDynamicCXXType(std::optional<bool> b); |
28 | 31 |
|
29 | 32 | void SetUserID(lldb::user_id_t user_id) {
|
30 | 33 | m_user_id = user_id;
|
@@ -101,8 +104,8 @@ class ClangASTMetadata {
|
101 | 104 | uint64_t m_isa_ptr;
|
102 | 105 | };
|
103 | 106 |
|
104 |
| - bool m_union_is_user_id : 1, m_union_is_isa_ptr : 1, m_has_object_ptr : 1, |
105 |
| - m_is_self : 1, m_is_dynamic_cxx : 1, m_is_forcefully_completed : 1; |
| 107 | + unsigned m_union_is_user_id : 1, m_union_is_isa_ptr : 1, m_has_object_ptr : 1, |
| 108 | + m_is_self : 1, m_is_dynamic_cxx : 2, m_is_forcefully_completed : 1; |
106 | 109 | };
|
107 | 110 |
|
108 | 111 | } // namespace lldb_private
|
|
0 commit comments