diff options
Diffstat (limited to 'Objects/frameobject.c')
-rw-r--r-- | Objects/frameobject.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Objects/frameobject.c b/Objects/frameobject.c index 6ab3a22950..1ac3d75257 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -547,6 +547,15 @@ frame_sizeof(PyFrameObject *f) PyDoc_STRVAR(sizeof__doc__, "F.__sizeof__() -> size of F in memory, in bytes"); +static PyObject * +frame_repr(PyFrameObject *f) +{ + int lineno = PyFrame_GetLineNumber(f); + return PyUnicode_FromFormat( + "<frame at %p, file %R, line %d, code %S>", + f, f->f_code->co_filename, lineno, f->f_code->co_name); +} + static PyMethodDef frame_methods[] = { {"clear", (PyCFunction)frame_clear, METH_NOARGS, clear__doc__}, @@ -565,7 +574,7 @@ PyTypeObject PyFrame_Type = { 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ - 0, /* tp_repr */ + (reprfunc)frame_repr, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ |