43 Py_XDECREF (dis->
iter);
55 const char *
name = NULL;
67 if (!PyErr_Occurred ())
81 if (value_str == NULL)
88 self->next_raw_index++);
89 item.
reset (Py_BuildValue (
"(ss)", name_str.c_str (),
105 if (!PyArg_ParseTuple (item.
get (),
"sO", &
name, &py_v))
108 error (
_(
"Invalid item from the child list"));
113 if (vitem->
value == NULL)
117 self->next_raw_index++;
135 struct
varobj *var, PyObject *pyiter)
137 self->base.var = var;
139 self->base.next_raw_index = 0;
149 py_varobj_iter_new (struct
varobj *var, PyObject *pyiter)
154 py_varobj_iter_ctor (
self, var, pyiter);
174 if (children == NULL)
177 error (
_(
"Null value returned for children"));
180 iter = PyObject_GetIter (children.
get ());
184 error (
_(
"Could not get children iterator"));
187 py_iter = py_varobj_iter_new (var,
iter);
189 return &py_iter->
base;
struct varobj_item varobj_item
static const struct varobj_iter_ops py_varobj_iter_ops
std::unique_ptr< T, xfree_deleter< T > > unique_xmalloc_ptr
struct varobj_iter * py_varobj_get_iterator(struct varobj *var, PyObject *printer)
static void CPYCHECKER_STEALS_REFERENCE_TO_ARG(3)
int gdb_python_initialized
PyObject * gdbpy_children_cst
void gdbpy_print_stack(void)
struct value * convert_value_from_python(PyObject *obj)
PyObject * gdbpy_gdb_memory_error
std::string string_printf(const char *fmt,...)
gdb::unique_xmalloc_ptr< char > gdbpy_exception_to_string(PyObject *ptype, PyObject *pvalue)
static varobj_item * py_varobj_iter_next(struct varobj_iter *self)
static void py_varobj_iter_dtor(struct varobj_iter *self)
void error(const char *fmt,...)