gh-118465: Add __firstlineno__ attribute to class#118475
Conversation
It is set by compiler with the line number of the first line of the class definition.
Co-authored-by: Mark Shannon <mark@hotpy.org>
|
It is possible to construct classes without def f():
__firstlineno__ = 1
class X:
nonlocal __firstlineno__
return X
print(f().__firstlineno__) # AttributeErrorOr: class Y:
global __firstlineno__
print(Y.__firstlineno__) # AttributeErrorThis is obviously an extreme edge case though. You could also do this by manipulating Is it worth it to make |
Sorry, something went wrong.
|
Good point. I thought that it is the same as for We can try to set I think that for backward compatibility |
Sorry, something went wrong.
It is set by compiler with the line number of the first line of the class definition.
📚 Documentation preview 📚: https://cpython-previews--118475.org.readthedocs.build/