summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_inspect.py2
-rw-r--r--Misc/NEWS2
-rw-r--r--Python/ast.c6
3 files changed, 9 insertions, 1 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 35a3b06..794e4fa 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -239,7 +239,7 @@ class TestDecorators(GetSourceBase):
fodderFile = mod2
def test_wrapped_decorator(self):
- self.assertSourceEqual(mod2.wrapped, 16, 17)
+ self.assertSourceEqual(mod2.wrapped, 14, 17)
def test_replacing_decorator(self):
self.assertSourceEqual(mod2.gone, 9, 10)
diff --git a/Misc/NEWS b/Misc/NEWS
index 1a3ae21..3d9f418 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -363,6 +363,8 @@ Core and Builtins
Library
-------
+- inspect.getsource() includes the decorators again.
+
- Issue #1916. Added isgenerator() and isgeneratorfunction() to inspect.py.
- #1224: Fixed bad url parsing when path begins with double slash.
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 @@ ast_for_decorated(struct compiling *c, const node *n)
} 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;
}