New submission from Carsten Klein: Given an input module such as
class klass(object): """multi line comment continued on this line """ """single line comment""" """ Another multi line comment""" and implementing a custom ast.NodeVisitor such as import as class CustomVisitor(ast.NodeVisitor): def visit_ClassDef(self, node): for childNode in node.body: self.visit(childNode) def visit_Expr(self, node): print(node.col_offset) print(node.value.col_offset) and feeding it the compiled ast from the module above f = open('./module.py') source = f.read() node = ast.parse(source, mode = 'exec') visitor = CustomVisitor() visitor.visit(node) should yield -1/-1 for the docstring that is the first child node expression of the classdef body. it will, however, yield the correct col_offset of 4/4 for the single line docstring following the first one. the multi line docstring following that will again yield a -1/-1 col_offset. It believe that this behaviour is not correct and instead the col_offset should be 4 for both the expression node and its str value. ---------- components: Interpreter Core messages: 178444 nosy: carsten.kl...@axn-software.de priority: normal severity: normal status: open title: col_offset is -1 for multiline string expressions resembling docstrings type: enhancement versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16806> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com