@@ -152,58 +152,6 @@ ValueObject::ValueObject(ExecutionContextScope *exe_scope,
152152// Destructor
153153ValueObject::~ValueObject () {}
154154
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-
207155bool ValueObject::UpdateValueIfNeeded (bool update_format) {
208156
209157 bool did_change_formats = false ;
@@ -275,7 +223,6 @@ bool ValueObject::UpdateValueIfNeeded(bool update_format) {
275223 SetValueIsValid (success);
276224
277225 if (success) {
278- UpdateChildrenAddressType ();
279226 const uint64_t max_checksum_size = 128 ;
280227 m_data.Checksum (m_value_checksum, max_checksum_size);
281228 } else {
0 commit comments