On Tue, 3 Aug 2010 22:25:01 +1000 Nick Coghlan <ncogh...@gmail.com> wrote: > On Tue, Aug 3, 2010 at 1:40 PM, Eli Bendersky <eli...@gmail.com> wrote: > > The first print out correctly specifies the line "def foo" is in. However, > > the second one points to the line with "@dummydecorator" instead of "def > > bar". [Python 2.6] > > > > The side-effects of this behavior can be easily seen in the output of > > modules like trace and profile. Would you say it's normal, or could this be > > considered a bug? > > Since the decorator is as much a part of the function definition as > the def line is, I would say that it is correct (the name says > "firstlineno", not "deflineno").
That's debatable. Since writing: @b def a(): ... is equivalent to: def a(): ... a = b(a) and in the latter case co_firstlineno points to the "def a()" line. Furthermore, co_firstlineno is an attribute of the code object, not the function object, so it shouldn't ideally depend on whether a decorator was applied or not. Regards Antoine. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com