mirror-llvm-project/lldb/examples
Med Ismail Bennani b05a5d0954
[lldb/script] Migrate synthetic children providers onto ScriptedPythonInterface (#210845)
Give `type synthetic add -l` a formal
`ScriptedSyntheticChildrenInterface`, matching the architecture used
elsewhere in this series: a C++ interface header, a Python-backed
implementation, `PluginManager` registration with CLI/API usages, and a
generatable ABC template (`scripted_synthetic_children.py`) wired into
`scripting extension generate`.

Every method goes through the shared `Dispatch<T>()` machinery instead
of hand-rolling its own Locker/raw-SWIG calls. `Dispatch<T>()` is taught
to introspect the target method's arity via
`PythonCallable::GetArgInfo()` and drop trailing args before calling, so
providers that legitimately define an argument as optional
(`num_children(self)` vs. `num_children(self, max_count)`) still work
through the generic dispatch path.

This retires the ad-hoc `LLDBSwigPython_*` synthetic-children bridge
functions entirely.

Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
2026-07-30 13:39:36 -07:00
..
customization
darwin/heap_find [lldb] Adjust ptr_refs utility for arm64e (#204258) 2026-06-17 11:19:43 -07:00
functions
interposing/darwin/fd_interposing
lookup
plugins/commands
python [lldb/script] Migrate synthetic children providers onto ScriptedPythonInterface (#210845) 2026-07-30 13:39:36 -07:00
scripting
summaries [lldb][examples] Use "chr" in CFString.py 2025-10-16 09:58:54 +00:00
synthetic [lldb] Fix StdUnorderedMapSynthProvider for GCC (#164251) 2025-10-29 09:04:22 +00:00
test
ptrace_example.c