[issue30497] Line number of docstring in AST

2017-05-29 Thread Steven Myint
Steven Myint added the comment: I think what you guys have brought up makes sense. Now that you mention it, I see that pyflakes gives the wrong line number if an escaped newline appears after the doctests. Though, it works fine if the escaped newline appears before it.

[issue30497] Line number of docstring in AST

2017-05-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Even if the line number of a docstring is known, it is not easy to determine the line number corresponding to the particular line in a docstring if it contains backslashes following by newline. '''foo bar ''' and '''\ foo bar ''' are equal strings, but

[issue30497] Line number of docstring in AST

2017-05-29 Thread STINNER Victor
STINNER Victor added the comment: > We use this feature in pyflakes (https://github.com/PyCQA/pyflakes/issues/271) AST is not designed to be 1-to-1 .py source to AST mapping. If you need the exact line number, you might use your own parser. I don't know what is using pylint for example? There

[issue30497] Line number of docstring in AST

2017-05-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: It is not possible anymore. Why you need the line number of a docstring? The closest approximation is between node.lineno and node.body[0].lineno (if node.body is not empty). -- nosy: +haypo, inada.naoki, serhiy.storchaka

[issue30497] Line number of docstring in AST

2017-05-28 Thread Steven Myint
New submission from Steven Myint: Since #29463, it is no longer obvious how to get the line number of a docstring in the AST: import ast x = ast.parse('''\ def foo(): """This is a docstring.""" ''') # In Python 3.6, the docstring and line number would be: