Upgrade RustPython to access ranged names (#5194)

## Summary

In https://github.com/astral-sh/RustPython-Parser/pull/8, we modified
RustPython to include ranges for any identifiers that aren't
`Expr::Name` (which already has an identifier).

For example, the `e` in `except ValueError as e` was previously
un-ranged. To extract its range, we had to do some lexing of our own.
This change should improve performance and let us remove a bunch of
code.

## Test Plan

`cargo test`
This commit is contained in:
Charlie Marsh 2023-06-20 11:43:38 -04:00 committed by GitHub
parent 17f1ecd56e
commit 6331598511
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 86 additions and 57 deletions

View file

@ -1191,7 +1191,7 @@ impl<'a> Generator<'a> {
self.p("*");
self.unparse_expr(value, precedence::MAX);
}
Expr::Name(ast::ExprName { id, .. }) => self.p_id(id),
Expr::Name(ast::ExprName { id, .. }) => self.p(id.as_str()),
Expr::List(ast::ExprList { elts, .. }) => {
self.p("[");
let mut first = true;