[Lldb-commits] [lldb] Add new Python API `SBCommandInterpreter::GetTranscript()` (PR #90703)

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Thu May 16 09:56:15 PDT 2024


================
@@ -766,6 +768,12 @@ class CommandInterpreter : public Broadcaster,
   CommandUsageMap m_command_usages;
 
   StreamString m_transcript_stream;
+
+  /// Contains a list of handled commands, output and error. Each element in
+  /// the list is a dictionary with three keys: "command" (string), "output"
+  /// (list of strings) and optionally "error" (list of strings). Each string
+  /// in "output" and "error" is a line (without EOL characters).
+  StructuredData::ArraySP m_transcript;
----------------
clayborg wrote:

This shouldn't be a shared pointer, we don't want to hand out references to this structured data across the API boundary because it can be accessed by the caller and also be updated by new commands coming in. This should be a `StructuredData::Array` object and we should copy it when we hand it out across the API boundary.

https://github.com/llvm/llvm-project/pull/90703


More information about the lldb-commits mailing list