Kaydet (Commit) 2dff991f authored tarafından Guido van Rossum's avatar Guido van Rossum

Give code objects a more useful representation.

üst 97f02772
......@@ -72,6 +72,23 @@ code_dealloc(co)
DEL(co);
}
static object *
code_repr(co)
codeobject *co;
{
char buf[500];
int lineno = -1;
char *p = GETSTRINGVALUE(co->co_code);
char *filename = "???";
if (*p == SET_LINENO)
lineno = (p[1] & 0xff) | ((p[2] & 0xff) << 8);
if (co->co_filename && is_stringobject(co->co_filename))
filename = getstringvalue(co->co_filename);
sprintf(buf, "<code object at %lx, file \"%.400s\", line %d>",
(long)co, filename, lineno);
return newstringobject(buf);
}
typeobject Codetype = {
OB_HEAD_INIT(&Typetype)
0,
......@@ -83,7 +100,7 @@ typeobject Codetype = {
code_getattr, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
code_repr, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment