aboutsummaryrefslogtreecommitdiff
path: root/llvm/docs/tutorial
diff options
context:
space:
mode:
authorJohn Harrison <harjohn@google.com>2024-01-12 14:12:30 -0800
committerGitHub <noreply@github.com>2024-01-12 17:12:30 -0500
commit40a361acf5ce255054c5b2e5f67a24325bfe0398 (patch)
tree61fd8ce97334a33cad008790523f395ec7723549 /llvm/docs/tutorial
parent060505aa0d49f31e6f2fd4e137c76d86f571f66b (diff)
downloadllvm-40a361acf5ce255054c5b2e5f67a24325bfe0398.zip
llvm-40a361acf5ce255054c5b2e5f67a24325bfe0398.tar.gz
llvm-40a361acf5ce255054c5b2e5f67a24325bfe0398.tar.bz2
[lldb-dap] Updating VariableDescription to use GetDescription() as a fallback. (#77026)
When generating a `display_value` for a variable the current approach calls `SBValue::GetValue()` and `SBValue::GetSummary()` to generate a `display_value` for the `SBValue`. However, there are cases where both of these return an empty string and the fallback is to print a pointer and type name instead (e.g. `FooBarType @ 0x00321`). For swift types, lldb includes a langauge runtime plugin that can generate a description of the object but this is only used with `SBValue::GetDescription()`. For example: ``` $ lldb swift-binary ... stop at breakpoint ... lldb> script >>> event = lldb.frame.GetValueForVariablePath("event") >>> print("Value", event.GetValue()) Value None >>> print("Summary", event.GetSummary()) Summary None >>> print("Description", event) # __str__ calls SBValue::GetDescription() Description (main.Event) event = (name = "Greetings", time = 2024-01-04 23:38:06 UTC) ``` With this change, if GetValue and GetSummary return empty then we try `SBValue::GetDescription()` as a fallback before using the previous logic of printing `<type> @ <addr>`.
Diffstat (limited to 'llvm/docs/tutorial')
0 files changed, 0 insertions, 0 deletions