Re: RFC: prototype of C extensions using the Python limited API
Tom Tromey <[email protected]> Thu, 18 Jun 2026 14:46:09 -0600
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
Matthieu> The prototype is organized as follows:
Matthieu> - include/
Matthieu> - py-ref.hpp: copied from GDB. Addition of a clear() method in gdbpy_ref_policy.
Do we really need this?
What if gdb_py_ref is a subclass that adds a custom method instead?
I still haven't really read the code. It's kind of difficult in this
form.
Matthieu> + gdbpy_heap_type: generic logic for dynamically-allocated types
Matthieu> (tp_traverse, tp_clear, tp_dealloc)
I don't understand why these can't just be methods of the implementation
class, by which I mean the subclasses of PyObject. If needed we could
make an intermediary base class that interposes between the
implementation and PyObject like
struct intermediary : public PyObject {};
struct type_object : public intermediary { ... }; // eg
Matthieu> I don't expect a thorough review of all the code, but a
Matthieu> validation of the approach.
I'll try to send more next week.
Tom