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> |
||
|---|---|---|
| .. | ||
| customization | ||
| darwin/heap_find | ||
| functions | ||
| interposing/darwin/fd_interposing | ||
| lookup | ||
| plugins/commands | ||
| python | ||
| scripting | ||
| summaries | ||
| synthetic | ||
| test | ||
| ptrace_example.c | ||