Ensure that CodeAst nodes always start at (0, 0).
Previously the start was that of the first child node. From CPython 3.8.2, the range of an attribute access `(expr).blah` includes the leading parenthesis, and thus starts before `expr`. The range of kdev-python's Attribute node represents only the range of `blah`, and is calculated in an awkward way. When an attribute access of a parenthesized expression appeared at the start of a file, the start of the attribute range from CPython was before that of the CodeAst node (based on the start of `expr`) resulting in an incorrect range being calculated. This case is very unusual in real code, but fixes the tests. ;-)
parent
9cceeef5
Please register or sign in to comment