From 6cd67beaae58c9e870b79feea3cf74ffdf7a9b33 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 8 Nov 2016 16:18:24 -0700 Subject: Introduce gdbpy_enter_varobj and use it This introduces gdbpy_enter_varobj, a subclass of gdbpy_enter; then changes one function in py-varobj.c to use it. gdbpy_enter_varobj takes a varobj as an argument, similar to varobj_ensure_python_env. 2017-01-10 Tom Tromey * varobj.c (gdbpy_enter_varobj): New constructor. * python/python-internal.h (gdbpy_enter_varobj): New class. * python/py-varobj.c (py_varobj_get_iterator): Use gdbpy_enter_varobj. --- gdb/python/python-internal.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gdb/python/python-internal.h') diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index a3b9b74..41275bb 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -526,6 +526,18 @@ class gdbpy_enter PyObject *m_error_type, *m_error_value, *m_error_traceback; }; +/* Like gdbpy_enter, but takes a varobj. This is a subclass just to + make constructor delegation a little nicer. */ +class gdbpy_enter_varobj : public gdbpy_enter +{ + public: + + /* This is defined in varobj.c, where it can access varobj + internals. */ + gdbpy_enter_varobj (const struct varobj *var); + +}; + struct cleanup *ensure_python_env (struct gdbarch *gdbarch, const struct language_defn *language); -- cgit v1.1