From 7780f18678aeb553778633aeb50f41694f55bf27 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 9 Feb 2017 13:16:36 -0700 Subject: Turn gdbpy_ref into a template This turns gdbpy_ref into a template class, so that it can be used to wrap subclasses of PyObject. The default argument remains PyObject; and this necessitated renaming uses of "gdbpy_ref" to "gdbpy_ref<>". gdb/ChangeLog 2017-02-10 Tom Tromey * python/py-ref.h (gdbpy_ref_policy): Now a template. (gdbpy_ref): Now a template; allow subclasses of PyObject to be used. * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c, python/py-cmd.c, python/py-continueevent.c, python/py-event.c, python/py-exitedevent.c, python/py-finishbreakpoint.c, python/py-framefilter.c, python/py-function.c, python/py-inferior.c, python/py-infevents.c, python/py-linetable.c, python/py-newobjfileevent.c, python/py-param.c, python/py-prettyprint.c, python/py-ref.h, python/py-signalevent.c, python/py-stopevent.c, python/py-symbol.c, python/py-threadevent.c, python/py-type.c, python/py-unwind.c, python/py-utils.c, python/py-value.c, python/py-varobj.c, python/py-xmethods.c, python/python.c, varobj.c: Change gdbpy_ref to gdbpy_ref<>. --- gdb/python/py-function.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'gdb/python/py-function.c') diff --git a/gdb/python/py-function.c b/gdb/python/py-function.c index 6762a6d..0b2a934 100644 --- a/gdb/python/py-function.c +++ b/gdb/python/py-function.c @@ -38,14 +38,14 @@ static PyObject * convert_values_to_python (int argc, struct value **argv) { int i; - gdbpy_ref result (PyTuple_New (argc)); + gdbpy_ref<> result (PyTuple_New (argc)); if (result == NULL) return NULL; for (i = 0; i < argc; ++i) { - gdbpy_ref elt (value_to_value_object (argv[i])); + gdbpy_ref<> elt (value_to_value_object (argv[i])); if (elt == NULL) return NULL; PyTuple_SetItem (result.get (), i, elt.release ()); @@ -63,8 +63,8 @@ fnpy_call (struct gdbarch *gdbarch, const struct language_defn *language, be destroyed. */ gdbpy_enter enter_py (gdbarch, language); struct value *value; - gdbpy_ref result; - gdbpy_ref args (convert_values_to_python (argc, argv)); + gdbpy_ref<> result; + gdbpy_ref<> args (convert_values_to_python (argc, argv)); /* convert_values_to_python can return NULL on error. If we encounter this, do not call the function, but allow the Python -> @@ -74,8 +74,8 @@ fnpy_call (struct gdbarch *gdbarch, const struct language_defn *language, if (args != NULL) { - gdbpy_ref callable (PyObject_GetAttrString ((PyObject *) cookie, - "invoke")); + gdbpy_ref<> callable (PyObject_GetAttrString ((PyObject *) cookie, + "invoke")); if (callable == NULL) error (_("No method named 'invoke' in object.")); @@ -159,7 +159,7 @@ fnpy_init (PyObject *self, PyObject *args, PyObject *kwds) if (PyObject_HasAttrString (self, "__doc__")) { - gdbpy_ref ds_obj (PyObject_GetAttrString (self, "__doc__")); + gdbpy_ref<> ds_obj (PyObject_GetAttrString (self, "__doc__")); if (ds_obj != NULL) { if (gdbpy_is_string (ds_obj.get ())) -- cgit v1.1