|
|
|||
File indexing completed on 2026-05-10 08:42:59
0001 //===-- ValueObjectUpdater.h ------------------------------------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 0009 #ifndef LLDB_VALUEOBJECT_VALUEOBJECTUPDATER_H 0010 #define LLDB_VALUEOBJECT_VALUEOBJECTUPDATER_H 0011 0012 #include "lldb/ValueObject/ValueObject.h" 0013 0014 namespace lldb_private { 0015 0016 /// A value object class that is seeded with the static variable value 0017 /// and it vends the user facing value object. If the type is dynamic it can 0018 /// vend the dynamic type. If this user type also has a synthetic type 0019 /// associated with it, it will vend the synthetic type. The class watches the 0020 /// process' stop ID and will update the user type when needed. 0021 class ValueObjectUpdater { 0022 /// The root value object is the static typed variable object. 0023 lldb::ValueObjectSP m_root_valobj_sp; 0024 /// The user value object is the value object the user wants to see. 0025 lldb::ValueObjectSP m_user_valobj_sp; 0026 /// The stop ID that m_user_valobj_sp is valid for. 0027 uint32_t m_stop_id = UINT32_MAX; 0028 0029 public: 0030 ValueObjectUpdater(lldb::ValueObjectSP in_valobj_sp); 0031 0032 /// Gets the correct value object from the root object for a given process 0033 /// stop ID. If dynamic values are enabled, or if synthetic children are 0034 /// enabled, the value object that the user wants to see might change while 0035 /// debugging. 0036 lldb::ValueObjectSP GetSP(); 0037 0038 lldb::ProcessSP GetProcessSP() const; 0039 }; 0040 0041 } // namespace lldb_private 0042 0043 #endif // LLDB_VALUEOBJECT_VALUEOBJECTUPDATER_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|