@@ -152,58 +152,6 @@ ValueObject::ValueObject(ExecutionContextScope *exe_scope,
152
152
// Destructor
153
153
ValueObject::~ValueObject () {}
154
154
155
- void ValueObject::UpdateChildrenAddressType () {
156
- Value::ValueType value_type = m_value.GetValueType ();
157
- ExecutionContext exe_ctx (GetExecutionContextRef ());
158
- Process *process = exe_ctx.GetProcessPtr ();
159
- const bool process_is_alive = process && process->IsAlive ();
160
- const uint32_t type_info = GetCompilerType ().GetTypeInfo ();
161
- const bool is_pointer_or_ref =
162
- (type_info & (lldb::eTypeIsPointer | lldb::eTypeIsReference)) != 0 ;
163
-
164
- switch (value_type) {
165
- case Value::eValueTypeFileAddress:
166
- // If this type is a pointer, then its children will be considered load
167
- // addresses if the pointer or reference is dereferenced, but only if
168
- // the process is alive.
169
- //
170
- // There could be global variables like in the following code:
171
- // struct LinkedListNode { Foo* foo; LinkedListNode* next; };
172
- // Foo g_foo1;
173
- // Foo g_foo2;
174
- // LinkedListNode g_second_node = { &g_foo2, NULL };
175
- // LinkedListNode g_first_node = { &g_foo1, &g_second_node };
176
- //
177
- // When we aren't running, we should be able to look at these variables
178
- // using the "target variable" command. Children of the "g_first_node"
179
- // always will be of the same address type as the parent. But children
180
- // of the "next" member of LinkedListNode will become load addresses if
181
- // we have a live process, or remain a file address if it was a file
182
- // address.
183
- if (process_is_alive && is_pointer_or_ref)
184
- SetAddressTypeOfChildren (eAddressTypeLoad);
185
- else
186
- SetAddressTypeOfChildren (eAddressTypeFile);
187
- break ;
188
- case Value::eValueTypeHostAddress:
189
- // Same as above for load addresses, except children of pointer or refs
190
- // are always load addresses. Host addresses are used to store freeze
191
- // dried variables. If this type is a struct, the entire struct
192
- // contents will be copied into the heap of the
193
- // LLDB process, but we do not currently follow any pointers.
194
- if (is_pointer_or_ref)
195
- SetAddressTypeOfChildren (eAddressTypeLoad);
196
- else
197
- SetAddressTypeOfChildren (eAddressTypeHost);
198
- break ;
199
- case Value::eValueTypeLoadAddress:
200
- case Value::eValueTypeScalar:
201
- case Value::eValueTypeVector:
202
- SetAddressTypeOfChildren (eAddressTypeLoad);
203
- break ;
204
- }
205
- }
206
-
207
155
bool ValueObject::UpdateValueIfNeeded (bool update_format) {
208
156
209
157
bool did_change_formats = false ;
@@ -275,7 +223,6 @@ bool ValueObject::UpdateValueIfNeeded(bool update_format) {
275
223
SetValueIsValid (success);
276
224
277
225
if (success) {
278
- UpdateChildrenAddressType ();
279
226
const uint64_t max_checksum_size = 128 ;
280
227
m_data.Checksum (m_value_checksum, max_checksum_size);
281
228
} else {
0 commit comments