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 <tom@tromey.com> * 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<>.
This commit is contained in:
parent
d4b0bb186e
commit
7780f18678
30 changed files with 260 additions and 234 deletions
|
@ -307,7 +307,7 @@ get_doc_string (PyObject *object, PyObject *attr)
|
|||
|
||||
if (PyObject_HasAttr (object, attr))
|
||||
{
|
||||
gdbpy_ref ds_obj (PyObject_GetAttr (object, attr));
|
||||
gdbpy_ref<> ds_obj (PyObject_GetAttr (object, attr));
|
||||
|
||||
if (ds_obj != NULL && gdbpy_is_string (ds_obj.get ()))
|
||||
{
|
||||
|
@ -329,7 +329,7 @@ static gdb::unique_xmalloc_ptr<char>
|
|||
call_doc_function (PyObject *obj, PyObject *method, PyObject *arg)
|
||||
{
|
||||
gdb::unique_xmalloc_ptr<char> data;
|
||||
gdbpy_ref result (PyObject_CallMethodObjArgs (obj, method, arg, NULL));
|
||||
gdbpy_ref<> result (PyObject_CallMethodObjArgs (obj, method, arg, NULL));
|
||||
|
||||
if (result == NULL)
|
||||
return NULL;
|
||||
|
@ -364,7 +364,7 @@ get_set_value (char *args, int from_tty,
|
|||
gdb::unique_xmalloc_ptr<char> set_doc_string;
|
||||
|
||||
gdbpy_enter enter_py (get_current_arch (), current_language);
|
||||
gdbpy_ref set_doc_func (PyString_FromString ("get_set_string"));
|
||||
gdbpy_ref<> set_doc_func (PyString_FromString ("get_set_string"));
|
||||
|
||||
if (set_doc_func == NULL)
|
||||
{
|
||||
|
@ -407,7 +407,7 @@ get_show_value (struct ui_file *file, int from_tty,
|
|||
gdb::unique_xmalloc_ptr<char> show_doc_string;
|
||||
|
||||
gdbpy_enter enter_py (get_current_arch (), current_language);
|
||||
gdbpy_ref show_doc_func (PyString_FromString ("get_show_string"));
|
||||
gdbpy_ref<> show_doc_func (PyString_FromString ("get_show_string"));
|
||||
|
||||
if (show_doc_func == NULL)
|
||||
{
|
||||
|
@ -417,7 +417,7 @@ get_show_value (struct ui_file *file, int from_tty,
|
|||
|
||||
if (PyObject_HasAttr (obj, show_doc_func.get ()))
|
||||
{
|
||||
gdbpy_ref val_obj (PyString_FromString (value));
|
||||
gdbpy_ref<> val_obj (PyString_FromString (value));
|
||||
|
||||
if (val_obj == NULL)
|
||||
{
|
||||
|
@ -586,7 +586,7 @@ compute_enum_values (parmpy_object *self, PyObject *enum_values)
|
|||
|
||||
for (i = 0; i < size; ++i)
|
||||
{
|
||||
gdbpy_ref item (PySequence_GetItem (enum_values, i));
|
||||
gdbpy_ref<> item (PySequence_GetItem (enum_values, i));
|
||||
|
||||
if (item == NULL)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue