Patch from Georg Brandl: Fix co_lineno of decorated function and class objects. If you see an error in test_inspect please delete all pyc files.
diff --git a/Python/ast.c b/Python/ast.c
index 97486c5..8b68182 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1015,6 +1015,12 @@
} else if (TYPE(CHILD(n, 1)) == classdef) {
thing = ast_for_classdef(c, CHILD(n, 1), decorator_seq);
}
+ /* we count the decorators in when talking about the class' or
+ * function's line number */
+ if (thing) {
+ thing->lineno = LINENO(n);
+ thing->col_offset = n->n_col_offset;
+ }
return thing;
}