================
@@ -47,13 +89,27 @@ struct Variables {
lldb::SBValue FindVariable(uint64_t variablesReference, llvm::StringRef
name);
+ /// Initialize a frame if it hasn't been already, otherwise do nothing
+ std::vector<protocol::Scope> ReadyFrame(const uint64_t dap_frame_id,
+ lldb::SBFrame &frame);
+ std::optional<ScopeData> GetScopeKind(const int64_t variablesReference);
+
/// Clear all scope variables and non-permanent expandable variables.
void Clear();
private:
- /// Variable_reference start index of permanent expandable variable.
+ /// Variable reference start index of temporary variables.
+ static constexpr int64_t TemporaryVariableStartIndex = 1;
+
+ /// Variable reference start index of permanent expandable variable.
static constexpr int64_t PermanentVariableStartIndex = (1ll << 32);
+ int64_t m_next_permanent_var_ref{PermanentVariableStartIndex};
+ int64_t m_next_temporary_var_ref{TemporaryVariableStartIndex};
+
+ // Variable Reference, dap_frame_id
+ std::map<int64_t, std::pair<eScopeKind, uint64_t>> m_scope_kinds;
----------------
ashgti wrote:
I wonder if we could merge either this into m_frames or m_frames into this to
help ensure we keep the two in sync.
https://github.com/llvm/llvm-project/pull/124232
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits