Skip to content
  • Francis Herne's avatar
    Initial support for CPython 3.9 · 05e95cac
    Francis Herne authored
    This reformats our AST to match that introduced upstream by
     https://bugs.python.org/issue34822 and adjusts the conversion from
     older Python versions' AST to match.
    
    ExtendedSliceAst is removed, in favour of a TupleAst containing
     SliceAsts and/or other expressions.
    
    IndexAst is removed, instead non-slice index expressions are direct
     children of SubscriptAst.
    
    SliceAst and EllipsisAst are now subclasses of ExpressionAst. In the
     latter case I don't understand how it wasn't broken before.
    
    ---
    
    The stdlib docfiles are not updated.
     There aren't many changes to builtins in 3.9, but we do need a system to
     re-generate these - perhaps based on Typeshed.
    
    In CPython 3.8 and 3.9 there are several changes to the parser that
     could be useful to us -- particularly end_lineno and end_col_offset.
     This patch doesn't attempt to take advantage of them.
    
    BUG: 419290
    05e95cac