From ac1f6bd73ce38930d7844a9d2829d3be2b80a112 Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:45:01 -0500 Subject: [PATCH 01/15] Include decorators in `Class` and `FunctionDef` range --- parser/src/python.lalrpop | 4 +- parser/src/python.rs | 120 ++++++++++++++++++++++++++++++++++---- 2 files changed, 112 insertions(+), 12 deletions(-) diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 272cf97e..0d170f67 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -965,7 +965,7 @@ WithItem: ast::WithItem = { }; FuncDef: ast::Stmt = { - "def" " >)?> ":" => { + "def" " >)?> ":" => { let args = Box::new(args); let returns = r.map(|x| Box::new(x)); let end_location = body.last().unwrap().end(); @@ -1125,7 +1125,7 @@ KwargParameter: Option> = { }; ClassDef: ast::Stmt = { - "class" ":" => { + "class" ":" => { let (bases, keywords) = match a { Some((_, arg, _)) => (arg.args, arg.keywords), None => (vec![], vec![]), diff --git a/parser/src/python.rs b/parser/src/python.rs index a0b29e80..7f30e238 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: c39f9711066c6f94aaf93d62d86b41efb4242ddcdcbe5b9d35e5a77a14ff22d6 +// sha3: f95a98ddc92e7f056dba3f921c7c9b36d7725b180106324fd00b6157a1c36fe7 use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -31052,8 +31052,8 @@ fn __action156< #[allow(clippy::too_many_arguments)] fn __action157< >( - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, location, _): (TextSize, TextSize, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -31139,6 +31139,7 @@ fn __action161< #[allow(clippy::too_many_arguments)] fn __action162< >( +<<<<<<< HEAD (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), (_, a, _): (TextSize, core::option::Option, TextSize), @@ -31170,7 +31171,10 @@ fn __action163< fn __action164< >( (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), +======= +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) (_, location, _): (TextSize, TextSize, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), (_, a, _): (TextSize, core::option::Option<(token::Tok, ArgumentList, token::Tok)>, TextSize), @@ -37855,8 +37859,8 @@ fn __action638< #[allow(clippy::too_many_arguments)] fn __action639< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, token::Tok, TextSize), __4: (TextSize, ast::Identifier, TextSize), @@ -37888,8 +37892,8 @@ fn __action639< #[allow(clippy::too_many_arguments)] fn __action640< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, ast::Arguments, TextSize), @@ -38058,8 +38062,8 @@ fn __action645< #[allow(clippy::too_many_arguments)] fn __action646< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, token::Tok, TextSize), @@ -38091,8 +38095,8 @@ fn __action646< #[allow(clippy::too_many_arguments)] fn __action647< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, token::Tok, TextSize), @@ -40360,16 +40364,27 @@ fn __action740< __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { +<<<<<<< HEAD let __start0 = __0.2; let __end0 = __1.0; let __temp0 = __action373( +======= + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action371( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); +<<<<<<< HEAD __action646( __0, +======= + __action644( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, + __0, __1, __2, __3, @@ -40381,6 +40396,69 @@ fn __action740< } #[allow(clippy::too_many_arguments)] +<<<<<<< HEAD +======= +fn __action739< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action371( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action645( + __temp0, + __0, + __1, + __2, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action740< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, Vec<(ast::Identifier, ast::Pattern)>, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, TextSize, TextSize), +) -> ast::Pattern +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action371( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action567( + __temp0, + __0, + __1, + __2, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) fn __action741< >( __0: (TextSize, alloc::vec::Vec, TextSize), @@ -41406,16 +41484,27 @@ fn __action780< __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { +<<<<<<< HEAD let __start0 = __0.2; let __end0 = __1.0; let __temp0 = __action373( +======= + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action371( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); +<<<<<<< HEAD __action639( __0, +======= + __action637( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, + __0, __1, __2, __3, @@ -41438,16 +41527,27 @@ fn __action781< __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { +<<<<<<< HEAD let __start0 = __0.2; let __end0 = __1.0; let __temp0 = __action373( +======= + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action371( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); +<<<<<<< HEAD __action640( __0, +======= + __action638( +>>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, + __0, __1, __2, __3, From f50d06a33f3c8221a4e4f918bc8c3e237baf04e3 Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:46:17 -0500 Subject: [PATCH 02/15] Add test --- parser/src/parser.rs | 18 +++++ ...rser__parser__tests__decorator_ranges.snap | 72 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap diff --git a/parser/src/parser.rs b/parser/src/parser.rs index ba643437..bdeb9206 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -1099,5 +1099,23 @@ def args_to_tuple(*args: *Ts) -> Tuple[*Ts]: ... fn test_parse_identifier() { let i = ast::Identifier::parse_without_path("test").unwrap(); assert_eq!(i.as_str(), "test"); + + #[cfg(not(feature = "all-nodes-with-ranges"))] + fn decorator_ranges() { + let parse_ast = parse_program( + r#" +@my_decorator +def test(): + pass + +@class_decorator +class Abcd: + pass +"# + .trim(), + "", + ) + .unwrap(); + insta::assert_debug_snapshot!(parse_ast); } } diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap b/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap new file mode 100644 index 00000000..41910455 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap @@ -0,0 +1,72 @@ +--- +source: parser/src/parser.rs +expression: parse_ast +--- +[ + FunctionDef( + StmtFunctionDef { + range: 0..34, + name: Identifier( + "test", + ), + args: Arguments { + range: (), + posonlyargs: [], + args: [], + vararg: None, + kwonlyargs: [], + kw_defaults: [], + kwarg: None, + defaults: [], + }, + body: [ + Pass( + StmtPass { + range: 30..34, + }, + ), + ], + decorator_list: [ + Name( + ExprName { + range: 1..13, + id: Identifier( + "my_decorator", + ), + ctx: Load, + }, + ), + ], + returns: None, + type_comment: None, + }, + ), + ClassDef( + StmtClassDef { + range: 40..77, + name: Identifier( + "Abcd", + ), + bases: [], + keywords: [], + body: [ + Pass( + StmtPass { + range: 73..77, + }, + ), + ], + decorator_list: [ + Name( + ExprName { + range: 41..56, + id: Identifier( + "class_decorator", + ), + ctx: Load, + }, + ), + ], + }, + ), +] From 77d0d4470e31468b1cbd56d8eaed0dbe516cfb5c Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:49:09 -0500 Subject: [PATCH 03/15] Include argument parentheses in range (#5) --- parser/src/function.rs | 7 +- parser/src/parser.rs | 2 +- parser/src/python.lalrpop | 8 +- parser/src/python.rs | 120 ++---------------- ...__tests__function_no_args_with_ranges.snap | 36 ++++++ ..._tests__function_pos_args_with_ranges.snap | 61 +++++++++ 6 files changed, 124 insertions(+), 110 deletions(-) create mode 100644 parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap create mode 100644 parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap diff --git a/parser/src/function.rs b/parser/src/function.rs index ec6d53bf..2fe262bb 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -136,7 +136,6 @@ mod tests { use super::*; use crate::{ast, parser::ParseErrorType, Parse}; - #[cfg(feature = "all-nodes-with-ranges")] macro_rules! function_and_lambda { ($($name:ident: $code:expr,)*) => { $( @@ -149,6 +148,12 @@ mod tests { } } + #[cfg(feature = "all-nodes-with-ranges")] + function_and_lambda! { + test_function_no_args_with_ranges: "def f(): pass", + test_function_pos_args_with_ranges: "def f(a, b, c): pass", + } + #[cfg(feature = "all-nodes-with-ranges")] function_and_lambda! { test_function_no_args: "def f(): pass", diff --git a/parser/src/parser.rs b/parser/src/parser.rs index bdeb9206..1bd83c2e 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -1107,7 +1107,7 @@ def args_to_tuple(*args: *Ts) -> Tuple[*Ts]: ... @my_decorator def test(): pass - + @class_decorator class Abcd: pass diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 0d170f67..63191a58 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -981,8 +981,14 @@ FuncDef: ast::Stmt = { Parameters: ast::Arguments = { "(" )?> ")" =>? { a.as_ref().map(validate_arguments).transpose()?; + + let range = optional_range(location, end_location); let args = a - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .map(|mut arguments| { + arguments.range = range; + arguments + }) + .unwrap_or_else(|| ast::Arguments::empty(range)); Ok(args) } diff --git a/parser/src/python.rs b/parser/src/python.rs index 7f30e238..84538802 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: f95a98ddc92e7f056dba3f921c7c9b36d7725b180106324fd00b6157a1c36fe7 +// sha3: 78e4fe2d25728ae4a1a411a48ffdc7845d05f16bacd09d23349a56b99a3eeaf4 use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -31088,8 +31088,14 @@ fn __action158< { { a.as_ref().map(validate_arguments).transpose()?; + + let range = optional_range(location, end_location); let args = a - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .map(|mut arguments| { + arguments.range = range; + arguments + }) + .unwrap_or_else(|| ast::Arguments::empty(range)); Ok(args) } @@ -31139,7 +31145,6 @@ fn __action161< #[allow(clippy::too_many_arguments)] fn __action162< >( -<<<<<<< HEAD (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), (_, a, _): (TextSize, core::option::Option, TextSize), @@ -31170,9 +31175,6 @@ fn __action163< #[allow(clippy::too_many_arguments)] fn __action164< >( - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), -======= ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) (_, location, _): (TextSize, TextSize, TextSize), (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -40364,25 +40366,14 @@ fn __action740< __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { -<<<<<<< HEAD - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( -======= let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action371( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) + let __temp0 = __action373( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); -<<<<<<< HEAD __action646( - __0, -======= - __action644( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, __0, __1, @@ -40396,9 +40387,7 @@ fn __action740< } #[allow(clippy::too_many_arguments)] -<<<<<<< HEAD -======= -fn __action739< +fn __action741< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40409,75 +40398,14 @@ fn __action739< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action371( - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action645( - __temp0, - __0, - __1, - __2, - __3, - __4, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action740< ->( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, Vec, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, Vec<(ast::Identifier, ast::Pattern)>, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, TextSize, TextSize), -) -> ast::Pattern -{ - let __start0 = __0.0; - let __end0 = __0.0; - let __temp0 = __action371( - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action567( - __temp0, - __0, - __1, - __2, - __3, - __4, - __5, - __6, - __7, - ) -} - -#[allow(clippy::too_many_arguments)] ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) -fn __action741< ->( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ast::Suite, TextSize), -) -> ast::Stmt -{ - let __start0 = __0.2; - let __end0 = __1.0; let __temp0 = __action373( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); __action647( - __0, __temp0, + __0, __1, __2, __3, @@ -41484,25 +41412,14 @@ fn __action780< __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { -<<<<<<< HEAD - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( -======= let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action371( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) + let __temp0 = __action373( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); -<<<<<<< HEAD __action639( - __0, -======= - __action637( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, __0, __1, @@ -41527,25 +41444,14 @@ fn __action781< __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { -<<<<<<< HEAD - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( -======= let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action371( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) + let __temp0 = __action373( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); -<<<<<<< HEAD __action640( - __0, -======= - __action638( ->>>>>>> 25cc1da (Include decorators in `Class` and `FunctionDef` range) __temp0, __0, __1, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap new file mode 100644 index 00000000..d1bab55e --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap @@ -0,0 +1,36 @@ +--- +source: parser/src/function.rs +expression: parse_ast +--- +Ok( + [ + FunctionDef( + StmtFunctionDef { + range: 0..13, + name: Identifier( + "f", + ), + args: Arguments { + range: 5..7, + posonlyargs: [], + args: [], + vararg: None, + kwonlyargs: [], + kw_defaults: [], + kwarg: None, + defaults: [], + }, + body: [ + Pass( + StmtPass { + range: 9..13, + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + }, + ), + ], +) diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap new file mode 100644 index 00000000..f1de4fda --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap @@ -0,0 +1,61 @@ +--- +source: parser/src/function.rs +expression: parse_ast +--- +Ok( + [ + FunctionDef( + StmtFunctionDef { + range: 0..20, + name: Identifier( + "f", + ), + args: Arguments { + range: 5..14, + posonlyargs: [], + args: [ + Arg { + range: 6..7, + arg: Identifier( + "a", + ), + annotation: None, + type_comment: None, + }, + Arg { + range: 9..10, + arg: Identifier( + "b", + ), + annotation: None, + type_comment: None, + }, + Arg { + range: 12..13, + arg: Identifier( + "c", + ), + annotation: None, + type_comment: None, + }, + ], + vararg: None, + kwonlyargs: [], + kw_defaults: [], + kwarg: None, + defaults: [], + }, + body: [ + Pass( + StmtPass { + range: 16..20, + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + }, + ), + ], +) From 21122bff9713c5b15e14e16c58b8acdd921d317b Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:50:47 -0500 Subject: [PATCH 04/15] Add `Decorator` node (#7) --- ast-pyo3/src/gen/to_py_ast.rs | 41 + ast-pyo3/src/gen/wrapper_located.rs | 34 + ast-pyo3/src/gen/wrapper_ranged.rs | 34 + ast/Python.asdl | 10 +- ast/src/gen/fold.rs | 25 + ast/src/gen/generic.rs | 25 +- ast/src/gen/located.rs | 15 + ast/src/gen/ranged.rs | 6 + ast/src/gen/visitor.rs | 10 +- parser/src/parser.rs | 6 +- parser/src/python.lalrpop | 6 +- parser/src/python.rs | 3874 ++++++++++++++------------- 12 files changed, 2158 insertions(+), 1928 deletions(-) diff --git a/ast-pyo3/src/gen/to_py_ast.rs b/ast-pyo3/src/gen/to_py_ast.rs index c3288f28..93ffac3a 100644 --- a/ast-pyo3/src/gen/to_py_ast.rs +++ b/ast-pyo3/src/gen/to_py_ast.rs @@ -944,6 +944,14 @@ impl PyNode for ast::TypeIgnoreTypeIgnore { } } +impl PyNode for ast::Decorator { + #[inline] + fn py_type_cache() -> &'static OnceCell<(Py, Py)> { + static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); + &PY_TYPE + } +} + impl ToPyAst for ast::ExprContext { #[inline] fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { @@ -2605,6 +2613,22 @@ impl ToPyAst for ast::TypeIgnoreTypeIgnore { } } +impl ToPyAst for ast::Decorator { + #[inline] + fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { + let cache = Self::py_type_cache().get().unwrap(); + + let Self { + expression, + range: _range, + } = self; + + let instance = Py::::as_ref(&cache.0, py).call1((expression.to_py_ast(py)?,))?; + + Ok(instance) + } +} + impl ToPyAst for ast::Mod { #[inline] fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { @@ -4717,6 +4741,22 @@ impl ToPyAst for ast::TypeIgnoreTypeIgnore { } } +impl ToPyAst for ast::Decorator { + #[inline] + fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { + let cache = Self::py_type_cache().get().unwrap(); + + let Self { + expression, + range: _range, + } = self; + + let instance = Py::::as_ref(&cache.0, py).call1((expression.to_py_ast(py)?,))?; + + Ok(instance) + } +} + fn init_types(py: Python) -> PyResult<()> { let ast_module = PyModule::import(py, "_ast")?; cache_py_type::(ast_module)?; @@ -4837,5 +4877,6 @@ fn init_types(py: Python) -> PyResult<()> { cache_py_type::(ast_module)?; cache_py_type::(ast_module)?; cache_py_type::(ast_module)?; + cache_py_type::(ast_module)?; Ok(()) } diff --git a/ast-pyo3/src/gen/wrapper_located.rs b/ast-pyo3/src/gen/wrapper_located.rs index 0aebc63a..9890414f 100644 --- a/ast-pyo3/src/gen/wrapper_located.rs +++ b/ast-pyo3/src/gen/wrapper_located.rs @@ -3993,6 +3993,39 @@ impl TypeIgnoreTypeIgnore { } } +#[pyclass(module="rustpython_ast.located", name="_decorator", extends=super::Ast, frozen)] +#[derive(Clone, Debug)] +pub struct Decorator(pub &'static ast::Decorator); + +impl From<&'static ast::Decorator> for Decorator { + fn from(node: &'static ast::Decorator) -> Self { + Decorator(node) + } +} + +impl ToPyObject for Decorator { + fn to_object(&self, py: Python) -> PyObject { + let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); + Py::new(py, initializer).unwrap().into_py(py) + } +} + +impl ToPyWrapper for ast::Decorator { + #[inline] + fn to_py_wrapper(&'static self, py: Python) -> PyResult> { + Ok(Decorator(self).to_object(py)) + } +} + +#[pymethods] +impl Decorator { + #[getter] + #[inline] + fn get_expression(&self, py: Python) -> PyResult { + self.0.expression.to_py_wrapper(py) + } +} + impl ToPyWrapper for ast::ExprContext { #[inline] fn to_py_wrapper(&self, py: Python) -> PyResult> { @@ -4409,5 +4442,6 @@ pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { super::init_type::(py, m)?; super::init_type::(py, m)?; super::init_type::(py, m)?; + super::init_type::(py, m)?; Ok(()) } diff --git a/ast-pyo3/src/gen/wrapper_ranged.rs b/ast-pyo3/src/gen/wrapper_ranged.rs index 8a405c2a..4348d509 100644 --- a/ast-pyo3/src/gen/wrapper_ranged.rs +++ b/ast-pyo3/src/gen/wrapper_ranged.rs @@ -3993,6 +3993,39 @@ impl TypeIgnoreTypeIgnore { } } +#[pyclass(module="rustpython_ast.ranged", name="_decorator", extends=super::Ast, frozen)] +#[derive(Clone, Debug)] +pub struct Decorator(pub &'static ast::Decorator); + +impl From<&'static ast::Decorator> for Decorator { + fn from(node: &'static ast::Decorator) -> Self { + Decorator(node) + } +} + +impl ToPyObject for Decorator { + fn to_object(&self, py: Python) -> PyObject { + let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); + Py::new(py, initializer).unwrap().into_py(py) + } +} + +impl ToPyWrapper for ast::Decorator { + #[inline] + fn to_py_wrapper(&'static self, py: Python) -> PyResult> { + Ok(Decorator(self).to_object(py)) + } +} + +#[pymethods] +impl Decorator { + #[getter] + #[inline] + fn get_expression(&self, py: Python) -> PyResult { + self.0.expression.to_py_wrapper(py) + } +} + pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { super::init_module(py, m)?; super::init_type::(py, m)?; @@ -4113,5 +4146,6 @@ pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { super::init_type::(py, m)?; super::init_type::(py, m)?; super::init_type::(py, m)?; + super::init_type::(py, m)?; Ok(()) } diff --git a/ast/Python.asdl b/ast/Python.asdl index e9423a7c..f8217eb5 100644 --- a/ast/Python.asdl +++ b/ast/Python.asdl @@ -1,5 +1,5 @@ -- ASDL's 4 builtin types are: --- identifier, int, string, constant +-- identifier, int, string, constant, decorator module Python { @@ -9,17 +9,17 @@ module Python | FunctionType(expr* argtypes, expr returns) stmt = FunctionDef(identifier name, arguments args, - stmt* body, expr* decorator_list, expr? returns, + stmt* body, decorator* decorator_list, expr? returns, string? type_comment) | AsyncFunctionDef(identifier name, arguments args, - stmt* body, expr* decorator_list, expr? returns, + stmt* body, decorator* decorator_list, expr? returns, string? type_comment) | ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, - expr* decorator_list) + decorator* decorator_list) | Return(expr? value) | Delete(expr* targets) @@ -142,4 +142,6 @@ module Python attributes (int lineno, int col_offset, int end_lineno, int end_col_offset) type_ignore = TypeIgnore(int lineno, string tag) + + decorator = (expr expression) } diff --git a/ast/src/gen/fold.rs b/ast/src/gen/fold.rs index 5fe48e90..08e64594 100644 --- a/ast/src/gen/fold.rs +++ b/ast/src/gen/fold.rs @@ -507,6 +507,12 @@ pub trait Fold { ) -> Result, Self::Error> { fold_type_ignore_type_ignore(self, node) } + fn fold_decorator( + &mut self, + node: Decorator, + ) -> Result, Self::Error> { + fold_decorator(self, node) + } fn fold_arg_with_default( &mut self, node: ArgWithDefault, @@ -2791,6 +2797,25 @@ pub fn fold_type_ignore_type_ignore + ?Sized>( let range = folder.map_user_cfg(range, context)?; Ok(TypeIgnoreTypeIgnore { lineno, tag, range }) } +impl Foldable for Decorator { + type Mapped = Decorator; + fn fold + ?Sized>( + self, + folder: &mut F, + ) -> Result { + folder.fold_decorator(self) + } +} +pub fn fold_decorator + ?Sized>( + #[allow(unused)] folder: &mut F, + node: Decorator, +) -> Result, F::Error> { + let Decorator { expression, range } = node; + let context = folder.will_map_user_cfg(&range); + let expression = Foldable::fold(expression, folder)?; + let range = folder.map_user_cfg(range, context)?; + Ok(Decorator { expression, range }) +} impl Foldable for ArgWithDefault { type Mapped = ArgWithDefault; fn fold + ?Sized>( diff --git a/ast/src/gen/generic.rs b/ast/src/gen/generic.rs index 3b193ec2..6a9ee7dc 100644 --- a/ast/src/gen/generic.rs +++ b/ast/src/gen/generic.rs @@ -23,6 +23,7 @@ pub enum Ast { MatchCase(MatchCase), Pattern(Pattern), TypeIgnore(TypeIgnore), + Decorator(Decorator), } impl Node for Ast { const NAME: &'static str = "AST"; @@ -137,6 +138,12 @@ impl From> for Ast { } } +impl From> for Ast { + fn from(node: Decorator) -> Self { + Ast::Decorator(node) + } +} + /// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) #[derive(Clone, Debug, PartialEq, is_macro::Is)] pub enum Mod { @@ -307,7 +314,7 @@ pub struct StmtFunctionDef { pub name: Identifier, pub args: Box>, pub body: Vec>, - pub decorator_list: Vec>, + pub decorator_list: Vec>, pub returns: Option>>, pub type_comment: Option, } @@ -341,7 +348,7 @@ pub struct StmtAsyncFunctionDef { pub name: Identifier, pub args: Box>, pub body: Vec>, - pub decorator_list: Vec>, + pub decorator_list: Vec>, pub returns: Option>>, pub type_comment: Option, } @@ -376,7 +383,7 @@ pub struct StmtClassDef { pub bases: Vec>, pub keywords: Vec>, pub body: Vec>, - pub decorator_list: Vec>, + pub decorator_list: Vec>, } impl Node for StmtClassDef { @@ -3074,6 +3081,18 @@ impl Node for TypeIgnore { const FIELD_NAMES: &'static [&'static str] = &[]; } +/// See also [decorator](https://docs.python.org/3/library/ast.html#ast.decorator) +#[derive(Clone, Debug, PartialEq)] +pub struct Decorator { + pub range: OptionalRange, + pub expression: Expr, +} + +impl Node for Decorator { + const NAME: &'static str = "decorator"; + const FIELD_NAMES: &'static [&'static str] = &["expression"]; +} + /// An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. /// This form also has advantage to implement pre-order traverse. /// `defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. diff --git a/ast/src/gen/located.rs b/ast/src/gen/located.rs index 63a7b474..b80b7163 100644 --- a/ast/src/gen/located.rs +++ b/ast/src/gen/located.rs @@ -1367,6 +1367,21 @@ impl LocatedMut for TypeIgnore { } } +pub type Decorator = crate::generic::Decorator; + +#[cfg(feature = "all-nodes-with-ranges")] +impl Located for Decorator { + fn range(&self) -> SourceRange { + self.range + } +} +#[cfg(feature = "all-nodes-with-ranges")] +impl LocatedMut for Decorator { + fn range_mut(&mut self) -> &mut SourceRange { + &mut self.range + } +} + pub type Arguments = crate::generic::Arguments; #[cfg(feature = "all-nodes-with-ranges")] diff --git a/ast/src/gen/ranged.rs b/ast/src/gen/ranged.rs index c6a2ea35..51bb9c7a 100644 --- a/ast/src/gen/ranged.rs +++ b/ast/src/gen/ranged.rs @@ -496,6 +496,12 @@ impl Ranged for crate::TypeIgnore { } } +#[cfg(feature = "all-nodes-with-ranges")] +impl Ranged for crate::generic::Decorator { + fn range(&self) -> TextRange { + self.range + } +} #[cfg(feature = "all-nodes-with-ranges")] impl Ranged for crate::generic::Arguments { fn range(&self) -> TextRange { diff --git a/ast/src/gen/visitor.rs b/ast/src/gen/visitor.rs index af5fcabe..b7be1122 100644 --- a/ast/src/gen/visitor.rs +++ b/ast/src/gen/visitor.rs @@ -48,7 +48,7 @@ pub trait Visitor { self.visit_stmt(value); } for value in node.decorator_list { - self.visit_expr(value); + self.visit_decorator(value); } if let Some(value) = node.returns { self.visit_expr(*value); @@ -66,7 +66,7 @@ pub trait Visitor { self.visit_stmt(value); } for value in node.decorator_list { - self.visit_expr(value); + self.visit_decorator(value); } if let Some(value) = node.returns { self.visit_expr(*value); @@ -86,7 +86,7 @@ pub trait Visitor { self.visit_stmt(value); } for value in node.decorator_list { - self.visit_expr(value); + self.visit_decorator(value); } } fn visit_stmt_return(&mut self, node: StmtReturn) { @@ -810,4 +810,8 @@ pub trait Visitor { self.visit_pattern(value); } } + fn visit_decorator(&mut self, node: Decorator) { + self.generic_visit_decorator(node) + } + fn generic_visit_decorator(&mut self, node: Decorator) {} } diff --git a/parser/src/parser.rs b/parser/src/parser.rs index 1bd83c2e..95e740cb 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -1099,8 +1099,10 @@ def args_to_tuple(*args: *Ts) -> Tuple[*Ts]: ... fn test_parse_identifier() { let i = ast::Identifier::parse_without_path("test").unwrap(); assert_eq!(i.as_str(), "test"); - - #[cfg(not(feature = "all-nodes-with-ranges"))] + } + + #[test] + #[cfg(feature = "all-nodes-with-ranges")] fn decorator_ranges() { let parse_ast = parse_program( r#" diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 63191a58..b1401d45 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -1151,9 +1151,9 @@ ClassDef: ast::Stmt = { }; // Decorators: -Decorator: ast::Expr = { - "@" "\n" => { - p +Decorator: ast::Decorator = { + "@" "\n" => { + ast::Decorator { range: optional_range(location, end_location), expression: p } }, }; diff --git a/parser/src/python.rs b/parser/src/python.rs index 84538802..dea672f3 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: 78e4fe2d25728ae4a1a411a48ffdc7845d05f16bacd09d23349a56b99a3eeaf4 +// sha3: 92ca230320ea7accf7008dbd11a0a45bbf94a004e6e869cf44e6486fe8f0216f use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -94,37 +94,39 @@ mod __parse__Top { Variant52(core::option::Option>), Variant53(ast::CmpOp), Variant54(ast::Constant), - Variant55((Option>, ast::Expr)), - Variant56((ast::Expr, ast::Expr)), - Variant57(Vec<(Option>, ast::Expr)>), - Variant58(core::option::Option>, ast::Expr)>>), - Variant59(ast::Arg), - Variant60(core::option::Option), - Variant61(ast::ExceptHandler), - Variant62(alloc::vec::Vec), - Variant63(core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>), - Variant64(ast::Alias), - Variant65(Vec), - Variant66(ast::Int), - Variant67(alloc::vec::Vec), - Variant68((Option, Option)), - Variant69(ast::MatchCase), - Variant70(alloc::vec::Vec), - Variant71((ast::Identifier, ast::Pattern)), - Variant72((ast::Expr, ast::Pattern)), - Variant73(Vec), - Variant74(Vec<(ast::Identifier, ast::Pattern)>), - Variant75(Vec<(ast::Expr, ast::Pattern)>), - Variant76(Vec), - Variant77((Vec, Vec)), - Variant78(core::option::Option), - Variant79(ast::Comprehension), - Variant80(alloc::vec::Vec), - Variant81(Option), - Variant82(core::option::Option>), - Variant83(Vec), - Variant84(ast::Mod), - Variant85(ast::UnaryOp), + Variant55(ast::Decorator), + Variant56(alloc::vec::Vec), + Variant57((Option>, ast::Expr)), + Variant58((ast::Expr, ast::Expr)), + Variant59(Vec<(Option>, ast::Expr)>), + Variant60(core::option::Option>, ast::Expr)>>), + Variant61(ast::Arg), + Variant62(core::option::Option), + Variant63(ast::ExceptHandler), + Variant64(alloc::vec::Vec), + Variant65(core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>), + Variant66(ast::Alias), + Variant67(Vec), + Variant68(ast::Int), + Variant69(alloc::vec::Vec), + Variant70((Option, Option)), + Variant71(ast::MatchCase), + Variant72(alloc::vec::Vec), + Variant73((ast::Identifier, ast::Pattern)), + Variant74((ast::Expr, ast::Pattern)), + Variant75(Vec), + Variant76(Vec<(ast::Identifier, ast::Pattern)>), + Variant77(Vec<(ast::Expr, ast::Pattern)>), + Variant78(Vec), + Variant79((Vec, Vec)), + Variant80(core::option::Option), + Variant81(ast::Comprehension), + Variant82(alloc::vec::Vec), + Variant83(Option), + Variant84(core::option::Option>), + Variant85(Vec), + Variant86(ast::Mod), + Variant87(ast::UnaryOp), } const __ACTION: &[i16] = &[ // State 0 @@ -11075,7 +11077,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11109,7 +11111,7 @@ mod __parse__Top { let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11141,7 +11143,7 @@ mod __parse__Top { 29 => { // ("," >) = ",", "*", StarTypedParameter => ActionFn(920); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11171,7 +11173,7 @@ mod __parse__Top { // ("," >) = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(922); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11203,7 +11205,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11237,7 +11239,7 @@ mod __parse__Top { let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11269,7 +11271,7 @@ mod __parse__Top { 37 => { // ("," >)? = ",", "*", StarTypedParameter => ActionFn(944); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11299,7 +11301,7 @@ mod __parse__Top { // ("," >)? = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(946); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11334,7 +11336,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11368,7 +11370,7 @@ mod __parse__Top { let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11400,7 +11402,7 @@ mod __parse__Top { 46 => { // ("," >) = ",", "*", StarUntypedParameter => ActionFn(980); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11430,7 +11432,7 @@ mod __parse__Top { // ("," >) = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(982); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11462,7 +11464,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11496,7 +11498,7 @@ mod __parse__Top { let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11528,7 +11530,7 @@ mod __parse__Top { 54 => { // ("," >)? = ",", "*", StarUntypedParameter => ActionFn(1004); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11558,7 +11560,7 @@ mod __parse__Top { // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1006); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -11889,11 +11891,11 @@ mod __parse__Top { __reduce158(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 159 => { - // ArgumentList = FunctionArgument => ActionFn(1462); + // ArgumentList = FunctionArgument => ActionFn(1463); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1462::<>(__sym0) { + let __nt = match super::__action1463::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11901,10 +11903,10 @@ mod __parse__Top { (1, 83) } 160 => { - // ArgumentList = => ActionFn(1463); + // ArgumentList = => ActionFn(1464); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = match super::__action1463::<>(&__start, &__end) { + let __nt = match super::__action1464::<>(&__start, &__end) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11912,13 +11914,13 @@ mod __parse__Top { (0, 83) } 161 => { - // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1464); + // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1465); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1464::<>(__sym0, __sym1) { + let __nt = match super::__action1465::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11926,11 +11928,11 @@ mod __parse__Top { (2, 83) } 162 => { - // ArgumentList = ( ",")+ => ActionFn(1465); + // ArgumentList = ( ",")+ => ActionFn(1466); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1465::<>(__sym0) { + let __nt = match super::__action1466::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13031,7 +13033,7 @@ mod __parse__Top { __reduce433(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 434 => { - // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1632); + // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1633); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13039,7 +13041,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13047,14 +13049,14 @@ mod __parse__Top { (4, 162) } 435 => { - // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1633); + // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1634); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13089,11 +13091,11 @@ mod __parse__Top { __reduce444(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 445 => { - // LiteralPattern = (@L string @R)+ => ActionFn(1275); + // LiteralPattern = (@L string @R)+ => ActionFn(1276); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1275::<>(__sym0) { + let __nt = match super::__action1276::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13374,18 +13376,18 @@ mod __parse__Top { __reduce533(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 534 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1512); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1513); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1512::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1513::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13393,20 +13395,20 @@ mod __parse__Top { (7, 202) } 535 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1513); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1514); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1513::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1514::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13414,21 +13416,21 @@ mod __parse__Top { (9, 202) } 536 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1514); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1515); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1514::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1515::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13436,17 +13438,17 @@ mod __parse__Top { (10, 202) } 537 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1515); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1516); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1515::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1516::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13454,7 +13456,7 @@ mod __parse__Top { (6, 202) } 538 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1516); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1517); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13463,10 +13465,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1516::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1517::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13474,7 +13476,7 @@ mod __parse__Top { (8, 202) } 539 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1517); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1518); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13484,10 +13486,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1517::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1518::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13495,19 +13497,19 @@ mod __parse__Top { (9, 202) } 540 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1518); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1519); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1518::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13515,21 +13517,21 @@ mod __parse__Top { (8, 202) } 541 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1519); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1520); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13537,22 +13539,22 @@ mod __parse__Top { (10, 202) } 542 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1520); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1521); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13560,7 +13562,7 @@ mod __parse__Top { (11, 202) } 543 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1521); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1522); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13568,10 +13570,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13579,7 +13581,7 @@ mod __parse__Top { (7, 202) } 544 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1522); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1523); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13589,10 +13591,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13600,7 +13602,7 @@ mod __parse__Top { (9, 202) } 545 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1523); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1524); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13611,10 +13613,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13622,16 +13624,16 @@ mod __parse__Top { (10, 202) } 546 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1524); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1525); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13639,18 +13641,18 @@ mod __parse__Top { (5, 202) } 547 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1525); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1526); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13658,19 +13660,19 @@ mod __parse__Top { (7, 202) } 548 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1526); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1527); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13678,15 +13680,15 @@ mod __parse__Top { (8, 202) } 549 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1527); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1528); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13694,17 +13696,17 @@ mod __parse__Top { (4, 202) } 550 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1528); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1529); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13712,7 +13714,7 @@ mod __parse__Top { (6, 202) } 551 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1529); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1530); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13720,10 +13722,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13731,17 +13733,17 @@ mod __parse__Top { (7, 202) } 552 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1530); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1531); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13749,19 +13751,19 @@ mod __parse__Top { (6, 202) } 553 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1531); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1532); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13769,20 +13771,20 @@ mod __parse__Top { (8, 202) } 554 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1532); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1533); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13790,16 +13792,16 @@ mod __parse__Top { (9, 202) } 555 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1533); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1534); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13807,7 +13809,7 @@ mod __parse__Top { (5, 202) } 556 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1534); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1535); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -13815,10 +13817,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13826,7 +13828,7 @@ mod __parse__Top { (7, 202) } 557 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1535); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1536); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13835,10 +13837,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1536::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13846,13 +13848,13 @@ mod __parse__Top { (8, 202) } 558 => { - // ParameterList = OneOrMore>, "," => ActionFn(1536); + // ParameterList = OneOrMore>, "," => ActionFn(1537); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1536::<>(__sym0, __sym1) { + let __nt = match super::__action1537::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13860,15 +13862,15 @@ mod __parse__Top { (2, 202) } 559 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1537); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1538); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1537::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13876,16 +13878,16 @@ mod __parse__Top { (4, 202) } 560 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1538); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1539); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13893,17 +13895,17 @@ mod __parse__Top { (5, 202) } 561 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1539); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1540); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13911,19 +13913,19 @@ mod __parse__Top { (6, 202) } 562 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1540); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1541); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13931,20 +13933,20 @@ mod __parse__Top { (8, 202) } 563 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1541); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1542); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13952,16 +13954,16 @@ mod __parse__Top { (9, 202) } 564 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1542); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1543); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13969,7 +13971,7 @@ mod __parse__Top { (5, 202) } 565 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1543); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1544); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13977,10 +13979,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13988,7 +13990,7 @@ mod __parse__Top { (7, 202) } 566 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1544); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1545); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -13997,10 +13999,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14008,18 +14010,18 @@ mod __parse__Top { (8, 202) } 567 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1545); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1546); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14027,20 +14029,20 @@ mod __parse__Top { (7, 202) } 568 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1546); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1547); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14048,21 +14050,21 @@ mod __parse__Top { (9, 202) } 569 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1547); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1548); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14070,17 +14072,17 @@ mod __parse__Top { (10, 202) } 570 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1548); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1549); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14088,7 +14090,7 @@ mod __parse__Top { (6, 202) } 571 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1549); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1550); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14097,10 +14099,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14108,7 +14110,7 @@ mod __parse__Top { (8, 202) } 572 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1550); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1551); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14118,10 +14120,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14129,15 +14131,15 @@ mod __parse__Top { (9, 202) } 573 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1551); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1552); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14145,17 +14147,17 @@ mod __parse__Top { (4, 202) } 574 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1552); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1553); assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14163,18 +14165,18 @@ mod __parse__Top { (6, 202) } 575 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1553); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1554); assert!(__symbols.len() >= 7); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14182,14 +14184,14 @@ mod __parse__Top { (7, 202) } 576 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1554); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1555); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14197,16 +14199,16 @@ mod __parse__Top { (3, 202) } 577 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1555); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1556); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14214,17 +14216,17 @@ mod __parse__Top { (5, 202) } 578 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1556); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1557); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14232,16 +14234,16 @@ mod __parse__Top { (6, 202) } 579 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1557); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1558); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14249,18 +14251,18 @@ mod __parse__Top { (5, 202) } 580 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1558); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1559); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14268,19 +14270,19 @@ mod __parse__Top { (7, 202) } 581 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1559); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1560); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14288,15 +14290,15 @@ mod __parse__Top { (8, 202) } 582 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1560); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1561); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14304,17 +14306,17 @@ mod __parse__Top { (4, 202) } 583 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1561); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1562); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14322,7 +14324,7 @@ mod __parse__Top { (6, 202) } 584 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1562); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1563); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14330,10 +14332,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14341,11 +14343,11 @@ mod __parse__Top { (7, 202) } 585 => { - // ParameterList = OneOrMore> => ActionFn(1563); - let __sym0 = __pop_Variant76(__symbols); + // ParameterList = OneOrMore> => ActionFn(1564); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1563::<>(__sym0) { + let __nt = match super::__action1564::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14353,14 +14355,14 @@ mod __parse__Top { (1, 202) } 586 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1564); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1565); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14368,15 +14370,15 @@ mod __parse__Top { (3, 202) } 587 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1565); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1566); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14384,15 +14386,15 @@ mod __parse__Top { (4, 202) } 588 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1566); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1567); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14400,17 +14402,17 @@ mod __parse__Top { (4, 202) } 589 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1567); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1568); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14418,7 +14420,7 @@ mod __parse__Top { (6, 202) } 590 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1568); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1569); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14426,10 +14428,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14437,14 +14439,14 @@ mod __parse__Top { (7, 202) } 591 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1569); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1570); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14452,16 +14454,16 @@ mod __parse__Top { (3, 202) } 592 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1570); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1571); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14469,17 +14471,17 @@ mod __parse__Top { (5, 202) } 593 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1571); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1572); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14487,16 +14489,16 @@ mod __parse__Top { (6, 202) } 594 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1316); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1317); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1316::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1317::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14504,7 +14506,7 @@ mod __parse__Top { (5, 202) } 595 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1317); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1318); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14512,7 +14514,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1317::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1318::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14520,17 +14522,17 @@ mod __parse__Top { (4, 202) } 596 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1318); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1319); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1318::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1319::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14538,7 +14540,7 @@ mod __parse__Top { (6, 202) } 597 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1319); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1320); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14547,7 +14549,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1319::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1320::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14555,14 +14557,14 @@ mod __parse__Top { (5, 202) } 598 => { - // ParameterList = "*", StarTypedParameter, "," => ActionFn(1320); + // ParameterList = "*", StarTypedParameter, "," => ActionFn(1321); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1320::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1321::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14570,13 +14572,13 @@ mod __parse__Top { (3, 202) } 599 => { - // ParameterList = "*", "," => ActionFn(1321); + // ParameterList = "*", "," => ActionFn(1322); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1321::<>(__sym0, __sym1) { + let __nt = match super::__action1322::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14584,15 +14586,15 @@ mod __parse__Top { (2, 202) } 600 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1322); + // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1323); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1322::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14600,14 +14602,14 @@ mod __parse__Top { (4, 202) } 601 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1323); + // ParameterList = "*", ("," >)+, "," => ActionFn(1324); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14615,15 +14617,15 @@ mod __parse__Top { (3, 202) } 602 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1324); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1325); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14631,14 +14633,14 @@ mod __parse__Top { (4, 202) } 603 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1325); + // ParameterList = "*", ",", KwargParameter => ActionFn(1326); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14646,16 +14648,16 @@ mod __parse__Top { (3, 202) } 604 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1326); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1327); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14663,7 +14665,7 @@ mod __parse__Top { (5, 202) } 605 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1327); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1328); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14671,7 +14673,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1328::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14679,13 +14681,13 @@ mod __parse__Top { (4, 202) } 606 => { - // ParameterList = "*", StarTypedParameter => ActionFn(1328); + // ParameterList = "*", StarTypedParameter => ActionFn(1329); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1328::<>(__sym0, __sym1) { + let __nt = match super::__action1329::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14693,11 +14695,11 @@ mod __parse__Top { (2, 202) } 607 => { - // ParameterList = "*" => ActionFn(1329); + // ParameterList = "*" => ActionFn(1330); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1329::<>(__sym0) { + let __nt = match super::__action1330::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14705,14 +14707,14 @@ mod __parse__Top { (1, 202) } 608 => { - // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1330); + // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1331); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1330::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1331::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14720,13 +14722,13 @@ mod __parse__Top { (3, 202) } 609 => { - // ParameterList = "*", ("," >)+ => ActionFn(1331); + // ParameterList = "*", ("," >)+ => ActionFn(1332); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1331::<>(__sym0, __sym1) { + let __nt = match super::__action1332::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14740,18 +14742,18 @@ mod __parse__Top { __reduce611(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 612 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1572); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1573); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14759,20 +14761,20 @@ mod __parse__Top { (7, 203) } 613 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1573); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1574); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14780,21 +14782,21 @@ mod __parse__Top { (9, 203) } 614 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1574); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1575); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14802,17 +14804,17 @@ mod __parse__Top { (10, 203) } 615 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1575); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1576); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14820,7 +14822,7 @@ mod __parse__Top { (6, 203) } 616 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1576); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1577); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14829,10 +14831,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14840,7 +14842,7 @@ mod __parse__Top { (8, 203) } 617 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1577); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1578); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14850,10 +14852,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14861,19 +14863,19 @@ mod __parse__Top { (9, 203) } 618 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1578); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1579); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14881,21 +14883,21 @@ mod __parse__Top { (8, 203) } 619 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1579); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1580); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14903,22 +14905,22 @@ mod __parse__Top { (10, 203) } 620 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1580); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1581); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14926,7 +14928,7 @@ mod __parse__Top { (11, 203) } 621 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1581); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1582); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14934,10 +14936,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14945,7 +14947,7 @@ mod __parse__Top { (7, 203) } 622 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1582); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1583); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14955,10 +14957,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14966,7 +14968,7 @@ mod __parse__Top { (9, 203) } 623 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1583); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1584); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14977,10 +14979,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14988,16 +14990,16 @@ mod __parse__Top { (10, 203) } 624 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1584); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1585); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15005,18 +15007,18 @@ mod __parse__Top { (5, 203) } 625 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1585); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1586); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15024,19 +15026,19 @@ mod __parse__Top { (7, 203) } 626 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1586); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1587); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15044,15 +15046,15 @@ mod __parse__Top { (8, 203) } 627 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1587); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1588); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15060,17 +15062,17 @@ mod __parse__Top { (4, 203) } 628 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1588); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1589); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15078,7 +15080,7 @@ mod __parse__Top { (6, 203) } 629 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1589); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1590); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15086,10 +15088,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15097,17 +15099,17 @@ mod __parse__Top { (7, 203) } 630 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1590); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1591); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15115,19 +15117,19 @@ mod __parse__Top { (6, 203) } 631 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1591); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1592); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15135,20 +15137,20 @@ mod __parse__Top { (8, 203) } 632 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1592); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1593); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15156,16 +15158,16 @@ mod __parse__Top { (9, 203) } 633 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1593); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1594); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15173,7 +15175,7 @@ mod __parse__Top { (5, 203) } 634 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1594); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1595); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -15181,10 +15183,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15192,7 +15194,7 @@ mod __parse__Top { (7, 203) } 635 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1595); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1596); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15201,10 +15203,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15212,13 +15214,13 @@ mod __parse__Top { (8, 203) } 636 => { - // ParameterList = OneOrMore>, "," => ActionFn(1596); + // ParameterList = OneOrMore>, "," => ActionFn(1597); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1596::<>(__sym0, __sym1) { + let __nt = match super::__action1597::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15226,15 +15228,15 @@ mod __parse__Top { (2, 203) } 637 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1597); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1598); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15242,16 +15244,16 @@ mod __parse__Top { (4, 203) } 638 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1598); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1599); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15259,17 +15261,17 @@ mod __parse__Top { (5, 203) } 639 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1599); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1600); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15277,19 +15279,19 @@ mod __parse__Top { (6, 203) } 640 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1600); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1601); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15297,20 +15299,20 @@ mod __parse__Top { (8, 203) } 641 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1601); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1602); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15318,16 +15320,16 @@ mod __parse__Top { (9, 203) } 642 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1602); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1603); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15335,7 +15337,7 @@ mod __parse__Top { (5, 203) } 643 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1603); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1604); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15343,10 +15345,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15354,7 +15356,7 @@ mod __parse__Top { (7, 203) } 644 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1604); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1605); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15363,10 +15365,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15374,18 +15376,18 @@ mod __parse__Top { (8, 203) } 645 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1605); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1606); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15393,20 +15395,20 @@ mod __parse__Top { (7, 203) } 646 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1606); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1607); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15414,21 +15416,21 @@ mod __parse__Top { (9, 203) } 647 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1607); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1608); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15436,17 +15438,17 @@ mod __parse__Top { (10, 203) } 648 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1608); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1609); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15454,7 +15456,7 @@ mod __parse__Top { (6, 203) } 649 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1609); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1610); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15463,10 +15465,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15474,7 +15476,7 @@ mod __parse__Top { (8, 203) } 650 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1610); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1611); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15484,10 +15486,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15495,15 +15497,15 @@ mod __parse__Top { (9, 203) } 651 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1611); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1612); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15511,17 +15513,17 @@ mod __parse__Top { (4, 203) } 652 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1612); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1613); assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15529,18 +15531,18 @@ mod __parse__Top { (6, 203) } 653 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1613); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1614); assert!(__symbols.len() >= 7); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15548,14 +15550,14 @@ mod __parse__Top { (7, 203) } 654 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1614); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1615); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15563,16 +15565,16 @@ mod __parse__Top { (3, 203) } 655 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1615); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1616); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15580,17 +15582,17 @@ mod __parse__Top { (5, 203) } 656 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1616); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1617); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15598,16 +15600,16 @@ mod __parse__Top { (6, 203) } 657 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1617); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1618); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15615,18 +15617,18 @@ mod __parse__Top { (5, 203) } 658 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1618); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1619); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15634,19 +15636,19 @@ mod __parse__Top { (7, 203) } 659 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1619); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1620); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15654,15 +15656,15 @@ mod __parse__Top { (8, 203) } 660 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1620); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1621); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15670,17 +15672,17 @@ mod __parse__Top { (4, 203) } 661 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1621); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1622); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15688,7 +15690,7 @@ mod __parse__Top { (6, 203) } 662 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1622); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1623); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15696,10 +15698,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15707,11 +15709,11 @@ mod __parse__Top { (7, 203) } 663 => { - // ParameterList = OneOrMore> => ActionFn(1623); - let __sym0 = __pop_Variant76(__symbols); + // ParameterList = OneOrMore> => ActionFn(1624); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1623::<>(__sym0) { + let __nt = match super::__action1624::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15719,14 +15721,14 @@ mod __parse__Top { (1, 203) } 664 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1624); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1625); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15734,15 +15736,15 @@ mod __parse__Top { (3, 203) } 665 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1625); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1626); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15750,15 +15752,15 @@ mod __parse__Top { (4, 203) } 666 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1626); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1627); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15766,17 +15768,17 @@ mod __parse__Top { (4, 203) } 667 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1627); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1628); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15784,7 +15786,7 @@ mod __parse__Top { (6, 203) } 668 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1628); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1629); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -15792,10 +15794,10 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15803,14 +15805,14 @@ mod __parse__Top { (7, 203) } 669 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1629); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1630); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15818,16 +15820,16 @@ mod __parse__Top { (3, 203) } 670 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1630); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1631); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15835,17 +15837,17 @@ mod __parse__Top { (5, 203) } 671 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1631); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1632); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15853,16 +15855,16 @@ mod __parse__Top { (6, 203) } 672 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1354); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1355); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1354::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1355::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15870,7 +15872,7 @@ mod __parse__Top { (5, 203) } 673 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1355); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1356); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15878,7 +15880,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1355::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1356::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15886,17 +15888,17 @@ mod __parse__Top { (4, 203) } 674 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1356); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1357); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1356::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1357::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15904,7 +15906,7 @@ mod __parse__Top { (6, 203) } 675 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1357); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1358); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15913,7 +15915,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1357::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1358::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15921,14 +15923,14 @@ mod __parse__Top { (5, 203) } 676 => { - // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1358); + // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1359); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1358::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1359::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15936,13 +15938,13 @@ mod __parse__Top { (3, 203) } 677 => { - // ParameterList = "*", "," => ActionFn(1359); + // ParameterList = "*", "," => ActionFn(1360); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1359::<>(__sym0, __sym1) { + let __nt = match super::__action1360::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15950,15 +15952,15 @@ mod __parse__Top { (2, 203) } 678 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1360); + // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1361); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1360::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15966,14 +15968,14 @@ mod __parse__Top { (4, 203) } 679 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1361); + // ParameterList = "*", ("," >)+, "," => ActionFn(1362); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15981,15 +15983,15 @@ mod __parse__Top { (3, 203) } 680 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1362); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1363); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15997,14 +15999,14 @@ mod __parse__Top { (4, 203) } 681 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1363); + // ParameterList = "*", ",", KwargParameter => ActionFn(1364); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16012,16 +16014,16 @@ mod __parse__Top { (3, 203) } 682 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1364); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1365); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16029,7 +16031,7 @@ mod __parse__Top { (5, 203) } 683 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1365); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1366); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16037,7 +16039,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1366::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16045,13 +16047,13 @@ mod __parse__Top { (4, 203) } 684 => { - // ParameterList = "*", StarUntypedParameter => ActionFn(1366); + // ParameterList = "*", StarUntypedParameter => ActionFn(1367); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1366::<>(__sym0, __sym1) { + let __nt = match super::__action1367::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16059,11 +16061,11 @@ mod __parse__Top { (2, 203) } 685 => { - // ParameterList = "*" => ActionFn(1367); + // ParameterList = "*" => ActionFn(1368); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1367::<>(__sym0) { + let __nt = match super::__action1368::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16071,14 +16073,14 @@ mod __parse__Top { (1, 203) } 686 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1368); + // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1369); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1368::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1369::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16086,13 +16088,13 @@ mod __parse__Top { (3, 203) } 687 => { - // ParameterList = "*", ("," >)+ => ActionFn(1369); + // ParameterList = "*", ("," >)+ => ActionFn(1370); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1369::<>(__sym0, __sym1) { + let __nt = match super::__action1370::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16116,7 +16118,7 @@ mod __parse__Top { assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; @@ -16148,7 +16150,7 @@ mod __parse__Top { let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; @@ -16178,7 +16180,7 @@ mod __parse__Top { 696 => { // ParameterListStarArgs = "*", StarTypedParameter => ActionFn(853); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; @@ -16205,7 +16207,7 @@ mod __parse__Top { // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+ => ActionFn(855); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; @@ -16235,7 +16237,7 @@ mod __parse__Top { assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; @@ -16267,7 +16269,7 @@ mod __parse__Top { let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; @@ -16297,7 +16299,7 @@ mod __parse__Top { 704 => { // ParameterListStarArgs = "*", StarUntypedParameter => ActionFn(972); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; @@ -16324,7 +16326,7 @@ mod __parse__Top { // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+ => ActionFn(974); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; @@ -16350,14 +16352,14 @@ mod __parse__Top { (2, 206) } 708 => { - // Parameters = "(", ParameterList, ")" => ActionFn(1452); + // Parameters = "(", ParameterList, ")" => ActionFn(1453); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant44(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1452::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1453::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16365,13 +16367,13 @@ mod __parse__Top { (3, 207) } 709 => { - // Parameters = "(", ")" => ActionFn(1453); + // Parameters = "(", ")" => ActionFn(1454); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1453::<>(__sym0, __sym1) { + let __nt = match super::__action1454::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16902,7 +16904,7 @@ mod __parse__Top { } 884 => { // __Top = Top => ActionFn(0); - let __sym0 = __pop_Variant84(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action0::<>(__sym0); @@ -16941,23 +16943,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant55< + fn __pop_Variant57< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Option>, ast::Expr), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant55(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant57(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant68< + fn __pop_Variant70< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Option, Option), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant68(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant70(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -16991,13 +16993,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant77< + fn __pop_Variant79< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Vec, Vec), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant77(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant79(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17011,13 +17013,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant56< + fn __pop_Variant58< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Expr, ast::Expr), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant56(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant58(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17031,23 +17033,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant72< + fn __pop_Variant74< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Expr, ast::Pattern), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant72(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant74(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant71< + fn __pop_Variant73< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Identifier, ast::Pattern), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant71(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant73(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17111,13 +17113,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant81< + fn __pop_Variant83< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant81(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant83(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17151,53 +17153,53 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant57< + fn __pop_Variant59< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(Option>, ast::Expr)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant57(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant59(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant75< + fn __pop_Variant77< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant75(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant77(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant74< + fn __pop_Variant76< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(ast::Identifier, ast::Pattern)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant74(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant76(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant65< + fn __pop_Variant67< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant65(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant67(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant76< + fn __pop_Variant78< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant76(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant78(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17221,13 +17223,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant73< + fn __pop_Variant75< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant73(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant75(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17241,13 +17243,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant83< + fn __pop_Variant85< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant83(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant85(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17321,23 +17323,33 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant80< + fn __pop_Variant82< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant80(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant82(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant62< + fn __pop_Variant56< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, alloc::vec::Vec, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant56(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant64< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant62(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant64(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17351,23 +17363,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant67< + fn __pop_Variant69< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant67(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant69(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant70< + fn __pop_Variant72< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant70(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant72(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17411,23 +17423,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant64< + fn __pop_Variant66< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Alias, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant64(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant66(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant59< + fn __pop_Variant61< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Arg, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant59(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant61(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17461,13 +17473,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant79< + fn __pop_Variant81< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Comprehension, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant79(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant81(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17481,13 +17493,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant61< + fn __pop_Variant55< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, ast::Decorator, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant55(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant63< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::ExceptHandler, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant61(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant63(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17511,33 +17533,33 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant66< + fn __pop_Variant68< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Int, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant66(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant68(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant69< + fn __pop_Variant71< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::MatchCase, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant69(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant71(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant84< + fn __pop_Variant86< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Mod, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant84(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant86(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17581,13 +17603,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant85< + fn __pop_Variant87< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::UnaryOp, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant85(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant87(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17601,13 +17623,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant63< + fn __pop_Variant65< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant63(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant65(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17641,23 +17663,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant82< + fn __pop_Variant84< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant82(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant84(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant58< + fn __pop_Variant60< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option>, ast::Expr)>>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant58(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant60(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17691,13 +17713,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant60< + fn __pop_Variant62< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant60(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant62(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17731,13 +17753,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant78< + fn __pop_Variant80< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant78(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant80(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -19389,13 +19411,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = OneOrMore>, "," => ActionFn(1432); + // ( ",") = OneOrMore>, "," => ActionFn(1433); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1432::<>(__sym0, __sym1); + let __nt = super::__action1433::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (2, 65) } @@ -19406,13 +19428,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")? = OneOrMore>, "," => ActionFn(1435); + // ( ",")? = OneOrMore>, "," => ActionFn(1436); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1435::<>(__sym0, __sym1); + let __nt = super::__action1436::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant39(__nt), __end)); (2, 66) } @@ -19452,11 +19474,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = string => ActionFn(1444); + // (@L string @R)+ = string => ActionFn(1445); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1444::<>(__sym0); + let __nt = super::__action1445::<>(__sym0); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (1, 68) } @@ -19467,13 +19489,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = (@L string @R)+, string => ActionFn(1445); + // (@L string @R)+ = (@L string @R)+, string => ActionFn(1446); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1445::<>(__sym0, __sym1); + let __nt = super::__action1446::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (2, 68) } @@ -19501,13 +19523,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1446); + // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1447); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant53(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1446::<>(__sym0, __sym1); + let __nt = super::__action1447::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (2, 70) } @@ -19518,14 +19540,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1447); + // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1448); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant53(__symbols); let __sym0 = __pop_Variant43(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1447::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1448::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (3, 70) } @@ -19551,11 +19573,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard)? = Guard => ActionFn(1448); + // (Guard)? = Guard => ActionFn(1449); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1448::<>(__sym0); + let __nt = super::__action1449::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 72) } @@ -19595,11 +19617,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList)? = ParameterList => ActionFn(1451); + // (ParameterList)? = ParameterList => ActionFn(1452); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1451::<>(__sym0); + let __nt = super::__action1452::<>(__sym0); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); (1, 74) } @@ -20069,14 +20091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1508); + // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1509); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1508::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1509::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20087,13 +20109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", "]" => ActionFn(1509); + // Atom<"all"> = "[", "]" => ActionFn(1510); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1509::<>(__sym0, __sym1); + let __nt = super::__action1510::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20214,14 +20236,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1492); + // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1493); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant57(__symbols); + let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1492::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1493::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20232,13 +20254,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", "}" => ActionFn(1493); + // Atom<"all"> = "{", "}" => ActionFn(1494); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1493::<>(__sym0, __sym1); + let __nt = super::__action1494::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20253,7 +20275,7 @@ mod __parse__Top { assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); - let __sym1 = __pop_Variant56(__symbols); + let __sym1 = __pop_Variant58(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; @@ -20395,14 +20417,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1510); + // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1511); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1510::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1511::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20413,13 +20435,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", "]" => ActionFn(1511); + // Atom<"no-withitems"> = "[", "]" => ActionFn(1512); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1511::<>(__sym0, __sym1); + let __nt = super::__action1512::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20503,14 +20525,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1494); + // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1495); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant57(__symbols); + let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1494::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1495::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20521,13 +20543,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", "}" => ActionFn(1495); + // Atom<"no-withitems"> = "{", "}" => ActionFn(1496); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1495::<>(__sym0, __sym1); + let __nt = super::__action1496::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20542,7 +20564,7 @@ mod __parse__Top { assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); - let __sym1 = __pop_Variant56(__symbols); + let __sym1 = __pop_Variant58(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; @@ -21070,7 +21092,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1480); + // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1481); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21081,7 +21103,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1480::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 100) } @@ -21092,7 +21114,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1481); + // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1482); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -21101,10 +21123,10 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1482::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 100) } @@ -21115,7 +21137,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, ":", Suite => ActionFn(1482); + // ClassDef = "class", Identifier, ":", Suite => ActionFn(1483); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -21123,7 +21145,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1482::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 100) } @@ -21134,16 +21156,16 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1483); + // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1484); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 100) } @@ -21158,7 +21180,7 @@ mod __parse__Top { assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); @@ -21179,7 +21201,7 @@ mod __parse__Top { // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1219); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); @@ -21240,7 +21262,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; @@ -21259,7 +21281,7 @@ mod __parse__Top { // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1223); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; @@ -21297,7 +21319,7 @@ mod __parse__Top { assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); @@ -21318,7 +21340,7 @@ mod __parse__Top { // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1226); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); @@ -21379,7 +21401,7 @@ mod __parse__Top { assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; @@ -21398,7 +21420,7 @@ mod __parse__Top { // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1230); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; @@ -21537,11 +21559,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = FunctionArgument => ActionFn(1458); + // Comma = FunctionArgument => ActionFn(1459); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1458::<>(__sym0); + let __nt = super::__action1459::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21552,10 +21574,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1459); + // Comma = => ActionFn(1460); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1459::<>(&__start, &__end); + let __nt = super::__action1460::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (0, 103) } @@ -21566,13 +21588,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, FunctionArgument => ActionFn(1460); + // Comma = ( ",")+, FunctionArgument => ActionFn(1461); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1460::<>(__sym0, __sym1); + let __nt = super::__action1461::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (2, 103) } @@ -21583,11 +21605,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1461); + // Comma = ( ",")+ => ActionFn(1462); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1461::<>(__sym0); + let __nt = super::__action1462::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21598,11 +21620,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = Pattern => ActionFn(1466); + // Comma = Pattern => ActionFn(1467); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1466::<>(__sym0); + let __nt = super::__action1467::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -21613,10 +21635,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1467); + // Comma = => ActionFn(1468); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1467::<>(&__start, &__end); + let __nt = super::__action1468::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (0, 104) } @@ -21627,13 +21649,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, Pattern => ActionFn(1468); + // Comma = ( ",")+, Pattern => ActionFn(1469); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1468::<>(__sym0, __sym1); + let __nt = super::__action1469::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (2, 104) } @@ -21644,11 +21666,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1469); + // Comma = ( ",")+ => ActionFn(1470); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1469::<>(__sym0); + let __nt = super::__action1470::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -21660,7 +21682,7 @@ mod __parse__Top { ) -> (usize, usize) { // CompFor = SingleForComprehension+ => ActionFn(212); - let __sym0 = __pop_Variant80(__symbols); + let __sym0 = __pop_Variant82(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action212::<>(__sym0); @@ -22211,15 +22233,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(760); + // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(1236); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action760::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + let __nt = super::__action1236::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant55(__nt), __end)); (3, 117) } pub(crate) fn __reduce329< @@ -22233,7 +22255,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action273::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (0, 118) } pub(crate) fn __reduce330< @@ -22244,11 +22266,11 @@ mod __parse__Top { ) -> (usize, usize) { // Decorator* = Decorator+ => ActionFn(274); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action274::<>(__sym0); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (1, 118) } pub(crate) fn __reduce331< @@ -22259,11 +22281,11 @@ mod __parse__Top { ) -> (usize, usize) { // Decorator+ = Decorator => ActionFn(392); - let __sym0 = __pop_Variant15(__symbols); + let __sym0 = __pop_Variant55(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action392::<>(__sym0); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (1, 119) } pub(crate) fn __reduce332< @@ -22275,12 +22297,12 @@ mod __parse__Top { { // Decorator+ = Decorator+, Decorator => ActionFn(393); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym1 = __pop_Variant55(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action393::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (2, 119) } pub(crate) fn __reduce333< @@ -22290,13 +22312,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DelStatement = "del", ExpressionList2 => ActionFn(1236); + // DelStatement = "del", ExpressionList2 => ActionFn(1237); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1236::<>(__sym0, __sym1); + let __nt = super::__action1237::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 120) } @@ -22308,11 +22330,11 @@ mod __parse__Top { ) -> (usize, usize) { // DictElement = DictEntry => ActionFn(203); - let __sym0 = __pop_Variant56(__symbols); + let __sym0 = __pop_Variant58(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action203::<>(__sym0); - __symbols.push((__start, __Symbol::Variant55(__nt), __end)); + __symbols.push((__start, __Symbol::Variant57(__nt), __end)); (1, 121) } pub(crate) fn __reduce335< @@ -22329,7 +22351,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action204::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant55(__nt), __end)); + __symbols.push((__start, __Symbol::Variant57(__nt), __end)); (2, 121) } pub(crate) fn __reduce336< @@ -22347,7 +22369,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action202::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant56(__nt), __end)); + __symbols.push((__start, __Symbol::Variant58(__nt), __end)); (3, 122) } pub(crate) fn __reduce337< @@ -22360,11 +22382,11 @@ mod __parse__Top { // DictLiteralValues = OneOrMore, "," => ActionFn(581); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action581::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (2, 123) } pub(crate) fn __reduce338< @@ -22375,11 +22397,11 @@ mod __parse__Top { ) -> (usize, usize) { // DictLiteralValues = OneOrMore => ActionFn(582); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action582::<>(__sym0); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (1, 123) } pub(crate) fn __reduce339< @@ -22390,11 +22412,11 @@ mod __parse__Top { ) -> (usize, usize) { // DictLiteralValues? = DictLiteralValues => ActionFn(523); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action523::<>(__sym0); - __symbols.push((__start, __Symbol::Variant58(__nt), __end)); + __symbols.push((__start, __Symbol::Variant60(__nt), __end)); (1, 124) } pub(crate) fn __reduce340< @@ -22408,7 +22430,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action524::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant58(__nt), __end)); + __symbols.push((__start, __Symbol::Variant60(__nt), __end)); (0, 124) } pub(crate) fn __reduce341< @@ -22450,15 +22472,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1237); + // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1238); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1237::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1238::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 126) } pub(crate) fn __reduce344< @@ -22468,12 +22490,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier => ActionFn(1238); + // DoubleStarTypedParameter = Identifier => ActionFn(1239); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1238::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1239::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 126) } pub(crate) fn __reduce345< @@ -22484,11 +22506,11 @@ mod __parse__Top { ) -> (usize, usize) { // DoubleStarTypedParameter? = DoubleStarTypedParameter => ActionFn(457); - let __sym0 = __pop_Variant59(__symbols); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action457::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (1, 127) } pub(crate) fn __reduce346< @@ -22502,7 +22524,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action458::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (0, 127) } pub(crate) fn __reduce347< @@ -22512,7 +22534,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1636); + // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1637); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -22520,8 +22542,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1636::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1637::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (4, 128) } pub(crate) fn __reduce348< @@ -22531,15 +22553,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", ":", Suite => ActionFn(1637); + // ExceptClause = "except", ":", Suite => ActionFn(1638); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1637::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1638::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (3, 128) } pub(crate) fn __reduce349< @@ -22560,7 +22582,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym5.2; let __nt = super::__action1148::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (6, 128) } pub(crate) fn __reduce350< @@ -22571,11 +22593,11 @@ mod __parse__Top { ) -> (usize, usize) { // ExceptClause+ = ExceptClause => ActionFn(298); - let __sym0 = __pop_Variant61(__symbols); + let __sym0 = __pop_Variant63(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action298::<>(__sym0); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (1, 129) } pub(crate) fn __reduce351< @@ -22587,12 +22609,12 @@ mod __parse__Top { { // ExceptClause+ = ExceptClause+, ExceptClause => ActionFn(299); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant61(__symbols); - let __sym0 = __pop_Variant62(__symbols); + let __sym1 = __pop_Variant63(__symbols); + let __sym0 = __pop_Variant64(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action299::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (2, 129) } pub(crate) fn __reduce352< @@ -22612,7 +22634,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym4.2; let __nt = super::__action765::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (5, 130) } pub(crate) fn __reduce353< @@ -22634,7 +22656,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym6.2; let __nt = super::__action1149::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (7, 130) } pub(crate) fn __reduce354< @@ -22645,11 +22667,11 @@ mod __parse__Top { ) -> (usize, usize) { // ExceptStarClause+ = ExceptStarClause => ActionFn(293); - let __sym0 = __pop_Variant61(__symbols); + let __sym0 = __pop_Variant63(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action293::<>(__sym0); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (1, 131) } pub(crate) fn __reduce355< @@ -22661,12 +22683,12 @@ mod __parse__Top { { // ExceptStarClause+ = ExceptStarClause+, ExceptStarClause => ActionFn(294); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant61(__symbols); - let __sym0 = __pop_Variant62(__symbols); + let __sym1 = __pop_Variant63(__symbols); + let __sym0 = __pop_Variant64(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action294::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (2, 131) } pub(crate) fn __reduce356< @@ -22676,14 +22698,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1239); + // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1240); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1239::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1240::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 132) } @@ -22709,14 +22731,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1240); + // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1241); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1240::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1241::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 133) } @@ -22834,11 +22856,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList => ActionFn(1661); + // ExpressionStatement = GenericList => ActionFn(1662); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1661::<>(__sym0); + let __nt = super::__action1662::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 138) } @@ -22849,13 +22871,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1662); + // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1663); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant17(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1662::<>(__sym0, __sym1); + let __nt = super::__action1663::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 138) } @@ -22866,14 +22888,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1663); + // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1664); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1663::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1664::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -22884,7 +22906,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1456); + // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1457); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -22892,7 +22914,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1456::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1457::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 138) } @@ -22903,14 +22925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1457); + // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1458); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1457::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1458::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -22921,13 +22943,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1244); + // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1245); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant85(__symbols); + let __sym0 = __pop_Variant87(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1244::<>(__sym0, __sym1); + let __nt = super::__action1245::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 139) } @@ -22953,13 +22975,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1245); + // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1246); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant85(__symbols); + let __sym0 = __pop_Variant87(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1245::<>(__sym0, __sym1); + let __nt = super::__action1246::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 140) } @@ -22985,11 +23007,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "break" => ActionFn(1246); + // FlowStatement = "break" => ActionFn(1247); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1246::<>(__sym0); + let __nt = super::__action1247::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23000,11 +23022,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "continue" => ActionFn(1247); + // FlowStatement = "continue" => ActionFn(1248); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1247::<>(__sym0); + let __nt = super::__action1248::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23015,13 +23037,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return", GenericList => ActionFn(1657); + // FlowStatement = "return", GenericList => ActionFn(1658); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1657::<>(__sym0, __sym1); + let __nt = super::__action1658::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 141) } @@ -23032,11 +23054,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return" => ActionFn(1658); + // FlowStatement = "return" => ActionFn(1659); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1658::<>(__sym0); + let __nt = super::__action1659::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23047,11 +23069,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = YieldExpr => ActionFn(1249); + // FlowStatement = YieldExpr => ActionFn(1250); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1249::<>(__sym0); + let __nt = super::__action1250::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23077,7 +23099,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1648); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1649); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -23091,7 +23113,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1648::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1649::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 142) } @@ -23102,7 +23124,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1649); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1650); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23113,7 +23135,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1649::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1650::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 142) } @@ -23124,7 +23146,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1650); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1651); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23137,7 +23159,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1650::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1651::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 142) } @@ -23148,7 +23170,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1651); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1652); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23158,7 +23180,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1651::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1652::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 142) } @@ -23169,7 +23191,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1484); + // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1485); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23181,7 +23203,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23192,7 +23214,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1485); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1486); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23202,10 +23224,10 @@ mod __parse__Top { let __sym3 = __pop_Variant23(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 143) } @@ -23216,7 +23238,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1486); + // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1487); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23226,7 +23248,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23237,7 +23259,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1487); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1488); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23245,10 +23267,10 @@ mod __parse__Top { let __sym3 = __pop_Variant23(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23259,7 +23281,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1488); + // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1489); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23270,7 +23292,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23281,7 +23303,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1489); + // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1490); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23290,10 +23312,10 @@ mod __parse__Top { let __sym3 = __pop_Variant44(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23304,7 +23326,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1490); + // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1491); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -23313,7 +23335,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 143) } @@ -23324,17 +23346,17 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1491); + // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1492); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant44(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1492::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23345,13 +23367,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1474); + // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1475); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant51(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1474::<>(__sym0, __sym1); + let __nt = super::__action1475::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23362,11 +23384,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest => ActionFn(1475); + // FunctionArgument = NamedExpressionTest => ActionFn(1476); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1475::<>(__sym0); + let __nt = super::__action1476::<>(__sym0); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (1, 144) } @@ -23377,14 +23399,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1251); + // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1252); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1251::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1252::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (3, 144) } @@ -23395,13 +23417,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "*", Test<"all"> => ActionFn(1252); + // FunctionArgument = "*", Test<"all"> => ActionFn(1253); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1252::<>(__sym0, __sym1); + let __nt = super::__action1253::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23412,13 +23434,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "**", Test<"all"> => ActionFn(1253); + // FunctionArgument = "**", Test<"all"> => ActionFn(1254); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1253::<>(__sym0, __sym1); + let __nt = super::__action1254::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23434,7 +23456,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action421::<>(__sym0); - __symbols.push((__start, __Symbol::Variant63(__nt), __end)); + __symbols.push((__start, __Symbol::Variant65(__nt), __end)); (1, 145) } pub(crate) fn __reduce399< @@ -23448,7 +23470,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action422::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant63(__nt), __end)); + __symbols.push((__start, __Symbol::Variant65(__nt), __end)); (0, 145) } pub(crate) fn __reduce400< @@ -23458,13 +23480,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1254); + // GenericList = OneOrMore, "," => ActionFn(1255); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1254::<>(__sym0, __sym1); + let __nt = super::__action1255::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 146) } @@ -23475,11 +23497,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1255); + // GenericList = OneOrMore => ActionFn(1256); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1255::<>(__sym0); + let __nt = super::__action1256::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 146) } @@ -23490,13 +23512,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1256); + // GenericList = OneOrMore, "," => ActionFn(1257); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1256::<>(__sym0, __sym1); + let __nt = super::__action1257::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 147) } @@ -23507,11 +23529,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1257); + // GenericList = OneOrMore => ActionFn(1258); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1257::<>(__sym0); + let __nt = super::__action1258::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 147) } @@ -23522,13 +23544,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GlobalStatement = "global", OneOrMore => ActionFn(1258); + // GlobalStatement = "global", OneOrMore => ActionFn(1259); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant73(__symbols); + let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1258::<>(__sym0, __sym1); + let __nt = super::__action1259::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 148) } @@ -23655,15 +23677,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1259); + // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1260); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1259::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1260::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 152) } pub(crate) fn __reduce412< @@ -23673,12 +23695,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName => ActionFn(1260); + // ImportAsAlias = DottedName => ActionFn(1261); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1260::<>(__sym0); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1261::<>(__sym0); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 152) } pub(crate) fn __reduce413< @@ -23688,15 +23710,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1261); + // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1262); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1261::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1262::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 153) } pub(crate) fn __reduce414< @@ -23706,12 +23728,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier => ActionFn(1262); + // ImportAsAlias = Identifier => ActionFn(1263); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1262::<>(__sym0); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1263::<>(__sym0); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 153) } pub(crate) fn __reduce415< @@ -23721,12 +23743,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = OneOrMore> => ActionFn(1263); - let __sym0 = __pop_Variant65(__symbols); + // ImportAsNames = OneOrMore> => ActionFn(1264); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1263::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1264::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } pub(crate) fn __reduce416< @@ -23736,16 +23758,16 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1264); + // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1265); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1264::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1265::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (4, 154) } pub(crate) fn __reduce417< @@ -23755,15 +23777,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1265); + // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1266); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1265::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1266::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 154) } pub(crate) fn __reduce418< @@ -23773,12 +23795,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "*" => ActionFn(1266); + // ImportAsNames = "*" => ActionFn(1267); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1266::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1267::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } pub(crate) fn __reduce419< @@ -23793,7 +23815,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action61::<>(__sym0); - __symbols.push((__start, __Symbol::Variant66(__nt), __end)); + __symbols.push((__start, __Symbol::Variant68(__nt), __end)); (1, 155) } pub(crate) fn __reduce420< @@ -23808,7 +23830,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action62::<>(__sym0); - __symbols.push((__start, __Symbol::Variant66(__nt), __end)); + __symbols.push((__start, __Symbol::Variant68(__nt), __end)); (1, 155) } pub(crate) fn __reduce421< @@ -23822,7 +23844,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action347::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (0, 156) } pub(crate) fn __reduce422< @@ -23833,11 +23855,11 @@ mod __parse__Top { ) -> (usize, usize) { // ImportDots* = ImportDots+ => ActionFn(348); - let __sym0 = __pop_Variant67(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action348::<>(__sym0); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (1, 156) } pub(crate) fn __reduce423< @@ -23848,11 +23870,11 @@ mod __parse__Top { ) -> (usize, usize) { // ImportDots+ = ImportDots => ActionFn(345); - let __sym0 = __pop_Variant66(__symbols); + let __sym0 = __pop_Variant68(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action345::<>(__sym0); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (1, 157) } pub(crate) fn __reduce424< @@ -23864,12 +23886,12 @@ mod __parse__Top { { // ImportDots+ = ImportDots+, ImportDots => ActionFn(346); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant66(__symbols); - let __sym0 = __pop_Variant67(__symbols); + let __sym1 = __pop_Variant68(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action346::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (2, 157) } pub(crate) fn __reduce425< @@ -23879,12 +23901,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = DottedName => ActionFn(1506); + // ImportFromLocation = DottedName => ActionFn(1507); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1506::<>(__sym0); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + let __nt = super::__action1507::<>(__sym0); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } pub(crate) fn __reduce426< @@ -23894,14 +23916,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = ImportDots+, DottedName => ActionFn(1507); + // ImportFromLocation = ImportDots+, DottedName => ActionFn(1508); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); - let __sym0 = __pop_Variant67(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1507::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + let __nt = super::__action1508::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (2, 158) } pub(crate) fn __reduce427< @@ -23912,11 +23934,11 @@ mod __parse__Top { ) -> (usize, usize) { // ImportFromLocation = ImportDots+ => ActionFn(60); - let __sym0 = __pop_Variant67(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action60::<>(__sym0); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } pub(crate) fn __reduce428< @@ -23926,13 +23948,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "import", OneOrMore> => ActionFn(1267); + // ImportStatement = "import", OneOrMore> => ActionFn(1268); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1267::<>(__sym0, __sym1); + let __nt = super::__action1268::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 159) } @@ -23943,15 +23965,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1268); + // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1269); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant65(__symbols); + let __sym3 = __pop_Variant67(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant68(__symbols); + let __sym1 = __pop_Variant70(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1268::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1269::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 159) } @@ -23962,13 +23984,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1496); + // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1497); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1496::<>(__sym0, __sym1); + let __nt = super::__action1497::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 160) } @@ -23979,11 +24001,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(1497); + // KwargParameter = "**" => ActionFn(1498); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1497::<>(__sym0); + let __nt = super::__action1498::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 160) } @@ -23996,7 +24018,7 @@ mod __parse__Top { { // KwargParameter = "**", StarUntypedParameter => ActionFn(966); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; @@ -24087,11 +24109,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "None" => ActionFn(1270); + // LiteralPattern = "None" => ActionFn(1271); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1270::<>(__sym0); + let __nt = super::__action1271::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24102,11 +24124,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "True" => ActionFn(1271); + // LiteralPattern = "True" => ActionFn(1272); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1271::<>(__sym0); + let __nt = super::__action1272::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24117,11 +24139,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "False" => ActionFn(1272); + // LiteralPattern = "False" => ActionFn(1273); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1272::<>(__sym0); + let __nt = super::__action1273::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24132,11 +24154,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = ConstantExpr => ActionFn(1273); + // LiteralPattern = ConstantExpr => ActionFn(1274); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1273::<>(__sym0); + let __nt = super::__action1274::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24147,11 +24169,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = AddOpExpr => ActionFn(1274); + // LiteralPattern = AddOpExpr => ActionFn(1275); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1274::<>(__sym0); + let __nt = super::__action1275::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24207,11 +24229,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "None" => ActionFn(1276); + // MappingKey = "None" => ActionFn(1277); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1276::<>(__sym0); + let __nt = super::__action1277::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24222,11 +24244,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "True" => ActionFn(1277); + // MappingKey = "True" => ActionFn(1278); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1277::<>(__sym0); + let __nt = super::__action1278::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24237,11 +24259,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "False" => ActionFn(1278); + // MappingKey = "False" => ActionFn(1279); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1278::<>(__sym0); + let __nt = super::__action1279::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24252,13 +24274,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "}" => ActionFn(1279); + // MappingPattern = "{", "}" => ActionFn(1280); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1279::<>(__sym0, __sym1); + let __nt = super::__action1280::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 167) } @@ -24269,15 +24291,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1280); + // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1281); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1280::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1281::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } @@ -24288,14 +24310,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, "}" => ActionFn(1281); + // MappingPattern = "{", OneOrMore, "}" => ActionFn(1282); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1281::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1282::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 167) } @@ -24306,7 +24328,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1282); + // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1283); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24315,7 +24337,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1282::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1283::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 167) } @@ -24326,7 +24348,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1283); + // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1284); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); @@ -24334,7 +24356,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1283::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1284::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } @@ -24345,18 +24367,18 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1284); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1285); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1284::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1285::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 167) } @@ -24367,17 +24389,17 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1285); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1286); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1285::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1286::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 167) } @@ -24388,7 +24410,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1449); + // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1450); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24397,8 +24419,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1449::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant69(__nt), __end)); + let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (5, 168) } pub(crate) fn __reduce461< @@ -24408,7 +24430,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, ":", Suite => ActionFn(1450); + // MatchCase = "case", Patterns, ":", Suite => ActionFn(1451); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24416,8 +24438,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant69(__nt), __end)); + let __nt = super::__action1451::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (4, 168) } pub(crate) fn __reduce462< @@ -24428,11 +24450,11 @@ mod __parse__Top { ) -> (usize, usize) { // MatchCase+ = MatchCase => ActionFn(330); - let __sym0 = __pop_Variant69(__symbols); + let __sym0 = __pop_Variant71(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action330::<>(__sym0); - __symbols.push((__start, __Symbol::Variant70(__nt), __end)); + __symbols.push((__start, __Symbol::Variant72(__nt), __end)); (1, 169) } pub(crate) fn __reduce463< @@ -24444,12 +24466,12 @@ mod __parse__Top { { // MatchCase+ = MatchCase+, MatchCase => ActionFn(331); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant69(__symbols); - let __sym0 = __pop_Variant70(__symbols); + let __sym1 = __pop_Variant71(__symbols); + let __sym0 = __pop_Variant72(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action331::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant70(__nt), __end)); + __symbols.push((__start, __Symbol::Variant72(__nt), __end)); (2, 169) } pub(crate) fn __reduce464< @@ -24467,7 +24489,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action132::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant71(__nt), __end)); + __symbols.push((__start, __Symbol::Variant73(__nt), __end)); (3, 170) } pub(crate) fn __reduce465< @@ -24485,7 +24507,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action127::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant72(__nt), __end)); + __symbols.push((__start, __Symbol::Variant74(__nt), __end)); (3, 171) } pub(crate) fn __reduce466< @@ -24495,11 +24517,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchName = Identifier => ActionFn(1286); + // MatchName = Identifier => ActionFn(1287); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1286::<>(__sym0); + let __nt = super::__action1287::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 172) } @@ -24510,14 +24532,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1287); + // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1288); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1287::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } @@ -24528,14 +24550,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1288); + // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1289); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1289::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } @@ -24549,7 +24571,7 @@ mod __parse__Top { // MatchStatement = "match", TestOrStarNamedExpr, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(822); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant70(__symbols); + let __sym5 = __pop_Variant72(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24571,7 +24593,7 @@ mod __parse__Top { // MatchStatement = "match", TestOrStarNamedExpr, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(823); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant70(__symbols); + let __sym6 = __pop_Variant72(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24594,7 +24616,7 @@ mod __parse__Top { // MatchStatement = "match", TwoOrMore, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(824); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant70(__symbols); + let __sym6 = __pop_Variant72(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24617,7 +24639,7 @@ mod __parse__Top { // MatchStatement = "match", TwoOrMore, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(825); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant70(__symbols); + let __sym5 = __pop_Variant72(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24711,14 +24733,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1289); + // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1290); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1289::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1290::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 176) } @@ -24789,13 +24811,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1290); + // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1291); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant73(__symbols); + let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1290::<>(__sym0, __sym1); + let __nt = super::__action1291::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 179) } @@ -24806,13 +24828,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1291); + // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1292); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1291::<>(__sym0, __sym1); + let __nt = super::__action1292::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 180) } @@ -24838,13 +24860,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1292); + // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1293); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1292::<>(__sym0, __sym1); + let __nt = super::__action1293::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 181) } @@ -24871,11 +24893,11 @@ mod __parse__Top { ) -> (usize, usize) { // OneOrMore = DictElement => ActionFn(240); - let __sym0 = __pop_Variant55(__symbols); + let __sym0 = __pop_Variant57(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action240::<>(__sym0); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (1, 182) } pub(crate) fn __reduce489< @@ -24887,13 +24909,13 @@ mod __parse__Top { { // OneOrMore = OneOrMore, ",", DictElement => ActionFn(241); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant55(__symbols); + let __sym2 = __pop_Variant57(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action241::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (3, 182) } pub(crate) fn __reduce490< @@ -24941,7 +24963,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action335::<>(__sym0); - __symbols.push((__start, __Symbol::Variant73(__nt), __end)); + __symbols.push((__start, __Symbol::Variant75(__nt), __end)); (1, 184) } pub(crate) fn __reduce493< @@ -24955,11 +24977,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant73(__symbols); + let __sym0 = __pop_Variant75(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action336::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant73(__nt), __end)); + __symbols.push((__start, __Symbol::Variant75(__nt), __end)); (3, 184) } pub(crate) fn __reduce494< @@ -24969,15 +24991,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName, "as", Identifier => ActionFn(1498); + // OneOrMore> = DottedName, "as", Identifier => ActionFn(1499); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1498::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1499::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } pub(crate) fn __reduce495< @@ -24987,12 +25009,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName => ActionFn(1499); + // OneOrMore> = DottedName => ActionFn(1500); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1499::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1500::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 185) } pub(crate) fn __reduce496< @@ -25002,17 +25024,17 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1500); + // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1501); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1500::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1501::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 185) } pub(crate) fn __reduce497< @@ -25022,15 +25044,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1501); + // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1502); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1501::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1502::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } pub(crate) fn __reduce498< @@ -25040,15 +25062,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier, "as", Identifier => ActionFn(1502); + // OneOrMore> = Identifier, "as", Identifier => ActionFn(1503); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1502::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1503::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } pub(crate) fn __reduce499< @@ -25058,12 +25080,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier => ActionFn(1503); + // OneOrMore> = Identifier => ActionFn(1504); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1503::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1504::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 186) } pub(crate) fn __reduce500< @@ -25073,17 +25095,17 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1504); + // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1505); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1504::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1505::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 186) } pub(crate) fn __reduce501< @@ -25093,15 +25115,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1505); + // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1506); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1505::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1506::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } pub(crate) fn __reduce502< @@ -25112,11 +25134,11 @@ mod __parse__Top { ) -> (usize, usize) { // OneOrMore = MatchKeywordEntry => ActionFn(308); - let __sym0 = __pop_Variant71(__symbols); + let __sym0 = __pop_Variant73(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action308::<>(__sym0); - __symbols.push((__start, __Symbol::Variant74(__nt), __end)); + __symbols.push((__start, __Symbol::Variant76(__nt), __end)); (1, 187) } pub(crate) fn __reduce503< @@ -25128,13 +25150,13 @@ mod __parse__Top { { // OneOrMore = OneOrMore, ",", MatchKeywordEntry => ActionFn(309); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant71(__symbols); + let __sym2 = __pop_Variant73(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant74(__symbols); + let __sym0 = __pop_Variant76(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action309::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant74(__nt), __end)); + __symbols.push((__start, __Symbol::Variant76(__nt), __end)); (3, 187) } pub(crate) fn __reduce504< @@ -25145,11 +25167,11 @@ mod __parse__Top { ) -> (usize, usize) { // OneOrMore = MatchMappingEntry => ActionFn(312); - let __sym0 = __pop_Variant72(__symbols); + let __sym0 = __pop_Variant74(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action312::<>(__sym0); - __symbols.push((__start, __Symbol::Variant75(__nt), __end)); + __symbols.push((__start, __Symbol::Variant77(__nt), __end)); (1, 188) } pub(crate) fn __reduce505< @@ -25161,13 +25183,13 @@ mod __parse__Top { { // OneOrMore = OneOrMore, ",", MatchMappingEntry => ActionFn(313); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant72(__symbols); + let __sym2 = __pop_Variant74(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant75(__symbols); + let __sym0 = __pop_Variant77(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action313::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant75(__nt), __end)); + __symbols.push((__start, __Symbol::Variant77(__nt), __end)); (3, 188) } pub(crate) fn __reduce506< @@ -25182,7 +25204,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action446::<>(__sym0); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (1, 189) } pub(crate) fn __reduce507< @@ -25196,11 +25218,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action447::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (3, 189) } pub(crate) fn __reduce508< @@ -25215,7 +25237,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action435::<>(__sym0); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (1, 190) } pub(crate) fn __reduce509< @@ -25229,11 +25251,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action436::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (3, 190) } pub(crate) fn __reduce510< @@ -25390,11 +25412,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrPattern = TwoOrMore => ActionFn(1293); + // OrPattern = TwoOrMore => ActionFn(1294); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1293::<>(__sym0); + let __nt = super::__action1294::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 195) } @@ -25405,13 +25427,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1294); + // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1295); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1294::<>(__sym0, __sym1); + let __nt = super::__action1295::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 196) } @@ -25437,13 +25459,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1295); + // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1296); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1295::<>(__sym0, __sym1); + let __nt = super::__action1296::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 197) } @@ -25536,11 +25558,11 @@ mod __parse__Top { ) -> (usize, usize) { // ParameterDefs = OneOrMore> => ActionFn(400); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action400::<>(__sym0); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (1, 200) } pub(crate) fn __reduce529< @@ -25554,11 +25576,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action660::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (3, 200) } pub(crate) fn __reduce530< @@ -25573,11 +25595,11 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action661::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (4, 200) } pub(crate) fn __reduce531< @@ -25588,11 +25610,11 @@ mod __parse__Top { ) -> (usize, usize) { // ParameterDefs = OneOrMore> => ActionFn(408); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action408::<>(__sym0); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (1, 201) } pub(crate) fn __reduce532< @@ -25606,11 +25628,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action668::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (3, 201) } pub(crate) fn __reduce533< @@ -25625,11 +25647,11 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action669::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); (4, 201) } pub(crate) fn __reduce610< @@ -25639,13 +25661,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1332); + // ParameterList = KwargParameter, "," => ActionFn(1333); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1332::<>(__sym0, __sym1); + let __nt = super::__action1333::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 202) } @@ -25656,11 +25678,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1333); + // ParameterList = KwargParameter => ActionFn(1334); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1333::<>(__sym0); + let __nt = super::__action1334::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 202) } @@ -25671,13 +25693,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1370); + // ParameterList = KwargParameter, "," => ActionFn(1371); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1370::<>(__sym0, __sym1); + let __nt = super::__action1371::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 203) } @@ -25688,11 +25710,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1371); + // ParameterList = KwargParameter => ActionFn(1372); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1371::<>(__sym0); + let __nt = super::__action1372::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 203) } @@ -25732,11 +25754,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // PassStatement = "pass" => ActionFn(1373); + // PassStatement = "pass" => ActionFn(1374); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1373::<>(__sym0); + let __nt = super::__action1374::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 208) } @@ -25782,7 +25804,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action383::<>(__sym0); - __symbols.push((__start, __Symbol::Variant78(__nt), __end)); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); (1, 210) } pub(crate) fn __reduce714< @@ -25796,7 +25818,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action384::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant78(__nt), __end)); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); (0, 210) } pub(crate) fn __reduce715< @@ -25806,13 +25828,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = Pattern, "," => ActionFn(1374); + // Patterns = Pattern, "," => ActionFn(1375); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1374::<>(__sym0, __sym1); + let __nt = super::__action1375::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25823,13 +25845,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore, "," => ActionFn(1375); + // Patterns = TwoOrMore, "," => ActionFn(1376); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1375::<>(__sym0, __sym1); + let __nt = super::__action1376::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25840,11 +25862,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore => ActionFn(1376); + // Patterns = TwoOrMore => ActionFn(1377); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1376::<>(__sym0); + let __nt = super::__action1377::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 211) } @@ -25870,14 +25892,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1377); + // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1378); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1377::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1378::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 212) } @@ -25903,14 +25925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1378); + // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1379); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1378::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1379::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 213) } @@ -26060,11 +26082,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise" => ActionFn(1379); + // RaiseStatement = "raise" => ActionFn(1380); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1379::<>(__sym0); + let __nt = super::__action1380::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 215) } @@ -26075,7 +26097,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1380); + // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1381); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26083,7 +26105,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1380::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1381::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 215) } @@ -26094,13 +26116,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all"> => ActionFn(1381); + // RaiseStatement = "raise", Test<"all"> => ActionFn(1382); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1381::<>(__sym0, __sym1); + let __nt = super::__action1382::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 215) } @@ -26111,14 +26133,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ")" => ActionFn(1382); + // SequencePattern = "(", Pattern, ")" => ActionFn(1383); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1382::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1383::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26129,13 +26151,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ")" => ActionFn(1383); + // SequencePattern = "(", ")" => ActionFn(1384); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1383::<>(__sym0, __sym1); + let __nt = super::__action1384::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26146,7 +26168,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1384); + // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1385); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26154,7 +26176,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1384::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1385::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26165,7 +26187,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1385); + // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1386); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26174,7 +26196,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1385::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1386::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 216) } @@ -26185,7 +26207,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1386); + // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1387); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26193,7 +26215,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1386::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1387::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26204,14 +26226,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", Pattern, "]" => ActionFn(1470); + // SequencePattern = "[", Pattern, "]" => ActionFn(1471); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1470::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1471::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26222,13 +26244,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", "]" => ActionFn(1471); + // SequencePattern = "[", "]" => ActionFn(1472); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1471::<>(__sym0, __sym1); + let __nt = super::__action1472::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26239,7 +26261,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1472); + // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1473); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26247,7 +26269,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1472::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1473::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26258,14 +26280,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, "]" => ActionFn(1473); + // SequencePattern = "[", ( ",")+, "]" => ActionFn(1474); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant34(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1473::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1474::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26308,14 +26330,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1388); + // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1389); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1388::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 218) } @@ -26341,14 +26363,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1389); + // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1390); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1390::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 219) } @@ -26404,7 +26426,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1476); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1477); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26413,8 +26435,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1476::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + let __nt = super::__action1477::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } pub(crate) fn __reduce751< @@ -26424,7 +26446,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1477); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1478); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant17(__symbols); let __sym4 = __pop_Variant15(__symbols); @@ -26434,8 +26456,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1477::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + let __nt = super::__action1478::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (6, 221) } pub(crate) fn __reduce752< @@ -26445,7 +26467,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1478); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1479); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26453,8 +26475,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1478::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (4, 221) } pub(crate) fn __reduce753< @@ -26464,7 +26486,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1479); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1480); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant17(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -26473,8 +26495,8 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + let __nt = super::__action1480::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } pub(crate) fn __reduce754< @@ -26485,11 +26507,11 @@ mod __parse__Top { ) -> (usize, usize) { // SingleForComprehension+ = SingleForComprehension => ActionFn(232); - let __sym0 = __pop_Variant79(__symbols); + let __sym0 = __pop_Variant81(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action232::<>(__sym0); - __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); (1, 222) } pub(crate) fn __reduce755< @@ -26501,12 +26523,12 @@ mod __parse__Top { { // SingleForComprehension+ = SingleForComprehension+, SingleForComprehension => ActionFn(233); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant79(__symbols); - let __sym0 = __pop_Variant80(__symbols); + let __sym1 = __pop_Variant81(__symbols); + let __sym0 = __pop_Variant82(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action233::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); (2, 222) } pub(crate) fn __reduce756< @@ -26516,14 +26538,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":", Test<"all"> => ActionFn(1638); + // SliceOp = ":", Test<"all"> => ActionFn(1639); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1638::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant81(__nt), __end)); + let __nt = super::__action1639::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (2, 223) } pub(crate) fn __reduce757< @@ -26533,12 +26555,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":" => ActionFn(1639); + // SliceOp = ":" => ActionFn(1640); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1639::<>(__sym0); - __symbols.push((__start, __Symbol::Variant81(__nt), __end)); + let __nt = super::__action1640::<>(__sym0); + __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (1, 223) } pub(crate) fn __reduce758< @@ -26549,11 +26571,11 @@ mod __parse__Top { ) -> (usize, usize) { // SliceOp? = SliceOp => ActionFn(244); - let __sym0 = __pop_Variant81(__symbols); + let __sym0 = __pop_Variant83(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action244::<>(__sym0); - __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + __symbols.push((__start, __Symbol::Variant84(__nt), __end)); (1, 224) } pub(crate) fn __reduce759< @@ -26567,7 +26589,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action245::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + __symbols.push((__start, __Symbol::Variant84(__nt), __end)); (0, 224) } pub(crate) fn __reduce760< @@ -26697,13 +26719,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarExpr = "*", Expression<"all"> => ActionFn(1392); + // StarExpr = "*", Expression<"all"> => ActionFn(1393); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1392::<>(__sym0, __sym1); + let __nt = super::__action1393::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 226) } @@ -26714,13 +26736,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarPattern = "*", Identifier => ActionFn(1393); + // StarPattern = "*", Identifier => ActionFn(1394); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1393::<>(__sym0, __sym1); + let __nt = super::__action1394::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 227) } @@ -26731,15 +26753,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1394); + // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1395); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1394::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1395::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 228) } pub(crate) fn __reduce771< @@ -26749,12 +26771,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier => ActionFn(1395); + // StarTypedParameter = Identifier => ActionFn(1396); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1395::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1396::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 228) } pub(crate) fn __reduce772< @@ -26765,11 +26787,11 @@ mod __parse__Top { ) -> (usize, usize) { // StarTypedParameter? = StarTypedParameter => ActionFn(455); - let __sym0 = __pop_Variant59(__symbols); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action455::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (1, 229) } pub(crate) fn __reduce773< @@ -26783,7 +26805,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action456::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (0, 229) } pub(crate) fn __reduce774< @@ -26793,12 +26815,12 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter = Identifier => ActionFn(1396); + // StarUntypedParameter = Identifier => ActionFn(1397); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1396::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1397::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 230) } pub(crate) fn __reduce775< @@ -26809,11 +26831,11 @@ mod __parse__Top { ) -> (usize, usize) { // StarUntypedParameter? = StarUntypedParameter => ActionFn(444); - let __sym0 = __pop_Variant59(__symbols); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action444::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (1, 231) } pub(crate) fn __reduce776< @@ -26827,7 +26849,7 @@ mod __parse__Top { let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); let __nt = super::__action445::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (0, 231) } pub(crate) fn __reduce777< @@ -26845,7 +26867,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action1136::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } pub(crate) fn __reduce778< @@ -26864,7 +26886,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action1137::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } pub(crate) fn __reduce779< @@ -26881,7 +26903,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action1138::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (2, 232) } pub(crate) fn __reduce780< @@ -26899,7 +26921,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action1139::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } pub(crate) fn __reduce781< @@ -26914,7 +26936,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action11::<>(__sym0); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (1, 232) } pub(crate) fn __reduce782< @@ -26927,11 +26949,11 @@ mod __parse__Top { // Statements = Statements, CompoundStatement => ActionFn(12); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action12::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (2, 232) } pub(crate) fn __reduce783< @@ -26946,11 +26968,11 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action1140::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } pub(crate) fn __reduce784< @@ -26966,11 +26988,11 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); let __sym1 = __pop_Variant36(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym4.2; let __nt = super::__action1141::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (5, 232) } pub(crate) fn __reduce785< @@ -26984,11 +27006,11 @@ mod __parse__Top { assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym2.2; let __nt = super::__action1142::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } pub(crate) fn __reduce786< @@ -27003,11 +27025,11 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); let __sym1 = __pop_Variant36(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action1143::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } pub(crate) fn __reduce787< @@ -27032,15 +27054,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1640); + // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1641); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant81(__symbols); + let __sym3 = __pop_Variant83(__symbols); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1640::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1641::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 233) } @@ -27051,14 +27073,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", SliceOp => ActionFn(1641); + // Subscript = Test<"all">, ":", SliceOp => ActionFn(1642); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant81(__symbols); + let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1641::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1642::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27069,14 +27091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all">, SliceOp => ActionFn(1642); + // Subscript = ":", Test<"all">, SliceOp => ActionFn(1643); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant81(__symbols); + let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1642::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1643::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27087,13 +27109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", SliceOp => ActionFn(1643); + // Subscript = ":", SliceOp => ActionFn(1644); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant81(__symbols); + let __sym1 = __pop_Variant83(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1643::<>(__sym0, __sym1); + let __nt = super::__action1644::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27104,14 +27126,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1644); + // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1645); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1644::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1645::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27122,13 +27144,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":" => ActionFn(1645); + // Subscript = Test<"all">, ":" => ActionFn(1646); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1645::<>(__sym0, __sym1); + let __nt = super::__action1646::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27139,13 +27161,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all"> => ActionFn(1646); + // Subscript = ":", Test<"all"> => ActionFn(1647); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1646::<>(__sym0, __sym1); + let __nt = super::__action1647::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27156,11 +27178,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":" => ActionFn(1647); + // Subscript = ":" => ActionFn(1648); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1647::<>(__sym0); + let __nt = super::__action1648::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 233) } @@ -27171,11 +27193,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript => ActionFn(1398); + // SubscriptList = Subscript => ActionFn(1399); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1398::<>(__sym0); + let __nt = super::__action1399::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27186,13 +27208,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript, "," => ActionFn(1399); + // SubscriptList = Subscript, "," => ActionFn(1400); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1399::<>(__sym0, __sym1); + let __nt = super::__action1400::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27203,13 +27225,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore, "," => ActionFn(1400); + // SubscriptList = TwoOrMore, "," => ActionFn(1401); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1400::<>(__sym0, __sym1); + let __nt = super::__action1401::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27220,11 +27242,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore => ActionFn(1401); + // SubscriptList = TwoOrMore => ActionFn(1402); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1401::<>(__sym0); + let __nt = super::__action1402::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27310,7 +27332,7 @@ mod __parse__Top { // Suite = "\n", Indent, Statements, Dedent => ActionFn(9); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant83(__symbols); + let __sym2 = __pop_Variant85(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; @@ -27326,14 +27348,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1402); + // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1403); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1402::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1403::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 236) } @@ -27359,14 +27381,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1403); + // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1404); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1403::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1404::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 237) } @@ -27392,7 +27414,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1404); + // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1405); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27401,7 +27423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1404::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1405::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 238) } @@ -27471,7 +27493,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1405); + // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1406); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27480,7 +27502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1405::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1406::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 240) } @@ -27536,11 +27558,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList? = GenericList => ActionFn(1652); + // TestList? = GenericList => ActionFn(1653); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1652::<>(__sym0); + let __nt = super::__action1653::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 242) } @@ -27565,11 +27587,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestListOrYieldExpr = GenericList => ActionFn(1653); + // TestListOrYieldExpr = GenericList => ActionFn(1654); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1653::<>(__sym0); + let __nt = super::__action1654::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 243) } @@ -27625,11 +27647,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExprList = GenericList => ActionFn(1654); + // TestOrStarExprList = GenericList => ActionFn(1655); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1654::<>(__sym0); + let __nt = super::__action1655::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 245) } @@ -27670,14 +27692,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartModule, Program => ActionFn(1406); + // Top = StartModule, Program => ActionFn(1407); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1406::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + let __nt = super::__action1407::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } pub(crate) fn __reduce828< @@ -27687,14 +27709,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartInteractive, Program => ActionFn(1407); + // Top = StartInteractive, Program => ActionFn(1408); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1407::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + let __nt = super::__action1408::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } pub(crate) fn __reduce829< @@ -27704,14 +27726,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList => ActionFn(1655); + // Top = StartExpression, GenericList => ActionFn(1656); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1655::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + let __nt = super::__action1656::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } pub(crate) fn __reduce830< @@ -27721,15 +27743,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1656); + // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1657); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant22(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1656::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + let __nt = super::__action1657::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (3, 247) } pub(crate) fn __reduce831< @@ -27739,7 +27761,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1410); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1411); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27747,13 +27769,13 @@ mod __parse__Top { let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1410::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27764,18 +27786,18 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1411); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1412); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27786,18 +27808,18 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1412); + // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1413); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1413::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27808,15 +27830,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1413); + // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1414); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1413::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1414::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -27827,7 +27849,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1414); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1415); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27835,13 +27857,13 @@ mod __parse__Top { let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1414::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1415::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27852,18 +27874,18 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1415); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1416); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1415::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1416::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27874,18 +27896,18 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1416); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1417); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1416::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27896,15 +27918,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1417); + // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1418); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1418::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -28080,14 +28102,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1418); + // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1419); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1418::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1419::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (3, 253) } @@ -28098,11 +28120,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier => ActionFn(1419); + // TypedParameter = Identifier => ActionFn(1420); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1419::<>(__sym0); + let __nt = super::__action1420::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 253) } @@ -28118,7 +28140,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action191::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); (1, 254) } pub(crate) fn __reduce851< @@ -28133,7 +28155,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action192::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); (1, 254) } pub(crate) fn __reduce852< @@ -28148,7 +28170,7 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action193::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); (1, 254) } pub(crate) fn __reduce853< @@ -28158,11 +28180,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UntypedParameter = Identifier => ActionFn(1420); + // UntypedParameter = Identifier => ActionFn(1421); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1420::<>(__sym0); + let __nt = super::__action1421::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 255) } @@ -28173,11 +28195,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ValuePattern = MatchNameOrAttr => ActionFn(1421); + // ValuePattern = MatchNameOrAttr => ActionFn(1422); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1421::<>(__sym0); + let __nt = super::__action1422::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 256) } @@ -28229,11 +28251,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all"> => ActionFn(1422); + // WithItem<"all"> = Test<"all"> => ActionFn(1423); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1422::<>(__sym0); + let __nt = super::__action1423::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 258) } @@ -28244,14 +28266,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1423); + // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1424); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1423::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1424::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 258) } @@ -28262,14 +28284,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1424); + // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1425); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1424::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1425::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 259) } @@ -28280,11 +28302,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1425); + // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1426); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1425::<>(__sym0); + let __nt = super::__action1426::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 260) } @@ -28295,14 +28317,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1426); + // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1427); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1426::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1427::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 260) } @@ -28313,7 +28335,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1433); + // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1434); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28321,7 +28343,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1433::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1434::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28332,14 +28354,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ")" => ActionFn(1434); + // WithItems = "(", OneOrMore>, ")" => ActionFn(1435); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1434::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1435::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28350,7 +28372,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1436); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1437); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -28360,7 +28382,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1436::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1437::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28371,7 +28393,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1437); + // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1438); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28379,7 +28401,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1437::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1438::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28390,7 +28412,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1438); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1439); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28401,7 +28423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1438::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1439::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (7, 261) } @@ -28412,7 +28434,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1439); + // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1440); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28421,7 +28443,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1439::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28432,7 +28454,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1440); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1441); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant18(__symbols); @@ -28441,7 +28463,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1441::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28452,14 +28474,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ")" => ActionFn(1441); + // WithItems = "(", WithItem<"as">, ")" => ActionFn(1442); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1441::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1442::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28470,7 +28492,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1442); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1443); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant19(__symbols); @@ -28480,7 +28502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1442::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28491,7 +28513,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1443); + // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1444); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant19(__symbols); @@ -28499,7 +28521,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1444::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28542,11 +28564,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItemsNoAs = OneOrMore> => ActionFn(1427); + // WithItemsNoAs = OneOrMore> => ActionFn(1428); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1427::<>(__sym0); + let __nt = super::__action1428::<>(__sym0); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (1, 262) } @@ -28596,14 +28618,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1428); + // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1429); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1428::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1429::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 264) } @@ -28629,14 +28651,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1429); + // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1430); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1429::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1430::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 265) } @@ -28662,13 +28684,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", GenericList => ActionFn(1659); + // YieldExpr = "yield", GenericList => ActionFn(1660); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1659::<>(__sym0, __sym1); + let __nt = super::__action1660::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 266) } @@ -28679,11 +28701,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield" => ActionFn(1660); + // YieldExpr = "yield" => ActionFn(1661); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1660::<>(__sym0); + let __nt = super::__action1661::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 266) } @@ -28694,14 +28716,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1431); + // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1432); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1431::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1432::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 266) } @@ -31053,7 +31075,7 @@ fn __action156< fn __action157< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -31176,7 +31198,7 @@ fn __action163< fn __action164< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), (_, a, _): (TextSize, core::option::Option<(token::Tok, ArgumentList, token::Tok)>, TextSize), @@ -31209,11 +31231,12 @@ fn __action165< (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, p, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), -) -> ast::Expr +) -> ast::Decorator { { - p + ast::Decorator { range: optional_range(location, end_location), expression: p } } } @@ -32532,7 +32555,7 @@ fn __action273< >( __lookbehind: &TextSize, __lookahead: &TextSize, -) -> alloc::vec::Vec +) -> alloc::vec::Vec { alloc::vec![] } @@ -32540,8 +32563,8 @@ fn __action273< #[allow(clippy::too_many_arguments)] fn __action274< >( - (_, v, _): (TextSize, alloc::vec::Vec, TextSize), -) -> alloc::vec::Vec + (_, v, _): (TextSize, alloc::vec::Vec, TextSize), +) -> alloc::vec::Vec { v } @@ -33774,8 +33797,8 @@ fn __action391< #[allow(clippy::too_many_arguments)] fn __action392< >( - (_, __0, _): (TextSize, ast::Expr, TextSize), -) -> alloc::vec::Vec + (_, __0, _): (TextSize, ast::Decorator, TextSize), +) -> alloc::vec::Vec { alloc::vec![__0] } @@ -33783,9 +33806,9 @@ fn __action392< #[allow(clippy::too_many_arguments)] fn __action393< >( - (_, v, _): (TextSize, alloc::vec::Vec, TextSize), - (_, e, _): (TextSize, ast::Expr, TextSize), -) -> alloc::vec::Vec + (_, v, _): (TextSize, alloc::vec::Vec, TextSize), + (_, e, _): (TextSize, ast::Decorator, TextSize), +) -> alloc::vec::Vec { { let mut v = v; v.push(e); v } } @@ -37862,7 +37885,7 @@ fn __action638< fn __action639< >( __0: (TextSize, TextSize, TextSize), - __1: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, token::Tok, TextSize), __4: (TextSize, ast::Identifier, TextSize), @@ -37895,7 +37918,7 @@ fn __action639< fn __action640< >( __0: (TextSize, TextSize, TextSize), - __1: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, ast::Arguments, TextSize), @@ -38065,7 +38088,7 @@ fn __action645< fn __action646< >( __0: (TextSize, TextSize, TextSize), - __1: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, token::Tok, TextSize), @@ -38098,7 +38121,7 @@ fn __action646< fn __action647< >( __0: (TextSize, TextSize, TextSize), - __1: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), __4: (TextSize, token::Tok, TextSize), @@ -40356,7 +40379,7 @@ fn __action739< #[allow(clippy::too_many_arguments)] fn __action740< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, token::Tok, TextSize), @@ -40389,7 +40412,7 @@ fn __action740< #[allow(clippy::too_many_arguments)] fn __action741< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, token::Tok, TextSize), @@ -40910,8 +40933,9 @@ fn __action760< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), - __2: (TextSize, token::Tok, TextSize), -) -> ast::Expr + __2: (TextSize, TextSize, TextSize), + __3: (TextSize, token::Tok, TextSize), +) -> ast::Decorator { let __start0 = __0.0; let __end0 = __0.0; @@ -40925,6 +40949,7 @@ fn __action760< __0, __1, __2, + __3, ) } @@ -41402,7 +41427,7 @@ fn __action779< #[allow(clippy::too_many_arguments)] fn __action780< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), @@ -41435,7 +41460,7 @@ fn __action780< #[allow(clippy::too_many_arguments)] fn __action781< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, ast::Arguments, TextSize), @@ -47906,7 +47931,7 @@ fn __action1045< #[allow(clippy::too_many_arguments)] fn __action1046< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), @@ -47939,7 +47964,7 @@ fn __action1046< #[allow(clippy::too_many_arguments)] fn __action1047< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), @@ -47970,7 +47995,7 @@ fn __action1047< #[allow(clippy::too_many_arguments)] fn __action1048< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, ast::Arguments, TextSize), @@ -48001,7 +48026,7 @@ fn __action1048< #[allow(clippy::too_many_arguments)] fn __action1049< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, ast::Arguments, TextSize), @@ -52557,6 +52582,29 @@ fn __action1235< #[allow(clippy::too_many_arguments)] fn __action1236< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, token::Tok, TextSize), +) -> ast::Decorator +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action760( + __0, + __1, + __temp0, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1237< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -52577,7 +52625,7 @@ fn __action1236< } #[allow(clippy::too_many_arguments)] -fn __action1237< +fn __action1238< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52600,7 +52648,7 @@ fn __action1237< } #[allow(clippy::too_many_arguments)] -fn __action1238< +fn __action1239< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -52619,7 +52667,7 @@ fn __action1238< } #[allow(clippy::too_many_arguments)] -fn __action1239< +fn __action1240< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52642,7 +52690,7 @@ fn __action1239< } #[allow(clippy::too_many_arguments)] -fn __action1240< +fn __action1241< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52665,7 +52713,7 @@ fn __action1240< } #[allow(clippy::too_many_arguments)] -fn __action1241< +fn __action1242< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -52686,7 +52734,7 @@ fn __action1241< } #[allow(clippy::too_many_arguments)] -fn __action1242< +fn __action1243< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -52709,7 +52757,7 @@ fn __action1242< } #[allow(clippy::too_many_arguments)] -fn __action1243< +fn __action1244< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52734,7 +52782,7 @@ fn __action1243< } #[allow(clippy::too_many_arguments)] -fn __action1244< +fn __action1245< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52755,7 +52803,7 @@ fn __action1244< } #[allow(clippy::too_many_arguments)] -fn __action1245< +fn __action1246< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52776,7 +52824,7 @@ fn __action1245< } #[allow(clippy::too_many_arguments)] -fn __action1246< +fn __action1247< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -52795,7 +52843,7 @@ fn __action1246< } #[allow(clippy::too_many_arguments)] -fn __action1247< +fn __action1248< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -52814,7 +52862,7 @@ fn __action1247< } #[allow(clippy::too_many_arguments)] -fn __action1248< +fn __action1249< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -52835,7 +52883,7 @@ fn __action1248< } #[allow(clippy::too_many_arguments)] -fn __action1249< +fn __action1250< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt @@ -52854,7 +52902,7 @@ fn __action1249< } #[allow(clippy::too_many_arguments)] -fn __action1250< +fn __action1251< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -52875,7 +52923,7 @@ fn __action1250< } #[allow(clippy::too_many_arguments)] -fn __action1251< +fn __action1252< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52898,7 +52946,7 @@ fn __action1251< } #[allow(clippy::too_many_arguments)] -fn __action1252< +fn __action1253< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52919,7 +52967,7 @@ fn __action1252< } #[allow(clippy::too_many_arguments)] -fn __action1253< +fn __action1254< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52940,7 +52988,7 @@ fn __action1253< } #[allow(clippy::too_many_arguments)] -fn __action1254< +fn __action1255< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52961,7 +53009,7 @@ fn __action1254< } #[allow(clippy::too_many_arguments)] -fn __action1255< +fn __action1256< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -52980,7 +53028,7 @@ fn __action1255< } #[allow(clippy::too_many_arguments)] -fn __action1256< +fn __action1257< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53001,7 +53049,7 @@ fn __action1256< } #[allow(clippy::too_many_arguments)] -fn __action1257< +fn __action1258< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -53020,7 +53068,7 @@ fn __action1257< } #[allow(clippy::too_many_arguments)] -fn __action1258< +fn __action1259< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53041,7 +53089,7 @@ fn __action1258< } #[allow(clippy::too_many_arguments)] -fn __action1259< +fn __action1260< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53064,7 +53112,7 @@ fn __action1259< } #[allow(clippy::too_many_arguments)] -fn __action1260< +fn __action1261< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias @@ -53083,7 +53131,7 @@ fn __action1260< } #[allow(clippy::too_many_arguments)] -fn __action1261< +fn __action1262< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53106,7 +53154,7 @@ fn __action1261< } #[allow(clippy::too_many_arguments)] -fn __action1262< +fn __action1263< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias @@ -53125,7 +53173,7 @@ fn __action1262< } #[allow(clippy::too_many_arguments)] -fn __action1263< +fn __action1264< >( __0: (TextSize, Vec, TextSize), ) -> Vec @@ -53144,7 +53192,7 @@ fn __action1263< } #[allow(clippy::too_many_arguments)] -fn __action1264< +fn __action1265< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53169,7 +53217,7 @@ fn __action1264< } #[allow(clippy::too_many_arguments)] -fn __action1265< +fn __action1266< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53192,7 +53240,7 @@ fn __action1265< } #[allow(clippy::too_many_arguments)] -fn __action1266< +fn __action1267< >( __0: (TextSize, token::Tok, TextSize), ) -> Vec @@ -53211,7 +53259,7 @@ fn __action1266< } #[allow(clippy::too_many_arguments)] -fn __action1267< +fn __action1268< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53232,7 +53280,7 @@ fn __action1267< } #[allow(clippy::too_many_arguments)] -fn __action1268< +fn __action1269< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (Option, Option), TextSize), @@ -53257,7 +53305,7 @@ fn __action1268< } #[allow(clippy::too_many_arguments)] -fn __action1269< +fn __action1270< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -53282,7 +53330,7 @@ fn __action1269< } #[allow(clippy::too_many_arguments)] -fn __action1270< +fn __action1271< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53301,7 +53349,7 @@ fn __action1270< } #[allow(clippy::too_many_arguments)] -fn __action1271< +fn __action1272< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53320,7 +53368,7 @@ fn __action1271< } #[allow(clippy::too_many_arguments)] -fn __action1272< +fn __action1273< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53339,7 +53387,7 @@ fn __action1272< } #[allow(clippy::too_many_arguments)] -fn __action1273< +fn __action1274< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -53358,7 +53406,7 @@ fn __action1273< } #[allow(clippy::too_many_arguments)] -fn __action1274< +fn __action1275< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -53377,7 +53425,7 @@ fn __action1274< } #[allow(clippy::too_many_arguments)] -fn __action1275< +fn __action1276< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> @@ -53396,7 +53444,7 @@ fn __action1275< } #[allow(clippy::too_many_arguments)] -fn __action1276< +fn __action1277< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53415,7 +53463,7 @@ fn __action1276< } #[allow(clippy::too_many_arguments)] -fn __action1277< +fn __action1278< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53434,7 +53482,7 @@ fn __action1277< } #[allow(clippy::too_many_arguments)] -fn __action1278< +fn __action1279< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53453,7 +53501,7 @@ fn __action1278< } #[allow(clippy::too_many_arguments)] -fn __action1279< +fn __action1280< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53474,7 +53522,7 @@ fn __action1279< } #[allow(clippy::too_many_arguments)] -fn __action1280< +fn __action1281< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53499,7 +53547,7 @@ fn __action1280< } #[allow(clippy::too_many_arguments)] -fn __action1281< +fn __action1282< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53522,7 +53570,7 @@ fn __action1281< } #[allow(clippy::too_many_arguments)] -fn __action1282< +fn __action1283< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53549,7 +53597,7 @@ fn __action1282< } #[allow(clippy::too_many_arguments)] -fn __action1283< +fn __action1284< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53574,7 +53622,7 @@ fn __action1283< } #[allow(clippy::too_many_arguments)] -fn __action1284< +fn __action1285< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53605,7 +53653,7 @@ fn __action1284< } #[allow(clippy::too_many_arguments)] -fn __action1285< +fn __action1286< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53634,7 +53682,7 @@ fn __action1285< } #[allow(clippy::too_many_arguments)] -fn __action1286< +fn __action1287< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr @@ -53653,7 +53701,7 @@ fn __action1286< } #[allow(clippy::too_many_arguments)] -fn __action1287< +fn __action1288< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53676,7 +53724,7 @@ fn __action1287< } #[allow(clippy::too_many_arguments)] -fn __action1288< +fn __action1289< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53699,7 +53747,7 @@ fn __action1288< } #[allow(clippy::too_many_arguments)] -fn __action1289< +fn __action1290< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53722,7 +53770,7 @@ fn __action1289< } #[allow(clippy::too_many_arguments)] -fn __action1290< +fn __action1291< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53743,7 +53791,7 @@ fn __action1290< } #[allow(clippy::too_many_arguments)] -fn __action1291< +fn __action1292< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53764,7 +53812,7 @@ fn __action1291< } #[allow(clippy::too_many_arguments)] -fn __action1292< +fn __action1293< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53785,7 +53833,7 @@ fn __action1292< } #[allow(clippy::too_many_arguments)] -fn __action1293< +fn __action1294< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern @@ -53804,7 +53852,7 @@ fn __action1293< } #[allow(clippy::too_many_arguments)] -fn __action1294< +fn __action1295< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53825,7 +53873,7 @@ fn __action1294< } #[allow(clippy::too_many_arguments)] -fn __action1295< +fn __action1296< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53846,7 +53894,7 @@ fn __action1295< } #[allow(clippy::too_many_arguments)] -fn __action1296< +fn __action1297< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53877,7 +53925,7 @@ fn __action1296< } #[allow(clippy::too_many_arguments)] -fn __action1297< +fn __action1298< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53906,7 +53954,7 @@ fn __action1297< } #[allow(clippy::too_many_arguments)] -fn __action1298< +fn __action1299< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53939,7 +53987,7 @@ fn __action1298< } #[allow(clippy::too_many_arguments)] -fn __action1299< +fn __action1300< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53970,7 +54018,7 @@ fn __action1299< } #[allow(clippy::too_many_arguments)] -fn __action1300< +fn __action1301< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53997,7 +54045,7 @@ fn __action1300< } #[allow(clippy::too_many_arguments)] -fn __action1301< +fn __action1302< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54022,7 +54070,7 @@ fn __action1301< } #[allow(clippy::too_many_arguments)] -fn __action1302< +fn __action1303< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54051,7 +54099,7 @@ fn __action1302< } #[allow(clippy::too_many_arguments)] -fn __action1303< +fn __action1304< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54078,7 +54126,7 @@ fn __action1303< } #[allow(clippy::too_many_arguments)] -fn __action1304< +fn __action1305< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54099,7 +54147,7 @@ fn __action1304< } #[allow(clippy::too_many_arguments)] -fn __action1305< +fn __action1306< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54128,7 +54176,7 @@ fn __action1305< } #[allow(clippy::too_many_arguments)] -fn __action1306< +fn __action1307< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54155,7 +54203,7 @@ fn __action1306< } #[allow(clippy::too_many_arguments)] -fn __action1307< +fn __action1308< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54186,7 +54234,7 @@ fn __action1307< } #[allow(clippy::too_many_arguments)] -fn __action1308< +fn __action1309< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54215,7 +54263,7 @@ fn __action1308< } #[allow(clippy::too_many_arguments)] -fn __action1309< +fn __action1310< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54240,7 +54288,7 @@ fn __action1309< } #[allow(clippy::too_many_arguments)] -fn __action1310< +fn __action1311< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54263,7 +54311,7 @@ fn __action1310< } #[allow(clippy::too_many_arguments)] -fn __action1311< +fn __action1312< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54290,7 +54338,7 @@ fn __action1311< } #[allow(clippy::too_many_arguments)] -fn __action1312< +fn __action1313< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54315,7 +54363,7 @@ fn __action1312< } #[allow(clippy::too_many_arguments)] -fn __action1313< +fn __action1314< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -54334,7 +54382,7 @@ fn __action1313< } #[allow(clippy::too_many_arguments)] -fn __action1314< +fn __action1315< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54359,7 +54407,7 @@ fn __action1314< } #[allow(clippy::too_many_arguments)] -fn __action1315< +fn __action1316< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54382,7 +54430,7 @@ fn __action1315< } #[allow(clippy::too_many_arguments)] -fn __action1316< +fn __action1317< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54409,7 +54457,7 @@ fn __action1316< } #[allow(clippy::too_many_arguments)] -fn __action1317< +fn __action1318< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54434,7 +54482,7 @@ fn __action1317< } #[allow(clippy::too_many_arguments)] -fn __action1318< +fn __action1319< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54463,7 +54511,7 @@ fn __action1318< } #[allow(clippy::too_many_arguments)] -fn __action1319< +fn __action1320< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54490,7 +54538,7 @@ fn __action1319< } #[allow(clippy::too_many_arguments)] -fn __action1320< +fn __action1321< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54513,7 +54561,7 @@ fn __action1320< } #[allow(clippy::too_many_arguments)] -fn __action1321< +fn __action1322< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54534,7 +54582,7 @@ fn __action1321< } #[allow(clippy::too_many_arguments)] -fn __action1322< +fn __action1323< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54559,7 +54607,7 @@ fn __action1322< } #[allow(clippy::too_many_arguments)] -fn __action1323< +fn __action1324< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54582,7 +54630,7 @@ fn __action1323< } #[allow(clippy::too_many_arguments)] -fn __action1324< +fn __action1325< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54607,7 +54655,7 @@ fn __action1324< } #[allow(clippy::too_many_arguments)] -fn __action1325< +fn __action1326< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54630,7 +54678,7 @@ fn __action1325< } #[allow(clippy::too_many_arguments)] -fn __action1326< +fn __action1327< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54657,7 +54705,7 @@ fn __action1326< } #[allow(clippy::too_many_arguments)] -fn __action1327< +fn __action1328< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54682,7 +54730,7 @@ fn __action1327< } #[allow(clippy::too_many_arguments)] -fn __action1328< +fn __action1329< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54703,7 +54751,7 @@ fn __action1328< } #[allow(clippy::too_many_arguments)] -fn __action1329< +fn __action1330< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -54722,7 +54770,7 @@ fn __action1329< } #[allow(clippy::too_many_arguments)] -fn __action1330< +fn __action1331< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54745,7 +54793,7 @@ fn __action1330< } #[allow(clippy::too_many_arguments)] -fn __action1331< +fn __action1332< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54766,7 +54814,7 @@ fn __action1331< } #[allow(clippy::too_many_arguments)] -fn __action1332< +fn __action1333< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54787,7 +54835,7 @@ fn __action1332< } #[allow(clippy::too_many_arguments)] -fn __action1333< +fn __action1334< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -54806,7 +54854,7 @@ fn __action1333< } #[allow(clippy::too_many_arguments)] -fn __action1334< +fn __action1335< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54837,7 +54885,7 @@ fn __action1334< } #[allow(clippy::too_many_arguments)] -fn __action1335< +fn __action1336< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54866,7 +54914,7 @@ fn __action1335< } #[allow(clippy::too_many_arguments)] -fn __action1336< +fn __action1337< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54899,7 +54947,7 @@ fn __action1336< } #[allow(clippy::too_many_arguments)] -fn __action1337< +fn __action1338< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54930,7 +54978,7 @@ fn __action1337< } #[allow(clippy::too_many_arguments)] -fn __action1338< +fn __action1339< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54957,7 +55005,7 @@ fn __action1338< } #[allow(clippy::too_many_arguments)] -fn __action1339< +fn __action1340< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54982,7 +55030,7 @@ fn __action1339< } #[allow(clippy::too_many_arguments)] -fn __action1340< +fn __action1341< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55011,7 +55059,7 @@ fn __action1340< } #[allow(clippy::too_many_arguments)] -fn __action1341< +fn __action1342< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55038,7 +55086,7 @@ fn __action1341< } #[allow(clippy::too_many_arguments)] -fn __action1342< +fn __action1343< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55059,7 +55107,7 @@ fn __action1342< } #[allow(clippy::too_many_arguments)] -fn __action1343< +fn __action1344< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55088,7 +55136,7 @@ fn __action1343< } #[allow(clippy::too_many_arguments)] -fn __action1344< +fn __action1345< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55115,7 +55163,7 @@ fn __action1344< } #[allow(clippy::too_many_arguments)] -fn __action1345< +fn __action1346< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55146,7 +55194,7 @@ fn __action1345< } #[allow(clippy::too_many_arguments)] -fn __action1346< +fn __action1347< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55175,7 +55223,7 @@ fn __action1346< } #[allow(clippy::too_many_arguments)] -fn __action1347< +fn __action1348< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55200,7 +55248,7 @@ fn __action1347< } #[allow(clippy::too_many_arguments)] -fn __action1348< +fn __action1349< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55223,7 +55271,7 @@ fn __action1348< } #[allow(clippy::too_many_arguments)] -fn __action1349< +fn __action1350< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55250,7 +55298,7 @@ fn __action1349< } #[allow(clippy::too_many_arguments)] -fn __action1350< +fn __action1351< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55275,7 +55323,7 @@ fn __action1350< } #[allow(clippy::too_many_arguments)] -fn __action1351< +fn __action1352< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -55294,7 +55342,7 @@ fn __action1351< } #[allow(clippy::too_many_arguments)] -fn __action1352< +fn __action1353< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55319,7 +55367,7 @@ fn __action1352< } #[allow(clippy::too_many_arguments)] -fn __action1353< +fn __action1354< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55342,7 +55390,7 @@ fn __action1353< } #[allow(clippy::too_many_arguments)] -fn __action1354< +fn __action1355< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55369,7 +55417,7 @@ fn __action1354< } #[allow(clippy::too_many_arguments)] -fn __action1355< +fn __action1356< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55394,7 +55442,7 @@ fn __action1355< } #[allow(clippy::too_many_arguments)] -fn __action1356< +fn __action1357< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55423,7 +55471,7 @@ fn __action1356< } #[allow(clippy::too_many_arguments)] -fn __action1357< +fn __action1358< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55450,7 +55498,7 @@ fn __action1357< } #[allow(clippy::too_many_arguments)] -fn __action1358< +fn __action1359< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55473,7 +55521,7 @@ fn __action1358< } #[allow(clippy::too_many_arguments)] -fn __action1359< +fn __action1360< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55494,7 +55542,7 @@ fn __action1359< } #[allow(clippy::too_many_arguments)] -fn __action1360< +fn __action1361< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55519,7 +55567,7 @@ fn __action1360< } #[allow(clippy::too_many_arguments)] -fn __action1361< +fn __action1362< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55542,7 +55590,7 @@ fn __action1361< } #[allow(clippy::too_many_arguments)] -fn __action1362< +fn __action1363< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55567,7 +55615,7 @@ fn __action1362< } #[allow(clippy::too_many_arguments)] -fn __action1363< +fn __action1364< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55590,7 +55638,7 @@ fn __action1363< } #[allow(clippy::too_many_arguments)] -fn __action1364< +fn __action1365< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55617,7 +55665,7 @@ fn __action1364< } #[allow(clippy::too_many_arguments)] -fn __action1365< +fn __action1366< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55642,7 +55690,7 @@ fn __action1365< } #[allow(clippy::too_many_arguments)] -fn __action1366< +fn __action1367< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55663,7 +55711,7 @@ fn __action1366< } #[allow(clippy::too_many_arguments)] -fn __action1367< +fn __action1368< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -55682,7 +55730,7 @@ fn __action1367< } #[allow(clippy::too_many_arguments)] -fn __action1368< +fn __action1369< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55705,7 +55753,7 @@ fn __action1368< } #[allow(clippy::too_many_arguments)] -fn __action1369< +fn __action1370< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55726,7 +55774,7 @@ fn __action1369< } #[allow(clippy::too_many_arguments)] -fn __action1370< +fn __action1371< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55747,7 +55795,7 @@ fn __action1370< } #[allow(clippy::too_many_arguments)] -fn __action1371< +fn __action1372< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -55766,7 +55814,7 @@ fn __action1371< } #[allow(clippy::too_many_arguments)] -fn __action1372< +fn __action1373< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -55789,7 +55837,7 @@ fn __action1372< } #[allow(clippy::too_many_arguments)] -fn __action1373< +fn __action1374< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -55808,7 +55856,7 @@ fn __action1373< } #[allow(clippy::too_many_arguments)] -fn __action1374< +fn __action1375< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55829,7 +55877,7 @@ fn __action1374< } #[allow(clippy::too_many_arguments)] -fn __action1375< +fn __action1376< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55850,7 +55898,7 @@ fn __action1375< } #[allow(clippy::too_many_arguments)] -fn __action1376< +fn __action1377< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern @@ -55869,7 +55917,7 @@ fn __action1376< } #[allow(clippy::too_many_arguments)] -fn __action1377< +fn __action1378< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55892,7 +55940,7 @@ fn __action1377< } #[allow(clippy::too_many_arguments)] -fn __action1378< +fn __action1379< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55915,7 +55963,7 @@ fn __action1378< } #[allow(clippy::too_many_arguments)] -fn __action1379< +fn __action1380< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -55934,7 +55982,7 @@ fn __action1379< } #[allow(clippy::too_many_arguments)] -fn __action1380< +fn __action1381< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -55959,7 +56007,7 @@ fn __action1380< } #[allow(clippy::too_many_arguments)] -fn __action1381< +fn __action1382< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -55980,7 +56028,7 @@ fn __action1381< } #[allow(clippy::too_many_arguments)] -fn __action1382< +fn __action1383< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56003,7 +56051,7 @@ fn __action1382< } #[allow(clippy::too_many_arguments)] -fn __action1383< +fn __action1384< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56024,7 +56072,7 @@ fn __action1383< } #[allow(clippy::too_many_arguments)] -fn __action1384< +fn __action1385< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56049,7 +56097,7 @@ fn __action1384< } #[allow(clippy::too_many_arguments)] -fn __action1385< +fn __action1386< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56076,7 +56124,7 @@ fn __action1385< } #[allow(clippy::too_many_arguments)] -fn __action1386< +fn __action1387< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56101,7 +56149,7 @@ fn __action1386< } #[allow(clippy::too_many_arguments)] -fn __action1387< +fn __action1388< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -56124,7 +56172,7 @@ fn __action1387< } #[allow(clippy::too_many_arguments)] -fn __action1388< +fn __action1389< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56147,7 +56195,7 @@ fn __action1388< } #[allow(clippy::too_many_arguments)] -fn __action1389< +fn __action1390< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56170,7 +56218,7 @@ fn __action1389< } #[allow(clippy::too_many_arguments)] -fn __action1390< +fn __action1391< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56199,7 +56247,7 @@ fn __action1390< } #[allow(clippy::too_many_arguments)] -fn __action1391< +fn __action1392< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56226,7 +56274,7 @@ fn __action1391< } #[allow(clippy::too_many_arguments)] -fn __action1392< +fn __action1393< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56247,7 +56295,7 @@ fn __action1392< } #[allow(clippy::too_many_arguments)] -fn __action1393< +fn __action1394< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -56268,7 +56316,7 @@ fn __action1393< } #[allow(clippy::too_many_arguments)] -fn __action1394< +fn __action1395< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56291,7 +56339,7 @@ fn __action1394< } #[allow(clippy::too_many_arguments)] -fn __action1395< +fn __action1396< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56310,7 +56358,7 @@ fn __action1395< } #[allow(clippy::too_many_arguments)] -fn __action1396< +fn __action1397< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56329,7 +56377,7 @@ fn __action1396< } #[allow(clippy::too_many_arguments)] -fn __action1397< +fn __action1398< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56354,7 +56402,7 @@ fn __action1397< } #[allow(clippy::too_many_arguments)] -fn __action1398< +fn __action1399< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -56373,7 +56421,7 @@ fn __action1398< } #[allow(clippy::too_many_arguments)] -fn __action1399< +fn __action1400< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56394,7 +56442,7 @@ fn __action1399< } #[allow(clippy::too_many_arguments)] -fn __action1400< +fn __action1401< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56415,7 +56463,7 @@ fn __action1400< } #[allow(clippy::too_many_arguments)] -fn __action1401< +fn __action1402< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -56434,7 +56482,7 @@ fn __action1401< } #[allow(clippy::too_many_arguments)] -fn __action1402< +fn __action1403< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56457,7 +56505,7 @@ fn __action1402< } #[allow(clippy::too_many_arguments)] -fn __action1403< +fn __action1404< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56480,7 +56528,7 @@ fn __action1403< } #[allow(clippy::too_many_arguments)] -fn __action1404< +fn __action1405< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56507,7 +56555,7 @@ fn __action1404< } #[allow(clippy::too_many_arguments)] -fn __action1405< +fn __action1406< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56534,7 +56582,7 @@ fn __action1405< } #[allow(clippy::too_many_arguments)] -fn __action1406< +fn __action1407< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56555,7 +56603,7 @@ fn __action1406< } #[allow(clippy::too_many_arguments)] -fn __action1407< +fn __action1408< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56576,7 +56624,7 @@ fn __action1407< } #[allow(clippy::too_many_arguments)] -fn __action1408< +fn __action1409< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56597,7 +56645,7 @@ fn __action1408< } #[allow(clippy::too_many_arguments)] -fn __action1409< +fn __action1410< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56620,7 +56668,7 @@ fn __action1409< } #[allow(clippy::too_many_arguments)] -fn __action1410< +fn __action1411< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56657,7 +56705,7 @@ fn __action1410< } #[allow(clippy::too_many_arguments)] -fn __action1411< +fn __action1412< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56688,7 +56736,7 @@ fn __action1411< } #[allow(clippy::too_many_arguments)] -fn __action1412< +fn __action1413< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56719,7 +56767,7 @@ fn __action1412< } #[allow(clippy::too_many_arguments)] -fn __action1413< +fn __action1414< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56744,7 +56792,7 @@ fn __action1413< } #[allow(clippy::too_many_arguments)] -fn __action1414< +fn __action1415< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56781,7 +56829,7 @@ fn __action1414< } #[allow(clippy::too_many_arguments)] -fn __action1415< +fn __action1416< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56812,7 +56860,7 @@ fn __action1415< } #[allow(clippy::too_many_arguments)] -fn __action1416< +fn __action1417< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56843,7 +56891,7 @@ fn __action1416< } #[allow(clippy::too_many_arguments)] -fn __action1417< +fn __action1418< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56868,7 +56916,7 @@ fn __action1417< } #[allow(clippy::too_many_arguments)] -fn __action1418< +fn __action1419< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56891,7 +56939,7 @@ fn __action1418< } #[allow(clippy::too_many_arguments)] -fn __action1419< +fn __action1420< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -56910,7 +56958,7 @@ fn __action1419< } #[allow(clippy::too_many_arguments)] -fn __action1420< +fn __action1421< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -56929,7 +56977,7 @@ fn __action1420< } #[allow(clippy::too_many_arguments)] -fn __action1421< +fn __action1422< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -56948,7 +56996,7 @@ fn __action1421< } #[allow(clippy::too_many_arguments)] -fn __action1422< +fn __action1423< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -56967,7 +57015,7 @@ fn __action1422< } #[allow(clippy::too_many_arguments)] -fn __action1423< +fn __action1424< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56990,7 +57038,7 @@ fn __action1423< } #[allow(clippy::too_many_arguments)] -fn __action1424< +fn __action1425< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57013,7 +57061,7 @@ fn __action1424< } #[allow(clippy::too_many_arguments)] -fn __action1425< +fn __action1426< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -57032,7 +57080,7 @@ fn __action1425< } #[allow(clippy::too_many_arguments)] -fn __action1426< +fn __action1427< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57055,7 +57103,7 @@ fn __action1426< } #[allow(clippy::too_many_arguments)] -fn __action1427< +fn __action1428< >( __0: (TextSize, Vec, TextSize), ) -> Vec @@ -57074,7 +57122,7 @@ fn __action1427< } #[allow(clippy::too_many_arguments)] -fn __action1428< +fn __action1429< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57097,7 +57145,7 @@ fn __action1428< } #[allow(clippy::too_many_arguments)] -fn __action1429< +fn __action1430< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57120,7 +57168,7 @@ fn __action1429< } #[allow(clippy::too_many_arguments)] -fn __action1430< +fn __action1431< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -57141,7 +57189,7 @@ fn __action1430< } #[allow(clippy::too_many_arguments)] -fn __action1431< +fn __action1432< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57164,7 +57212,7 @@ fn __action1431< } #[allow(clippy::too_many_arguments)] -fn __action1432< +fn __action1433< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57172,7 +57220,7 @@ fn __action1432< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1427( + let __temp0 = __action1428( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57183,7 +57231,7 @@ fn __action1432< } #[allow(clippy::too_many_arguments)] -fn __action1433< +fn __action1434< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57193,7 +57241,7 @@ fn __action1433< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1427( + let __temp0 = __action1428( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57206,7 +57254,7 @@ fn __action1433< } #[allow(clippy::too_many_arguments)] -fn __action1434< +fn __action1435< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57215,7 +57263,7 @@ fn __action1434< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1427( + let __temp0 = __action1428( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57227,7 +57275,7 @@ fn __action1434< } #[allow(clippy::too_many_arguments)] -fn __action1435< +fn __action1436< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57235,7 +57283,7 @@ fn __action1435< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1432( + let __temp0 = __action1433( __0, __1, ); @@ -57246,7 +57294,7 @@ fn __action1435< } #[allow(clippy::too_many_arguments)] -fn __action1436< +fn __action1437< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57258,7 +57306,7 @@ fn __action1436< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1436( __1, __2, ); @@ -57273,7 +57321,7 @@ fn __action1436< } #[allow(clippy::too_many_arguments)] -fn __action1437< +fn __action1438< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57298,7 +57346,7 @@ fn __action1437< } #[allow(clippy::too_many_arguments)] -fn __action1438< +fn __action1439< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57311,7 +57359,7 @@ fn __action1438< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1436( __1, __2, ); @@ -57327,7 +57375,7 @@ fn __action1438< } #[allow(clippy::too_many_arguments)] -fn __action1439< +fn __action1440< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57354,7 +57402,7 @@ fn __action1439< } #[allow(clippy::too_many_arguments)] -fn __action1440< +fn __action1441< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57365,7 +57413,7 @@ fn __action1440< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1436( __1, __2, ); @@ -57379,7 +57427,7 @@ fn __action1440< } #[allow(clippy::too_many_arguments)] -fn __action1441< +fn __action1442< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57402,7 +57450,7 @@ fn __action1441< } #[allow(clippy::too_many_arguments)] -fn __action1442< +fn __action1443< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57414,7 +57462,7 @@ fn __action1442< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1436( __1, __2, ); @@ -57429,7 +57477,7 @@ fn __action1442< } #[allow(clippy::too_many_arguments)] -fn __action1443< +fn __action1444< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57454,7 +57502,7 @@ fn __action1443< } #[allow(clippy::too_many_arguments)] -fn __action1444< +fn __action1445< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)> @@ -57471,7 +57519,7 @@ fn __action1444< } #[allow(clippy::too_many_arguments)] -fn __action1445< +fn __action1446< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, (String, StringKind, bool), TextSize), @@ -57490,7 +57538,7 @@ fn __action1445< } #[allow(clippy::too_many_arguments)] -fn __action1446< +fn __action1447< >( __0: (TextSize, ast::CmpOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -57509,7 +57557,7 @@ fn __action1446< } #[allow(clippy::too_many_arguments)] -fn __action1447< +fn __action1448< >( __0: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), __1: (TextSize, ast::CmpOp, TextSize), @@ -57530,7 +57578,7 @@ fn __action1447< } #[allow(clippy::too_many_arguments)] -fn __action1448< +fn __action1449< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -57547,7 +57595,7 @@ fn __action1448< } #[allow(clippy::too_many_arguments)] -fn __action1449< +fn __action1450< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57558,7 +57606,7 @@ fn __action1449< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1448( + let __temp0 = __action1449( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -57572,7 +57620,7 @@ fn __action1449< } #[allow(clippy::too_many_arguments)] -fn __action1450< +fn __action1451< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57597,7 +57645,7 @@ fn __action1450< } #[allow(clippy::too_many_arguments)] -fn __action1451< +fn __action1452< >( __0: (TextSize, ast::Arguments, TextSize), ) -> core::option::Option @@ -57614,7 +57662,7 @@ fn __action1451< } #[allow(clippy::too_many_arguments)] -fn __action1452< +fn __action1453< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -57623,11 +57671,11 @@ fn __action1452< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1451( + let __temp0 = __action1452( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1372( + __action1373( __0, __temp0, __2, @@ -57635,7 +57683,7 @@ fn __action1452< } #[allow(clippy::too_many_arguments)] -fn __action1453< +fn __action1454< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57648,7 +57696,7 @@ fn __action1453< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1372( + __action1373( __0, __temp0, __1, @@ -57656,7 +57704,7 @@ fn __action1453< } #[allow(clippy::too_many_arguments)] -fn __action1454< +fn __action1455< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt @@ -57668,14 +57716,14 @@ fn __action1454< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1241( + __action1242( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1455< +fn __action1456< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -57687,14 +57735,14 @@ fn __action1455< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1241( + __action1242( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1456< +fn __action1457< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57708,7 +57756,7 @@ fn __action1456< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1243( + __action1244( __0, __1, __2, @@ -57717,7 +57765,7 @@ fn __action1456< } #[allow(clippy::too_many_arguments)] -fn __action1457< +fn __action1458< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57731,7 +57779,7 @@ fn __action1457< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1243( + __action1244( __0, __1, __2, @@ -57740,7 +57788,7 @@ fn __action1457< } #[allow(clippy::too_many_arguments)] -fn __action1458< +fn __action1459< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57757,7 +57805,7 @@ fn __action1458< } #[allow(clippy::too_many_arguments)] -fn __action1459< +fn __action1460< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57776,7 +57824,7 @@ fn __action1459< } #[allow(clippy::too_many_arguments)] -fn __action1460< +fn __action1461< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57795,7 +57843,7 @@ fn __action1460< } #[allow(clippy::too_many_arguments)] -fn __action1461< +fn __action1462< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57814,14 +57862,14 @@ fn __action1461< } #[allow(clippy::too_many_arguments)] -fn __action1462< +fn __action1463< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1458( + let __temp0 = __action1459( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57831,7 +57879,7 @@ fn __action1462< } #[allow(clippy::too_many_arguments)] -fn __action1463< +fn __action1464< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57839,7 +57887,7 @@ fn __action1463< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action1459( + let __temp0 = __action1460( &__start0, &__end0, ); @@ -57850,7 +57898,7 @@ fn __action1463< } #[allow(clippy::too_many_arguments)] -fn __action1464< +fn __action1465< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57858,7 +57906,7 @@ fn __action1464< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1460( + let __temp0 = __action1461( __0, __1, ); @@ -57869,14 +57917,14 @@ fn __action1464< } #[allow(clippy::too_many_arguments)] -fn __action1465< +fn __action1466< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1461( + let __temp0 = __action1462( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57886,7 +57934,7 @@ fn __action1465< } #[allow(clippy::too_many_arguments)] -fn __action1466< +fn __action1467< >( __0: (TextSize, ast::Pattern, TextSize), ) -> Vec @@ -57903,7 +57951,7 @@ fn __action1466< } #[allow(clippy::too_many_arguments)] -fn __action1467< +fn __action1468< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57922,7 +57970,7 @@ fn __action1467< } #[allow(clippy::too_many_arguments)] -fn __action1468< +fn __action1469< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57941,7 +57989,7 @@ fn __action1468< } #[allow(clippy::too_many_arguments)] -fn __action1469< +fn __action1470< >( __0: (TextSize, alloc::vec::Vec, TextSize), ) -> Vec @@ -57960,7 +58008,7 @@ fn __action1469< } #[allow(clippy::too_many_arguments)] -fn __action1470< +fn __action1471< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57969,11 +58017,11 @@ fn __action1470< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1466( + let __temp0 = __action1467( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1388( __0, __temp0, __2, @@ -57981,7 +58029,7 @@ fn __action1470< } #[allow(clippy::too_many_arguments)] -fn __action1471< +fn __action1472< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57989,12 +58037,12 @@ fn __action1471< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action1467( + let __temp0 = __action1468( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1388( __0, __temp0, __1, @@ -58002,7 +58050,7 @@ fn __action1471< } #[allow(clippy::too_many_arguments)] -fn __action1472< +fn __action1473< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58012,12 +58060,12 @@ fn __action1472< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1468( + let __temp0 = __action1469( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1388( __0, __temp0, __3, @@ -58025,7 +58073,7 @@ fn __action1472< } #[allow(clippy::too_many_arguments)] -fn __action1473< +fn __action1474< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58034,11 +58082,11 @@ fn __action1473< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1469( + let __temp0 = __action1470( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1388( __0, __temp0, __2, @@ -58046,7 +58094,7 @@ fn __action1473< } #[allow(clippy::too_many_arguments)] -fn __action1474< +fn __action1475< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, Vec, TextSize), @@ -58058,14 +58106,14 @@ fn __action1474< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1250( + __action1251( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1475< +fn __action1476< >( __0: (TextSize, ast::Expr, TextSize), ) -> (Option<(TextSize, TextSize, Option)>, ast::Expr) @@ -58077,14 +58125,14 @@ fn __action1475< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1250( + __action1251( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1476< +fn __action1477< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58100,7 +58148,7 @@ fn __action1476< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1390( + __action1391( __0, __1, __2, @@ -58111,7 +58159,7 @@ fn __action1476< } #[allow(clippy::too_many_arguments)] -fn __action1477< +fn __action1478< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58127,7 +58175,7 @@ fn __action1477< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action1390( + __action1391( __0, __1, __2, @@ -58138,7 +58186,7 @@ fn __action1477< } #[allow(clippy::too_many_arguments)] -fn __action1478< +fn __action1479< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58153,7 +58201,7 @@ fn __action1478< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1392( __0, __1, __2, @@ -58163,7 +58211,7 @@ fn __action1478< } #[allow(clippy::too_many_arguments)] -fn __action1479< +fn __action1480< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58178,7 +58226,7 @@ fn __action1479< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1392( __0, __1, __2, @@ -58188,7 +58236,7 @@ fn __action1479< } #[allow(clippy::too_many_arguments)] -fn __action1480< +fn __action1481< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58219,9 +58267,9 @@ fn __action1480< } #[allow(clippy::too_many_arguments)] -fn __action1481< +fn __action1482< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, token::Tok, TextSize), @@ -58250,7 +58298,7 @@ fn __action1481< } #[allow(clippy::too_many_arguments)] -fn __action1482< +fn __action1483< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58275,9 +58323,9 @@ fn __action1482< } #[allow(clippy::too_many_arguments)] -fn __action1483< +fn __action1484< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, token::Tok, TextSize), @@ -58300,7 +58348,7 @@ fn __action1483< } #[allow(clippy::too_many_arguments)] -fn __action1484< +fn __action1485< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58333,9 +58381,9 @@ fn __action1484< } #[allow(clippy::too_many_arguments)] -fn __action1485< +fn __action1486< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), @@ -58366,7 +58414,7 @@ fn __action1485< } #[allow(clippy::too_many_arguments)] -fn __action1486< +fn __action1487< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58395,9 +58443,9 @@ fn __action1486< } #[allow(clippy::too_many_arguments)] -fn __action1487< +fn __action1488< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), @@ -58424,7 +58472,7 @@ fn __action1487< } #[allow(clippy::too_many_arguments)] -fn __action1488< +fn __action1489< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58455,9 +58503,9 @@ fn __action1488< } #[allow(clippy::too_many_arguments)] -fn __action1489< +fn __action1490< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, ast::Arguments, TextSize), @@ -58486,7 +58534,7 @@ fn __action1489< } #[allow(clippy::too_many_arguments)] -fn __action1490< +fn __action1491< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58513,9 +58561,9 @@ fn __action1490< } #[allow(clippy::too_many_arguments)] -fn __action1491< +fn __action1492< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), __3: (TextSize, ast::Arguments, TextSize), @@ -58540,7 +58588,7 @@ fn __action1491< } #[allow(clippy::too_many_arguments)] -fn __action1492< +fn __action1493< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58561,7 +58609,7 @@ fn __action1492< } #[allow(clippy::too_many_arguments)] -fn __action1493< +fn __action1494< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58582,7 +58630,7 @@ fn __action1493< } #[allow(clippy::too_many_arguments)] -fn __action1494< +fn __action1495< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58603,7 +58651,7 @@ fn __action1494< } #[allow(clippy::too_many_arguments)] -fn __action1495< +fn __action1496< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58624,7 +58672,7 @@ fn __action1495< } #[allow(clippy::too_many_arguments)] -fn __action1496< +fn __action1497< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -58643,7 +58691,7 @@ fn __action1496< } #[allow(clippy::too_many_arguments)] -fn __action1497< +fn __action1498< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> @@ -58662,7 +58710,7 @@ fn __action1497< } #[allow(clippy::too_many_arguments)] -fn __action1498< +fn __action1499< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58671,7 +58719,7 @@ fn __action1498< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1259( + let __temp0 = __action1260( __0, __1, __2, @@ -58683,14 +58731,14 @@ fn __action1498< } #[allow(clippy::too_many_arguments)] -fn __action1499< +fn __action1500< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1260( + let __temp0 = __action1261( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58700,7 +58748,7 @@ fn __action1499< } #[allow(clippy::too_many_arguments)] -fn __action1500< +fn __action1501< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58711,7 +58759,7 @@ fn __action1500< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1259( + let __temp0 = __action1260( __2, __3, __4, @@ -58725,7 +58773,7 @@ fn __action1500< } #[allow(clippy::too_many_arguments)] -fn __action1501< +fn __action1502< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58734,7 +58782,7 @@ fn __action1501< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1260( + let __temp0 = __action1261( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -58746,7 +58794,7 @@ fn __action1501< } #[allow(clippy::too_many_arguments)] -fn __action1502< +fn __action1503< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58755,7 +58803,7 @@ fn __action1502< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1261( + let __temp0 = __action1262( __0, __1, __2, @@ -58767,14 +58815,14 @@ fn __action1502< } #[allow(clippy::too_many_arguments)] -fn __action1503< +fn __action1504< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1262( + let __temp0 = __action1263( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58784,7 +58832,7 @@ fn __action1503< } #[allow(clippy::too_many_arguments)] -fn __action1504< +fn __action1505< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58795,7 +58843,7 @@ fn __action1504< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1261( + let __temp0 = __action1262( __2, __3, __4, @@ -58809,7 +58857,7 @@ fn __action1504< } #[allow(clippy::too_many_arguments)] -fn __action1505< +fn __action1506< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58818,7 +58866,7 @@ fn __action1505< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1262( + let __temp0 = __action1263( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -58830,7 +58878,7 @@ fn __action1505< } #[allow(clippy::too_many_arguments)] -fn __action1506< +fn __action1507< >( __0: (TextSize, ast::Identifier, TextSize), ) -> (Option, Option) @@ -58849,7 +58897,7 @@ fn __action1506< } #[allow(clippy::too_many_arguments)] -fn __action1507< +fn __action1508< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58868,7 +58916,7 @@ fn __action1507< } #[allow(clippy::too_many_arguments)] -fn __action1508< +fn __action1509< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58889,7 +58937,7 @@ fn __action1508< } #[allow(clippy::too_many_arguments)] -fn __action1509< +fn __action1510< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58910,7 +58958,7 @@ fn __action1509< } #[allow(clippy::too_many_arguments)] -fn __action1510< +fn __action1511< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58931,7 +58979,7 @@ fn __action1510< } #[allow(clippy::too_many_arguments)] -fn __action1511< +fn __action1512< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58952,7 +59000,7 @@ fn __action1511< } #[allow(clippy::too_many_arguments)] -fn __action1512< +fn __action1513< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58969,7 +59017,7 @@ fn __action1512< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1297( __temp0, __1, __2, @@ -58981,7 +59029,7 @@ fn __action1512< } #[allow(clippy::too_many_arguments)] -fn __action1513< +fn __action1514< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59002,7 +59050,7 @@ fn __action1513< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1297( __temp0, __3, __4, @@ -59014,7 +59062,7 @@ fn __action1513< } #[allow(clippy::too_many_arguments)] -fn __action1514< +fn __action1515< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59037,7 +59085,7 @@ fn __action1514< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1297( __temp0, __4, __5, @@ -59049,7 +59097,7 @@ fn __action1514< } #[allow(clippy::too_many_arguments)] -fn __action1515< +fn __action1516< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59065,7 +59113,7 @@ fn __action1515< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1298( __temp0, __1, __2, @@ -59076,7 +59124,7 @@ fn __action1515< } #[allow(clippy::too_many_arguments)] -fn __action1516< +fn __action1517< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59096,7 +59144,7 @@ fn __action1516< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1298( __temp0, __3, __4, @@ -59107,7 +59155,7 @@ fn __action1516< } #[allow(clippy::too_many_arguments)] -fn __action1517< +fn __action1518< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59129,7 +59177,7 @@ fn __action1517< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1298( __temp0, __4, __5, @@ -59140,7 +59188,7 @@ fn __action1517< } #[allow(clippy::too_many_arguments)] -fn __action1518< +fn __action1519< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59158,7 +59206,7 @@ fn __action1518< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1299( __temp0, __1, __2, @@ -59171,7 +59219,7 @@ fn __action1518< } #[allow(clippy::too_many_arguments)] -fn __action1519< +fn __action1520< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59193,7 +59241,7 @@ fn __action1519< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1299( __temp0, __3, __4, @@ -59206,7 +59254,7 @@ fn __action1519< } #[allow(clippy::too_many_arguments)] -fn __action1520< +fn __action1521< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59230,7 +59278,7 @@ fn __action1520< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1299( __temp0, __4, __5, @@ -59243,7 +59291,7 @@ fn __action1520< } #[allow(clippy::too_many_arguments)] -fn __action1521< +fn __action1522< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59260,7 +59308,7 @@ fn __action1521< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1300( __temp0, __1, __2, @@ -59272,7 +59320,7 @@ fn __action1521< } #[allow(clippy::too_many_arguments)] -fn __action1522< +fn __action1523< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59293,7 +59341,7 @@ fn __action1522< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1300( __temp0, __3, __4, @@ -59305,7 +59353,7 @@ fn __action1522< } #[allow(clippy::too_many_arguments)] -fn __action1523< +fn __action1524< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59328,7 +59376,7 @@ fn __action1523< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1300( __temp0, __4, __5, @@ -59340,7 +59388,7 @@ fn __action1523< } #[allow(clippy::too_many_arguments)] -fn __action1524< +fn __action1525< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59355,7 +59403,7 @@ fn __action1524< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1301( __temp0, __1, __2, @@ -59365,7 +59413,7 @@ fn __action1524< } #[allow(clippy::too_many_arguments)] -fn __action1525< +fn __action1526< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59384,7 +59432,7 @@ fn __action1525< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1301( __temp0, __3, __4, @@ -59394,7 +59442,7 @@ fn __action1525< } #[allow(clippy::too_many_arguments)] -fn __action1526< +fn __action1527< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59415,7 +59463,7 @@ fn __action1526< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1301( __temp0, __4, __5, @@ -59425,7 +59473,7 @@ fn __action1526< } #[allow(clippy::too_many_arguments)] -fn __action1527< +fn __action1528< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59439,7 +59487,7 @@ fn __action1527< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1302( __temp0, __1, __2, @@ -59448,7 +59496,7 @@ fn __action1527< } #[allow(clippy::too_many_arguments)] -fn __action1528< +fn __action1529< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59466,7 +59514,7 @@ fn __action1528< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1302( __temp0, __3, __4, @@ -59475,7 +59523,7 @@ fn __action1528< } #[allow(clippy::too_many_arguments)] -fn __action1529< +fn __action1530< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59495,7 +59543,7 @@ fn __action1529< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1302( __temp0, __4, __5, @@ -59504,7 +59552,7 @@ fn __action1529< } #[allow(clippy::too_many_arguments)] -fn __action1530< +fn __action1531< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59520,7 +59568,7 @@ fn __action1530< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1303( __temp0, __1, __2, @@ -59531,7 +59579,7 @@ fn __action1530< } #[allow(clippy::too_many_arguments)] -fn __action1531< +fn __action1532< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59551,7 +59599,7 @@ fn __action1531< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1303( __temp0, __3, __4, @@ -59562,7 +59610,7 @@ fn __action1531< } #[allow(clippy::too_many_arguments)] -fn __action1532< +fn __action1533< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59584,7 +59632,7 @@ fn __action1532< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1303( __temp0, __4, __5, @@ -59595,7 +59643,7 @@ fn __action1532< } #[allow(clippy::too_many_arguments)] -fn __action1533< +fn __action1534< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59610,7 +59658,7 @@ fn __action1533< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1304( __temp0, __1, __2, @@ -59620,7 +59668,7 @@ fn __action1533< } #[allow(clippy::too_many_arguments)] -fn __action1534< +fn __action1535< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59639,7 +59687,7 @@ fn __action1534< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1304( __temp0, __3, __4, @@ -59649,7 +59697,7 @@ fn __action1534< } #[allow(clippy::too_many_arguments)] -fn __action1535< +fn __action1536< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59670,7 +59718,7 @@ fn __action1535< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1304( __temp0, __4, __5, @@ -59680,7 +59728,7 @@ fn __action1535< } #[allow(clippy::too_many_arguments)] -fn __action1536< +fn __action1537< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59692,14 +59740,14 @@ fn __action1536< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1305( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1537< +fn __action1538< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59715,14 +59763,14 @@ fn __action1537< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1305( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1538< +fn __action1539< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59740,14 +59788,14 @@ fn __action1538< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1305( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1539< +fn __action1540< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59763,7 +59811,7 @@ fn __action1539< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1306( __temp0, __1, __2, @@ -59774,7 +59822,7 @@ fn __action1539< } #[allow(clippy::too_many_arguments)] -fn __action1540< +fn __action1541< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59794,7 +59842,7 @@ fn __action1540< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1306( __temp0, __3, __4, @@ -59805,7 +59853,7 @@ fn __action1540< } #[allow(clippy::too_many_arguments)] -fn __action1541< +fn __action1542< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59827,7 +59875,7 @@ fn __action1541< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1306( __temp0, __4, __5, @@ -59838,7 +59886,7 @@ fn __action1541< } #[allow(clippy::too_many_arguments)] -fn __action1542< +fn __action1543< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59853,7 +59901,7 @@ fn __action1542< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1307( __temp0, __1, __2, @@ -59863,7 +59911,7 @@ fn __action1542< } #[allow(clippy::too_many_arguments)] -fn __action1543< +fn __action1544< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59882,7 +59930,7 @@ fn __action1543< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1307( __temp0, __3, __4, @@ -59892,7 +59940,7 @@ fn __action1543< } #[allow(clippy::too_many_arguments)] -fn __action1544< +fn __action1545< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59913,7 +59961,7 @@ fn __action1544< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1307( __temp0, __4, __5, @@ -59923,7 +59971,7 @@ fn __action1544< } #[allow(clippy::too_many_arguments)] -fn __action1545< +fn __action1546< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59940,7 +59988,7 @@ fn __action1545< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1308( __temp0, __1, __2, @@ -59952,7 +60000,7 @@ fn __action1545< } #[allow(clippy::too_many_arguments)] -fn __action1546< +fn __action1547< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59973,7 +60021,7 @@ fn __action1546< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1308( __temp0, __3, __4, @@ -59985,7 +60033,7 @@ fn __action1546< } #[allow(clippy::too_many_arguments)] -fn __action1547< +fn __action1548< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60008,7 +60056,7 @@ fn __action1547< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1308( __temp0, __4, __5, @@ -60020,7 +60068,7 @@ fn __action1547< } #[allow(clippy::too_many_arguments)] -fn __action1548< +fn __action1549< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60036,7 +60084,7 @@ fn __action1548< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1309( __temp0, __1, __2, @@ -60047,7 +60095,7 @@ fn __action1548< } #[allow(clippy::too_many_arguments)] -fn __action1549< +fn __action1550< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60067,7 +60115,7 @@ fn __action1549< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1309( __temp0, __3, __4, @@ -60078,7 +60126,7 @@ fn __action1549< } #[allow(clippy::too_many_arguments)] -fn __action1550< +fn __action1551< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60100,7 +60148,7 @@ fn __action1550< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1309( __temp0, __4, __5, @@ -60111,7 +60159,7 @@ fn __action1550< } #[allow(clippy::too_many_arguments)] -fn __action1551< +fn __action1552< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60125,7 +60173,7 @@ fn __action1551< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1310( __temp0, __1, __2, @@ -60134,7 +60182,7 @@ fn __action1551< } #[allow(clippy::too_many_arguments)] -fn __action1552< +fn __action1553< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60152,7 +60200,7 @@ fn __action1552< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1310( __temp0, __3, __4, @@ -60161,7 +60209,7 @@ fn __action1552< } #[allow(clippy::too_many_arguments)] -fn __action1553< +fn __action1554< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60181,7 +60229,7 @@ fn __action1553< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1310( __temp0, __4, __5, @@ -60190,7 +60238,7 @@ fn __action1553< } #[allow(clippy::too_many_arguments)] -fn __action1554< +fn __action1555< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60203,7 +60251,7 @@ fn __action1554< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1311( __temp0, __1, __2, @@ -60211,7 +60259,7 @@ fn __action1554< } #[allow(clippy::too_many_arguments)] -fn __action1555< +fn __action1556< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60228,7 +60276,7 @@ fn __action1555< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1311( __temp0, __3, __4, @@ -60236,7 +60284,7 @@ fn __action1555< } #[allow(clippy::too_many_arguments)] -fn __action1556< +fn __action1557< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60255,7 +60303,7 @@ fn __action1556< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1311( __temp0, __4, __5, @@ -60263,7 +60311,7 @@ fn __action1556< } #[allow(clippy::too_many_arguments)] -fn __action1557< +fn __action1558< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60278,7 +60326,7 @@ fn __action1557< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1312( __temp0, __1, __2, @@ -60288,7 +60336,7 @@ fn __action1557< } #[allow(clippy::too_many_arguments)] -fn __action1558< +fn __action1559< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60307,7 +60355,7 @@ fn __action1558< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1312( __temp0, __3, __4, @@ -60317,7 +60365,7 @@ fn __action1558< } #[allow(clippy::too_many_arguments)] -fn __action1559< +fn __action1560< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60338,7 +60386,7 @@ fn __action1559< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1312( __temp0, __4, __5, @@ -60348,7 +60396,7 @@ fn __action1559< } #[allow(clippy::too_many_arguments)] -fn __action1560< +fn __action1561< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60362,7 +60410,7 @@ fn __action1560< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1313( __temp0, __1, __2, @@ -60371,7 +60419,7 @@ fn __action1560< } #[allow(clippy::too_many_arguments)] -fn __action1561< +fn __action1562< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60389,7 +60437,7 @@ fn __action1561< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1313( __temp0, __3, __4, @@ -60398,7 +60446,7 @@ fn __action1561< } #[allow(clippy::too_many_arguments)] -fn __action1562< +fn __action1563< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60418,7 +60466,7 @@ fn __action1562< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1313( __temp0, __4, __5, @@ -60427,7 +60475,7 @@ fn __action1562< } #[allow(clippy::too_many_arguments)] -fn __action1563< +fn __action1564< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -60438,13 +60486,13 @@ fn __action1563< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1314( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1564< +fn __action1565< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60459,13 +60507,13 @@ fn __action1564< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1314( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1565< +fn __action1566< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60482,13 +60530,13 @@ fn __action1565< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1314( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1566< +fn __action1567< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60502,7 +60550,7 @@ fn __action1566< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1315( __temp0, __1, __2, @@ -60511,7 +60559,7 @@ fn __action1566< } #[allow(clippy::too_many_arguments)] -fn __action1567< +fn __action1568< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60529,7 +60577,7 @@ fn __action1567< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1315( __temp0, __3, __4, @@ -60538,7 +60586,7 @@ fn __action1567< } #[allow(clippy::too_many_arguments)] -fn __action1568< +fn __action1569< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60558,7 +60606,7 @@ fn __action1568< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1315( __temp0, __4, __5, @@ -60567,7 +60615,7 @@ fn __action1568< } #[allow(clippy::too_many_arguments)] -fn __action1569< +fn __action1570< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60580,7 +60628,7 @@ fn __action1569< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1316( __temp0, __1, __2, @@ -60588,7 +60636,7 @@ fn __action1569< } #[allow(clippy::too_many_arguments)] -fn __action1570< +fn __action1571< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60605,7 +60653,7 @@ fn __action1570< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1316( __temp0, __3, __4, @@ -60613,7 +60661,7 @@ fn __action1570< } #[allow(clippy::too_many_arguments)] -fn __action1571< +fn __action1572< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60632,7 +60680,7 @@ fn __action1571< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1316( __temp0, __4, __5, @@ -60640,7 +60688,7 @@ fn __action1571< } #[allow(clippy::too_many_arguments)] -fn __action1572< +fn __action1573< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60657,7 +60705,7 @@ fn __action1572< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1335( __temp0, __1, __2, @@ -60669,7 +60717,7 @@ fn __action1572< } #[allow(clippy::too_many_arguments)] -fn __action1573< +fn __action1574< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60690,7 +60738,7 @@ fn __action1573< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1335( __temp0, __3, __4, @@ -60702,7 +60750,7 @@ fn __action1573< } #[allow(clippy::too_many_arguments)] -fn __action1574< +fn __action1575< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60725,7 +60773,7 @@ fn __action1574< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1335( __temp0, __4, __5, @@ -60737,7 +60785,7 @@ fn __action1574< } #[allow(clippy::too_many_arguments)] -fn __action1575< +fn __action1576< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60753,7 +60801,7 @@ fn __action1575< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1336( __temp0, __1, __2, @@ -60764,7 +60812,7 @@ fn __action1575< } #[allow(clippy::too_many_arguments)] -fn __action1576< +fn __action1577< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60784,7 +60832,7 @@ fn __action1576< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1336( __temp0, __3, __4, @@ -60795,7 +60843,7 @@ fn __action1576< } #[allow(clippy::too_many_arguments)] -fn __action1577< +fn __action1578< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60817,7 +60865,7 @@ fn __action1577< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1336( __temp0, __4, __5, @@ -60828,7 +60876,7 @@ fn __action1577< } #[allow(clippy::too_many_arguments)] -fn __action1578< +fn __action1579< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60846,7 +60894,7 @@ fn __action1578< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1337( __temp0, __1, __2, @@ -60859,7 +60907,7 @@ fn __action1578< } #[allow(clippy::too_many_arguments)] -fn __action1579< +fn __action1580< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60881,7 +60929,7 @@ fn __action1579< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1337( __temp0, __3, __4, @@ -60894,7 +60942,7 @@ fn __action1579< } #[allow(clippy::too_many_arguments)] -fn __action1580< +fn __action1581< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60918,7 +60966,7 @@ fn __action1580< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1337( __temp0, __4, __5, @@ -60931,7 +60979,7 @@ fn __action1580< } #[allow(clippy::too_many_arguments)] -fn __action1581< +fn __action1582< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60948,7 +60996,7 @@ fn __action1581< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1338( __temp0, __1, __2, @@ -60960,7 +61008,7 @@ fn __action1581< } #[allow(clippy::too_many_arguments)] -fn __action1582< +fn __action1583< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60981,7 +61029,7 @@ fn __action1582< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1338( __temp0, __3, __4, @@ -60993,7 +61041,7 @@ fn __action1582< } #[allow(clippy::too_many_arguments)] -fn __action1583< +fn __action1584< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61016,7 +61064,7 @@ fn __action1583< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1338( __temp0, __4, __5, @@ -61028,7 +61076,7 @@ fn __action1583< } #[allow(clippy::too_many_arguments)] -fn __action1584< +fn __action1585< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61043,7 +61091,7 @@ fn __action1584< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1339( __temp0, __1, __2, @@ -61053,7 +61101,7 @@ fn __action1584< } #[allow(clippy::too_many_arguments)] -fn __action1585< +fn __action1586< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61072,7 +61120,7 @@ fn __action1585< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1339( __temp0, __3, __4, @@ -61082,7 +61130,7 @@ fn __action1585< } #[allow(clippy::too_many_arguments)] -fn __action1586< +fn __action1587< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61103,7 +61151,7 @@ fn __action1586< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1339( __temp0, __4, __5, @@ -61113,7 +61161,7 @@ fn __action1586< } #[allow(clippy::too_many_arguments)] -fn __action1587< +fn __action1588< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61127,7 +61175,7 @@ fn __action1587< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1340( __temp0, __1, __2, @@ -61136,7 +61184,7 @@ fn __action1587< } #[allow(clippy::too_many_arguments)] -fn __action1588< +fn __action1589< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61154,7 +61202,7 @@ fn __action1588< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1340( __temp0, __3, __4, @@ -61163,7 +61211,7 @@ fn __action1588< } #[allow(clippy::too_many_arguments)] -fn __action1589< +fn __action1590< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61183,7 +61231,7 @@ fn __action1589< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1340( __temp0, __4, __5, @@ -61192,7 +61240,7 @@ fn __action1589< } #[allow(clippy::too_many_arguments)] -fn __action1590< +fn __action1591< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61208,7 +61256,7 @@ fn __action1590< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1341( __temp0, __1, __2, @@ -61219,7 +61267,7 @@ fn __action1590< } #[allow(clippy::too_many_arguments)] -fn __action1591< +fn __action1592< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61239,7 +61287,7 @@ fn __action1591< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1341( __temp0, __3, __4, @@ -61250,7 +61298,7 @@ fn __action1591< } #[allow(clippy::too_many_arguments)] -fn __action1592< +fn __action1593< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61272,7 +61320,7 @@ fn __action1592< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1341( __temp0, __4, __5, @@ -61283,7 +61331,7 @@ fn __action1592< } #[allow(clippy::too_many_arguments)] -fn __action1593< +fn __action1594< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61298,7 +61346,7 @@ fn __action1593< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1342( __temp0, __1, __2, @@ -61308,7 +61356,7 @@ fn __action1593< } #[allow(clippy::too_many_arguments)] -fn __action1594< +fn __action1595< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61327,7 +61375,7 @@ fn __action1594< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1342( __temp0, __3, __4, @@ -61337,7 +61385,7 @@ fn __action1594< } #[allow(clippy::too_many_arguments)] -fn __action1595< +fn __action1596< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61358,7 +61406,7 @@ fn __action1595< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1342( __temp0, __4, __5, @@ -61368,7 +61416,7 @@ fn __action1595< } #[allow(clippy::too_many_arguments)] -fn __action1596< +fn __action1597< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61380,14 +61428,14 @@ fn __action1596< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1343( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1597< +fn __action1598< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61403,14 +61451,14 @@ fn __action1597< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1343( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1598< +fn __action1599< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61428,14 +61476,14 @@ fn __action1598< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1343( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1599< +fn __action1600< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61451,7 +61499,7 @@ fn __action1599< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1344( __temp0, __1, __2, @@ -61462,7 +61510,7 @@ fn __action1599< } #[allow(clippy::too_many_arguments)] -fn __action1600< +fn __action1601< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61482,7 +61530,7 @@ fn __action1600< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1344( __temp0, __3, __4, @@ -61493,7 +61541,7 @@ fn __action1600< } #[allow(clippy::too_many_arguments)] -fn __action1601< +fn __action1602< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61515,7 +61563,7 @@ fn __action1601< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1344( __temp0, __4, __5, @@ -61526,7 +61574,7 @@ fn __action1601< } #[allow(clippy::too_many_arguments)] -fn __action1602< +fn __action1603< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61541,7 +61589,7 @@ fn __action1602< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1345( __temp0, __1, __2, @@ -61551,7 +61599,7 @@ fn __action1602< } #[allow(clippy::too_many_arguments)] -fn __action1603< +fn __action1604< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61570,7 +61618,7 @@ fn __action1603< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1345( __temp0, __3, __4, @@ -61580,7 +61628,7 @@ fn __action1603< } #[allow(clippy::too_many_arguments)] -fn __action1604< +fn __action1605< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61601,7 +61649,7 @@ fn __action1604< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1345( __temp0, __4, __5, @@ -61611,7 +61659,7 @@ fn __action1604< } #[allow(clippy::too_many_arguments)] -fn __action1605< +fn __action1606< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61628,7 +61676,7 @@ fn __action1605< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1346( __temp0, __1, __2, @@ -61640,7 +61688,7 @@ fn __action1605< } #[allow(clippy::too_many_arguments)] -fn __action1606< +fn __action1607< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61661,7 +61709,7 @@ fn __action1606< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1346( __temp0, __3, __4, @@ -61673,7 +61721,7 @@ fn __action1606< } #[allow(clippy::too_many_arguments)] -fn __action1607< +fn __action1608< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61696,7 +61744,7 @@ fn __action1607< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1346( __temp0, __4, __5, @@ -61708,7 +61756,7 @@ fn __action1607< } #[allow(clippy::too_many_arguments)] -fn __action1608< +fn __action1609< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61724,7 +61772,7 @@ fn __action1608< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1347( __temp0, __1, __2, @@ -61735,7 +61783,7 @@ fn __action1608< } #[allow(clippy::too_many_arguments)] -fn __action1609< +fn __action1610< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61755,7 +61803,7 @@ fn __action1609< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1347( __temp0, __3, __4, @@ -61766,7 +61814,7 @@ fn __action1609< } #[allow(clippy::too_many_arguments)] -fn __action1610< +fn __action1611< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61788,7 +61836,7 @@ fn __action1610< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1347( __temp0, __4, __5, @@ -61799,7 +61847,7 @@ fn __action1610< } #[allow(clippy::too_many_arguments)] -fn __action1611< +fn __action1612< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61813,7 +61861,7 @@ fn __action1611< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1348( __temp0, __1, __2, @@ -61822,7 +61870,7 @@ fn __action1611< } #[allow(clippy::too_many_arguments)] -fn __action1612< +fn __action1613< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61840,7 +61888,7 @@ fn __action1612< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1348( __temp0, __3, __4, @@ -61849,7 +61897,7 @@ fn __action1612< } #[allow(clippy::too_many_arguments)] -fn __action1613< +fn __action1614< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61869,7 +61917,7 @@ fn __action1613< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1348( __temp0, __4, __5, @@ -61878,7 +61926,7 @@ fn __action1613< } #[allow(clippy::too_many_arguments)] -fn __action1614< +fn __action1615< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61891,7 +61939,7 @@ fn __action1614< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1349( __temp0, __1, __2, @@ -61899,7 +61947,7 @@ fn __action1614< } #[allow(clippy::too_many_arguments)] -fn __action1615< +fn __action1616< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61916,7 +61964,7 @@ fn __action1615< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1349( __temp0, __3, __4, @@ -61924,7 +61972,7 @@ fn __action1615< } #[allow(clippy::too_many_arguments)] -fn __action1616< +fn __action1617< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61943,7 +61991,7 @@ fn __action1616< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1349( __temp0, __4, __5, @@ -61951,7 +61999,7 @@ fn __action1616< } #[allow(clippy::too_many_arguments)] -fn __action1617< +fn __action1618< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61966,7 +62014,7 @@ fn __action1617< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1350( __temp0, __1, __2, @@ -61976,7 +62024,7 @@ fn __action1617< } #[allow(clippy::too_many_arguments)] -fn __action1618< +fn __action1619< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61995,7 +62043,7 @@ fn __action1618< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1350( __temp0, __3, __4, @@ -62005,7 +62053,7 @@ fn __action1618< } #[allow(clippy::too_many_arguments)] -fn __action1619< +fn __action1620< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62026,7 +62074,7 @@ fn __action1619< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1350( __temp0, __4, __5, @@ -62036,7 +62084,7 @@ fn __action1619< } #[allow(clippy::too_many_arguments)] -fn __action1620< +fn __action1621< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62050,7 +62098,7 @@ fn __action1620< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1351( __temp0, __1, __2, @@ -62059,7 +62107,7 @@ fn __action1620< } #[allow(clippy::too_many_arguments)] -fn __action1621< +fn __action1622< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62077,7 +62125,7 @@ fn __action1621< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1351( __temp0, __3, __4, @@ -62086,7 +62134,7 @@ fn __action1621< } #[allow(clippy::too_many_arguments)] -fn __action1622< +fn __action1623< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62106,7 +62154,7 @@ fn __action1622< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1351( __temp0, __4, __5, @@ -62115,7 +62163,7 @@ fn __action1622< } #[allow(clippy::too_many_arguments)] -fn __action1623< +fn __action1624< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -62126,13 +62174,13 @@ fn __action1623< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1352( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1624< +fn __action1625< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62147,13 +62195,13 @@ fn __action1624< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1352( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1625< +fn __action1626< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62170,13 +62218,13 @@ fn __action1625< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1352( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1626< +fn __action1627< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62190,7 +62238,7 @@ fn __action1626< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1353( __temp0, __1, __2, @@ -62199,7 +62247,7 @@ fn __action1626< } #[allow(clippy::too_many_arguments)] -fn __action1627< +fn __action1628< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62217,7 +62265,7 @@ fn __action1627< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1353( __temp0, __3, __4, @@ -62226,7 +62274,7 @@ fn __action1627< } #[allow(clippy::too_many_arguments)] -fn __action1628< +fn __action1629< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62246,7 +62294,7 @@ fn __action1628< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1353( __temp0, __4, __5, @@ -62255,7 +62303,7 @@ fn __action1628< } #[allow(clippy::too_many_arguments)] -fn __action1629< +fn __action1630< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62268,7 +62316,7 @@ fn __action1629< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1354( __temp0, __1, __2, @@ -62276,7 +62324,7 @@ fn __action1629< } #[allow(clippy::too_many_arguments)] -fn __action1630< +fn __action1631< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62293,7 +62341,7 @@ fn __action1630< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1354( __temp0, __3, __4, @@ -62301,7 +62349,7 @@ fn __action1630< } #[allow(clippy::too_many_arguments)] -fn __action1631< +fn __action1632< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62320,7 +62368,7 @@ fn __action1631< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1354( __temp0, __4, __5, @@ -62328,7 +62376,7 @@ fn __action1631< } #[allow(clippy::too_many_arguments)] -fn __action1632< +fn __action1633< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -62342,7 +62390,7 @@ fn __action1632< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1269( + __action1270( __0, __temp0, __2, @@ -62351,7 +62399,7 @@ fn __action1632< } #[allow(clippy::too_many_arguments)] -fn __action1633< +fn __action1634< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62365,7 +62413,7 @@ fn __action1633< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1269( + __action1270( __0, __temp0, __1, @@ -62374,7 +62422,7 @@ fn __action1633< } #[allow(clippy::too_many_arguments)] -fn __action1634< +fn __action1635< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62388,7 +62436,7 @@ fn __action1634< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1398( __0, __1, __2, @@ -62397,7 +62445,7 @@ fn __action1634< } #[allow(clippy::too_many_arguments)] -fn __action1635< +fn __action1636< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62411,7 +62459,7 @@ fn __action1635< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1398( __0, __1, __2, @@ -62420,7 +62468,7 @@ fn __action1635< } #[allow(clippy::too_many_arguments)] -fn __action1636< +fn __action1637< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62443,7 +62491,7 @@ fn __action1636< } #[allow(clippy::too_many_arguments)] -fn __action1637< +fn __action1638< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62466,7 +62514,7 @@ fn __action1637< } #[allow(clippy::too_many_arguments)] -fn __action1638< +fn __action1639< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62485,7 +62533,7 @@ fn __action1638< } #[allow(clippy::too_many_arguments)] -fn __action1639< +fn __action1640< >( __0: (TextSize, token::Tok, TextSize), ) -> Option @@ -62504,7 +62552,7 @@ fn __action1639< } #[allow(clippy::too_many_arguments)] -fn __action1640< +fn __action1641< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62524,7 +62572,7 @@ fn __action1640< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1635( __temp0, __1, __temp1, @@ -62533,7 +62581,7 @@ fn __action1640< } #[allow(clippy::too_many_arguments)] -fn __action1641< +fn __action1642< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62553,7 +62601,7 @@ fn __action1641< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1635( __temp0, __1, __temp1, @@ -62562,7 +62610,7 @@ fn __action1641< } #[allow(clippy::too_many_arguments)] -fn __action1642< +fn __action1643< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62582,7 +62630,7 @@ fn __action1642< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1635( __temp0, __0, __temp1, @@ -62591,7 +62639,7 @@ fn __action1642< } #[allow(clippy::too_many_arguments)] -fn __action1643< +fn __action1644< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option, TextSize), @@ -62611,7 +62659,7 @@ fn __action1643< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1635( __temp0, __0, __temp1, @@ -62620,7 +62668,7 @@ fn __action1643< } #[allow(clippy::too_many_arguments)] -fn __action1644< +fn __action1645< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62639,7 +62687,7 @@ fn __action1644< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1636( __temp0, __1, __temp1, @@ -62647,7 +62695,7 @@ fn __action1644< } #[allow(clippy::too_many_arguments)] -fn __action1645< +fn __action1646< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62666,7 +62714,7 @@ fn __action1645< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1636( __temp0, __1, __temp1, @@ -62674,7 +62722,7 @@ fn __action1645< } #[allow(clippy::too_many_arguments)] -fn __action1646< +fn __action1647< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62693,7 +62741,7 @@ fn __action1646< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1636( __temp0, __0, __temp1, @@ -62701,7 +62749,7 @@ fn __action1646< } #[allow(clippy::too_many_arguments)] -fn __action1647< +fn __action1648< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -62720,7 +62768,7 @@ fn __action1647< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1636( __temp0, __0, __temp1, @@ -62728,7 +62776,7 @@ fn __action1647< } #[allow(clippy::too_many_arguments)] -fn __action1648< +fn __action1649< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62763,7 +62811,7 @@ fn __action1648< } #[allow(clippy::too_many_arguments)] -fn __action1649< +fn __action1650< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62792,7 +62840,7 @@ fn __action1649< } #[allow(clippy::too_many_arguments)] -fn __action1650< +fn __action1651< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62825,7 +62873,7 @@ fn __action1650< } #[allow(clippy::too_many_arguments)] -fn __action1651< +fn __action1652< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62852,7 +62900,7 @@ fn __action1651< } #[allow(clippy::too_many_arguments)] -fn __action1652< +fn __action1653< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -62869,7 +62917,7 @@ fn __action1652< } #[allow(clippy::too_many_arguments)] -fn __action1653< +fn __action1654< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -62886,7 +62934,7 @@ fn __action1653< } #[allow(clippy::too_many_arguments)] -fn __action1654< +fn __action1655< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -62903,7 +62951,7 @@ fn __action1654< } #[allow(clippy::too_many_arguments)] -fn __action1655< +fn __action1656< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62915,14 +62963,14 @@ fn __action1655< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1408( + __action1409( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1656< +fn __action1657< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62935,7 +62983,7 @@ fn __action1656< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1409( + __action1410( __0, __temp0, __2, @@ -62943,7 +62991,7 @@ fn __action1656< } #[allow(clippy::too_many_arguments)] -fn __action1657< +fn __action1658< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62951,18 +62999,18 @@ fn __action1657< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1652( + let __temp0 = __action1653( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1248( + __action1249( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1658< +fn __action1659< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -62974,14 +63022,14 @@ fn __action1658< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1248( + __action1249( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1659< +fn __action1660< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62989,18 +63037,18 @@ fn __action1659< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1652( + let __temp0 = __action1653( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1430( + __action1431( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1660< +fn __action1661< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -63012,31 +63060,31 @@ fn __action1660< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1430( + __action1431( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1661< +fn __action1662< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1655( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1454( + __action1455( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1662< +fn __action1663< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -63044,18 +63092,18 @@ fn __action1662< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1655( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1455( + __action1456( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1663< +fn __action1664< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -63064,11 +63112,11 @@ fn __action1663< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1655( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1242( + __action1243( __temp0, __1, __2, From 30ec63df64779c0ca538fde3e3b64183dc825d48 Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:51:02 -0500 Subject: [PATCH 05/15] Update snapshot tests --- parser/src/function.rs | 1 + ...unction__tests__function_kw_only_args.snap | 2 +- ...__function_kw_only_args_with_defaults.snap | 2 +- ...__tests__function_no_args_with_ranges.snap | 2 - ..._tests__function_pos_and_kw_only_args.snap | 2 +- ...on_pos_and_kw_only_args_with_defaults.snap | 2 +- ...w_only_args_with_defaults_and_varargs.snap | 2 +- ..._with_defaults_and_varargs_and_kwargs.snap | 2 +- ...r__function__tests__function_pos_args.snap | 2 +- ...ests__function_pos_args_with_defaults.snap | 2 +- ..._tests__function_pos_args_with_ranges.snap | 50 +++++++++++-------- ...on_parser__parser__tests__parse_class.snap | 6 +-- ...ser__parser__tests__variadic_generics.snap | 2 +- 13 files changed, 43 insertions(+), 34 deletions(-) diff --git a/parser/src/function.rs b/parser/src/function.rs index 2fe262bb..53ca0879 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -136,6 +136,7 @@ mod tests { use super::*; use crate::{ast, parser::ParseErrorType, Parse}; + #[cfg(feature = "all-nodes-with-ranges")] macro_rules! function_and_lambda { ($($name:ident: $code:expr,)*) => { $( diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap index d13ceb57..4c163650 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..16, + range: 5..17, posonlyargs: [], args: [], vararg: None, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap index a228709a..5cffd809 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..22, + range: 5..23, posonlyargs: [], args: [], vararg: None, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap index d1bab55e..fa56b395 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap @@ -16,9 +16,7 @@ Ok( args: [], vararg: None, kwonlyargs: [], - kw_defaults: [], kwarg: None, - defaults: [], }, body: [ Pass( diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap index 9ca2f2a5..fecef96c 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..25, + range: 5..26, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap index af889e4d..cb5915cb 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..31, + range: 5..32, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap index ae32c655..6c1203e8 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..35, + range: 5..36, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap index 213589fa..653b82ad 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..45, + range: 5..46, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap index e5515e2a..15e9d921 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..13, + range: 5..14, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap index 0c91d69e..2be9059f 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap @@ -11,7 +11,7 @@ Ok( "f", ), args: Arguments { - range: 6..19, + range: 5..20, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap index f1de4fda..15e9d921 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap @@ -14,36 +14,46 @@ Ok( range: 5..14, posonlyargs: [], args: [ - Arg { + ArgWithDefault { range: 6..7, - arg: Identifier( - "a", - ), - annotation: None, - type_comment: None, + def: Arg { + range: 6..7, + arg: Identifier( + "a", + ), + annotation: None, + type_comment: None, + }, + default: None, }, - Arg { + ArgWithDefault { range: 9..10, - arg: Identifier( - "b", - ), - annotation: None, - type_comment: None, + def: Arg { + range: 9..10, + arg: Identifier( + "b", + ), + annotation: None, + type_comment: None, + }, + default: None, }, - Arg { + ArgWithDefault { range: 12..13, - arg: Identifier( - "c", - ), - annotation: None, - type_comment: None, + def: Arg { + range: 12..13, + arg: Identifier( + "c", + ), + annotation: None, + type_comment: None, + }, + default: None, }, ], vararg: None, kwonlyargs: [], - kw_defaults: [], kwarg: None, - defaults: [], }, body: [ Pass( diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap index c27d250f..69ae0f5e 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap @@ -1,6 +1,6 @@ --- source: parser/src/parser.rs -expression: "parse_program(source, \"\").unwrap()" +expression: "ast::Suite::parse(source, \"\").unwrap()" --- [ ClassDef( @@ -38,7 +38,7 @@ expression: "parse_program(source, \"\").unwrap()" "__init__", ), args: Arguments { - range: 31..35, + range: 30..36, posonlyargs: [], args: [ ArgWithDefault { @@ -77,7 +77,7 @@ expression: "parse_program(source, \"\").unwrap()" "method_with_default", ), args: Arguments { - range: 70..89, + range: 69..90, posonlyargs: [], args: [ ArgWithDefault { diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap index 8590915a..76c481a0 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap @@ -10,7 +10,7 @@ expression: parse_ast "args_to_tuple", ), args: Arguments { - range: 19..29, + range: 18..30, posonlyargs: [], args: [], vararg: Some( From a39a96ac033b6f4d432559e4e216a14b6980ff6c Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 19 Jun 2023 15:32:58 -0400 Subject: [PATCH 06/15] Optimize `validate_arguments` (#10) --- parser/src/function.rs | 13 +++++++++---- parser/src/parser.rs | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/parser/src/function.rs b/parser/src/function.rs index 53ca0879..201a43b1 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -16,7 +16,14 @@ pub(crate) struct ArgumentList { // Perform validation of function/lambda arguments in a function definition. pub(crate) fn validate_arguments(arguments: &ast::Arguments) -> Result<(), LexicalError> { - let mut all_arg_names = FxHashSet::with_hasher(Default::default()); + let mut all_arg_names = FxHashSet::with_capacity_and_hasher( + arguments.posonlyargs.len() + + arguments.args.len() + + arguments.vararg.is_some() as usize + + arguments.kwonlyargs.len() + + arguments.kwarg.is_some() as usize, + Default::default(), + ); let posonlyargs = arguments.posonlyargs.iter(); let args = arguments.args.iter(); @@ -83,7 +90,7 @@ pub(crate) fn parse_args(func_args: Vec) -> Result { // Check for duplicate keyword arguments in the call. if let Some(keyword_name) = &name { - if keyword_names.contains(keyword_name) { + if !keyword_names.insert(keyword_name.clone()) { return Err(LexicalError { error: LexicalErrorType::DuplicateKeywordArgumentError( keyword_name.to_string(), @@ -91,8 +98,6 @@ pub(crate) fn parse_args(func_args: Vec) -> Result Tuple[*Ts]: ... #[test] #[cfg(feature = "all-nodes-with-ranges")] fn decorator_ranges() { - let parse_ast = parse_program( + let parse_ast = ast::Suite::parse( r#" @my_decorator def test(): From 2268f54a69044f3e89f48c121b8413116e8c5146 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 19 Jun 2023 16:31:25 -0400 Subject: [PATCH 07/15] Make malachite-bigint an optional dependency for rustpython-format (#12) --- format/Cargo.toml | 3 ++- format/src/cformat.rs | 3 ++- format/src/format.rs | 7 ++++--- format/src/lib.rs | 9 +++++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/format/Cargo.toml b/format/Cargo.toml index 7a9db255..a9185b5a 100644 --- a/format/Cargo.toml +++ b/format/Cargo.toml @@ -12,5 +12,6 @@ rustpython-literal = { workspace = true } bitflags = "2.3.1" itertools = "0.10.5" -malachite-bigint = { workspace = true } num-traits = { workspace = true } +num-bigint = { workspace = true, optional = true } +malachite-bigint = { workspace = true, optional = true } diff --git a/format/src/cformat.rs b/format/src/cformat.rs index a207857e..d835fda0 100644 --- a/format/src/cformat.rs +++ b/format/src/cformat.rs @@ -1,7 +1,6 @@ //! Implementation of Printf-Style string formatting //! as per the [Python Docs](https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting). use bitflags::bitflags; -use malachite_bigint::{BigInt, Sign}; use num_traits::Signed; use rustpython_literal::{float, format::Case}; use std::{ @@ -10,6 +9,8 @@ use std::{ str::FromStr, }; +use crate::bigint::{BigInt, Sign}; + #[derive(Debug, PartialEq)] pub enum CFormatErrorType { UnmatchedKeyParentheses, diff --git a/format/src/format.rs b/format/src/format.rs index 09cc3d1a..6bc5796e 100644 --- a/format/src/format.rs +++ b/format/src/format.rs @@ -1,12 +1,13 @@ use itertools::{Itertools, PeekingNext}; -use malachite_bigint::{BigInt, Sign}; -use num_traits::FromPrimitive; -use num_traits::{cast::ToPrimitive, Signed}; + +use num_traits::{cast::ToPrimitive, FromPrimitive, Signed}; use rustpython_literal::float; use rustpython_literal::format::Case; use std::ops::Deref; use std::{cmp, str::FromStr}; +use crate::bigint::{BigInt, Sign}; + trait FormatParse { fn parse(text: &str) -> (Option, &str) where diff --git a/format/src/lib.rs b/format/src/lib.rs index 3c5d8695..d3833c18 100644 --- a/format/src/lib.rs +++ b/format/src/lib.rs @@ -1,4 +1,9 @@ -pub mod cformat; -mod format; +#[cfg(feature = "malachite-bigint")] +pub use malachite_bigint as bigint; +#[cfg(feature = "num-bigint")] +pub use num_bigint as bigint; pub use crate::format::*; + +pub mod cformat; +mod format; From 18da1795525eeb914b69b19a1505669d34e9b45f Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 19 Jun 2023 17:26:17 -0400 Subject: [PATCH 08/15] Remove `fold`, `unparse`, and `location` features (#9) --- .github/workflows/ci.yaml | 4 +- Cargo.toml | 4 +- ast-pyo3/.gitignore | 72 - ast-pyo3/Cargo.toml | 23 - ast-pyo3/pyproject.toml | 15 - ast-pyo3/rustpython_ast/__init__.py | 3 - ast-pyo3/src/gen/to_py_ast.rs | 4882 ------------------------ ast-pyo3/src/gen/wrapper_located.rs | 4447 --------------------- ast-pyo3/src/gen/wrapper_ranged.rs | 4151 -------------------- ast-pyo3/src/lib.rs | 49 - ast-pyo3/src/py_ast.rs | 219 -- ast-pyo3/src/wrapper.rs | 153 - ast-pyo3/test_ast.py | 56 - ast/Cargo.toml | 7 +- ast/asdl_rs.py | 1511 +------- ast/src/fold.rs | 76 - ast/src/gen/fold.rs | 2846 -------------- ast/src/gen/located.rs | 1413 ------- ast/src/gen/visitor.rs | 817 ---- ast/src/lib.rs | 29 - ast/src/located.rs | 23 - ast/src/optimizer.rs | 131 - ast/src/source_locator.rs | 288 -- ast/src/unparse.rs | 638 ---- core/Cargo.toml | 2 - core/src/lib.rs | 2 - core/src/source_code.rs | 347 -- parser/Cargo.toml | 3 +- parser/src/lib.rs | 2 - ruff_source_location/Cargo.toml | 17 - ruff_source_location/src/lib.rs | 227 -- ruff_source_location/src/line_index.rs | 630 --- ruff_source_location/src/newlines.rs | 446 --- scripts/update_asdl.sh | 4 +- 34 files changed, 62 insertions(+), 23475 deletions(-) delete mode 100644 ast-pyo3/.gitignore delete mode 100644 ast-pyo3/Cargo.toml delete mode 100644 ast-pyo3/pyproject.toml delete mode 100644 ast-pyo3/rustpython_ast/__init__.py delete mode 100644 ast-pyo3/src/gen/to_py_ast.rs delete mode 100644 ast-pyo3/src/gen/wrapper_located.rs delete mode 100644 ast-pyo3/src/gen/wrapper_ranged.rs delete mode 100644 ast-pyo3/src/lib.rs delete mode 100644 ast-pyo3/src/py_ast.rs delete mode 100644 ast-pyo3/src/wrapper.rs delete mode 100644 ast-pyo3/test_ast.py delete mode 100644 ast/src/fold.rs delete mode 100644 ast/src/gen/fold.rs delete mode 100644 ast/src/gen/located.rs delete mode 100644 ast/src/gen/visitor.rs delete mode 100644 ast/src/located.rs delete mode 100644 ast/src/optimizer.rs delete mode 100644 ast/src/source_locator.rs delete mode 100644 ast/src/unparse.rs delete mode 100644 core/src/source_code.rs delete mode 100644 ruff_source_location/Cargo.toml delete mode 100644 ruff_source_location/src/lib.rs delete mode 100644 ruff_source_location/src/line_index.rs delete mode 100644 ruff_source_location/src/newlines.rs diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 392f84a2..3c627ddb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,7 +40,7 @@ jobs: - name: run tests with num-bigint run: cargo test --all --no-default-features --features num-bigint - name: run tests with malachite-bigint and all features - run: cargo test --all --features location,malachite-bigint,constant-optimization,fold,unparse,visitor,all-nodes-with-ranges,full-lexer,serde --exclude rustpython-ast-pyo3 + run: cargo test --all --features malachite-bigint,all-nodes-with-ranges,full-lexer,serde lint: name: Check Rust code with rustfmt and clippy @@ -55,7 +55,7 @@ jobs: - name: run clippy run: cargo clippy --all --no-default-features --features num-bigint - name: run clippy - run: cargo clippy --all --features location,malachite-bigint,constant-optimization,fold,unparse,visitor,all-nodes-with-ranges,full-lexer,serde --exclude rustpython-ast-pyo3 -- -Dwarnings + run: cargo clippy --all --features malachite-bigint,all-nodes-with-ranges,full-lexer,serde -- -Dwarnings - uses: actions/setup-python@v4 with: diff --git a/Cargo.toml b/Cargo.toml index 2342f7f1..219221e6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,9 +11,7 @@ include = ["LICENSE", "Cargo.toml", "src/**/*.rs"] [workspace] resolver = "2" members = [ - "ast", "core", "format", "literal", "parser", - "ast-pyo3", - "ruff_text_size", "ruff_source_location", + "ast", "core", "format", "literal", "parser", "ruff_text_size", ] [workspace.dependencies] diff --git a/ast-pyo3/.gitignore b/ast-pyo3/.gitignore deleted file mode 100644 index af3ca5ef..00000000 --- a/ast-pyo3/.gitignore +++ /dev/null @@ -1,72 +0,0 @@ -/target - -# Byte-compiled / optimized / DLL files -__pycache__/ -.pytest_cache/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -.venv/ -env/ -bin/ -build/ -develop-eggs/ -dist/ -eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -include/ -man/ -venv/ -*.egg-info/ -.installed.cfg -*.egg - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt -pip-selfcheck.json - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.cache -nosetests.xml -coverage.xml - -# Translations -*.mo - -# Mr Developer -.mr.developer.cfg -.project -.pydevproject - -# Rope -.ropeproject - -# Django stuff: -*.log -*.pot - -.DS_Store - -# Sphinx documentation -docs/_build/ - -# PyCharm -.idea/ - -# VSCode -.vscode/ - -# Pyenv -.python-version \ No newline at end of file diff --git a/ast-pyo3/Cargo.toml b/ast-pyo3/Cargo.toml deleted file mode 100644 index bf145ab4..00000000 --- a/ast-pyo3/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "rustpython-ast-pyo3" -version = "0.0.1" -edition = "2021" - -[features] -# abi3 = ["pyo3/abi3-py37"] # will be supported from next pyo3 version -# This feature is experimental -# It reimplements AST types, but currently both slower than python AST types and limited to use in other API -wrapper = [] - -[lib] -name = "rustpython_ast" -crate-type = ["cdylib"] - -[dependencies] -rustpython-ast = { workspace = true, features = ["location"] } -rustpython-parser = { workspace = true, features = ["num-bigint"] } -num-complex = { workspace = true } -num-traits = { workspace = true } -once_cell = { workspace = true } - -pyo3 = { workspace = true, features = ["num-bigint", "num-complex"] } diff --git a/ast-pyo3/pyproject.toml b/ast-pyo3/pyproject.toml deleted file mode 100644 index f6e6dbcd..00000000 --- a/ast-pyo3/pyproject.toml +++ /dev/null @@ -1,15 +0,0 @@ -[build-system] -requires = ["maturin>=0.15,<0.16"] -build-backend = "maturin" - -[project] -name = "rustpython_ast" -requires-python = ">=3.7" -classifiers = [ - "Programming Language :: Rust", - "Programming Language :: Python :: Implementation :: CPython", -] - -[tool.maturin] -# module-name = "_rustpython_ast" -features = ["pyo3/extension-module"] diff --git a/ast-pyo3/rustpython_ast/__init__.py b/ast-pyo3/rustpython_ast/__init__.py deleted file mode 100644 index a013bb1b..00000000 --- a/ast-pyo3/rustpython_ast/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from rustpython_ast.rustpython_ast import parse - -__all__ = ["parse"] diff --git a/ast-pyo3/src/gen/to_py_ast.rs b/ast-pyo3/src/gen/to_py_ast.rs deleted file mode 100644 index 93ffac3a..00000000 --- a/ast-pyo3/src/gen/to_py_ast.rs +++ /dev/null @@ -1,4882 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -impl PyNode for ast::Mod { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModModule { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModInteractive { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModExpression { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModFunctionType { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Stmt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtFunctionDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncFunctionDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtClassDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtReturn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtDelete { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAugAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAnnAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtFor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncFor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtWhile { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtIf { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtWith { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncWith { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtMatch { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtRaise { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtTry { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtTryStar { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAssert { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtImport { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtImportFrom { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtGlobal { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtNonlocal { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtExpr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtPass { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtBreak { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtContinue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Expr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprBoolOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprNamedExpr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprBinOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprUnaryOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprLambda { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprIfExp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprDict { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSet { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprListComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSetComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprDictComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprGeneratorExp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprAwait { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprYield { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprYieldFrom { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprCompare { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprCall { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprFormattedValue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprJoinedStr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprConstant { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprAttribute { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSubscript { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprStarred { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprName { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprList { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprTuple { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSlice { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContext { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextLoad { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextStore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextDel { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOpAnd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOpOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Operator { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorAdd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorSub { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMult { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMatMult { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorDiv { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMod { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorPow { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorLShift { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorRShift { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitXor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitAnd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorFloorDiv { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpInvert { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpNot { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpUAdd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpUSub { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpEq { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpNotEq { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpLt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpLtE { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpGt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpGtE { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIs { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIsNot { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpNotIn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Comprehension { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExceptHandler { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExceptHandlerExceptHandler { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PythonArguments { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Arg { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Keyword { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Alias { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::WithItem { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::MatchCase { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Pattern { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchValue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchSingleton { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchSequence { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchMapping { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchClass { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchStar { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchAs { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::TypeIgnore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::TypeIgnoreTypeIgnore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Decorator { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl ToPyAst for ast::ExprContext { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::ExprContext::Load => ast::ExprContextLoad::py_type_cache(), - ast::ExprContext::Store => ast::ExprContextStore::py_type_cache(), - ast::ExprContext::Del => ast::ExprContextDel::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::BoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::BoolOp::And => ast::BoolOpAnd::py_type_cache(), - ast::BoolOp::Or => ast::BoolOpOr::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::Operator { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::Operator::Add => ast::OperatorAdd::py_type_cache(), - ast::Operator::Sub => ast::OperatorSub::py_type_cache(), - ast::Operator::Mult => ast::OperatorMult::py_type_cache(), - ast::Operator::MatMult => ast::OperatorMatMult::py_type_cache(), - ast::Operator::Div => ast::OperatorDiv::py_type_cache(), - ast::Operator::Mod => ast::OperatorMod::py_type_cache(), - ast::Operator::Pow => ast::OperatorPow::py_type_cache(), - ast::Operator::LShift => ast::OperatorLShift::py_type_cache(), - ast::Operator::RShift => ast::OperatorRShift::py_type_cache(), - ast::Operator::BitOr => ast::OperatorBitOr::py_type_cache(), - ast::Operator::BitXor => ast::OperatorBitXor::py_type_cache(), - ast::Operator::BitAnd => ast::OperatorBitAnd::py_type_cache(), - ast::Operator::FloorDiv => ast::OperatorFloorDiv::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::UnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::UnaryOp::Invert => ast::UnaryOpInvert::py_type_cache(), - ast::UnaryOp::Not => ast::UnaryOpNot::py_type_cache(), - ast::UnaryOp::UAdd => ast::UnaryOpUAdd::py_type_cache(), - ast::UnaryOp::USub => ast::UnaryOpUSub::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::CmpOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::CmpOp::Eq => ast::CmpOpEq::py_type_cache(), - ast::CmpOp::NotEq => ast::CmpOpNotEq::py_type_cache(), - ast::CmpOp::Lt => ast::CmpOpLt::py_type_cache(), - ast::CmpOp::LtE => ast::CmpOpLtE::py_type_cache(), - ast::CmpOp::Gt => ast::CmpOpGt::py_type_cache(), - ast::CmpOp::GtE => ast::CmpOpGtE::py_type_cache(), - ast::CmpOp::Is => ast::CmpOpIs::py_type_cache(), - ast::CmpOp::IsNot => ast::CmpOpIsNot::py_type_cache(), - ast::CmpOp::In => ast::CmpOpIn::py_type_cache(), - ast::CmpOp::NotIn => ast::CmpOpNotIn::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::Mod { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Mod::Module(cons) => cons.to_py_ast(py)?, - ast::Mod::Interactive(cons) => cons.to_py_ast(py)?, - ast::Mod::Expression(cons) => cons.to_py_ast(py)?, - ast::Mod::FunctionType(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ModModule { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - type_ignores, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((body.to_py_ast(py)?, type_ignores.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModInteractive { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModExpression { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModFunctionType { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - argtypes, - returns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((argtypes.to_py_ast(py)?, returns.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Stmt { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Stmt::FunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::ClassDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::Return(cons) => cons.to_py_ast(py)?, - ast::Stmt::Delete(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AugAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AnnAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::For(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFor(cons) => cons.to_py_ast(py)?, - ast::Stmt::While(cons) => cons.to_py_ast(py)?, - ast::Stmt::If(cons) => cons.to_py_ast(py)?, - ast::Stmt::With(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncWith(cons) => cons.to_py_ast(py)?, - ast::Stmt::Match(cons) => cons.to_py_ast(py)?, - ast::Stmt::Raise(cons) => cons.to_py_ast(py)?, - ast::Stmt::Try(cons) => cons.to_py_ast(py)?, - ast::Stmt::TryStar(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assert(cons) => cons.to_py_ast(py)?, - ast::Stmt::Import(cons) => cons.to_py_ast(py)?, - ast::Stmt::ImportFrom(cons) => cons.to_py_ast(py)?, - ast::Stmt::Global(cons) => cons.to_py_ast(py)?, - ast::Stmt::Nonlocal(cons) => cons.to_py_ast(py)?, - ast::Stmt::Expr(cons) => cons.to_py_ast(py)?, - ast::Stmt::Pass(cons) => cons.to_py_ast(py)?, - ast::Stmt::Break(cons) => cons.to_py_ast(py)?, - ast::Stmt::Continue(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtClassDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - bases, - keywords, - body, - decorator_list, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - bases.to_py_ast(py)?, - keywords.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtReturn { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtDelete { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((targets.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - value, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - targets.to_py_ast(py)?, - value.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAugAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - op, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - op.to_py_ast(py)?, - value.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAnnAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - annotation, - value, - simple, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - annotation.to_py_ast(py)?, - value.to_py_ast(py)?, - simple.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWhile { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtIf { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtMatch { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - subject, - cases, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((subject.to_py_ast(py)?, cases.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtRaise { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - exc, - cause, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((exc.to_py_ast(py)?, cause.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTry { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTryStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssert { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - msg, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((test.to_py_ast(py)?, msg.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImport { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImportFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - module, - names, - level, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - module.to_py_ast(py)?, - names.to_py_ast(py)?, - level.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)), - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtGlobal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtNonlocal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtPass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtBreak { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtContinue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Expr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Expr::BoolOp(cons) => cons.to_py_ast(py)?, - ast::Expr::NamedExpr(cons) => cons.to_py_ast(py)?, - ast::Expr::BinOp(cons) => cons.to_py_ast(py)?, - ast::Expr::UnaryOp(cons) => cons.to_py_ast(py)?, - ast::Expr::Lambda(cons) => cons.to_py_ast(py)?, - ast::Expr::IfExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Dict(cons) => cons.to_py_ast(py)?, - ast::Expr::Set(cons) => cons.to_py_ast(py)?, - ast::Expr::ListComp(cons) => cons.to_py_ast(py)?, - ast::Expr::SetComp(cons) => cons.to_py_ast(py)?, - ast::Expr::DictComp(cons) => cons.to_py_ast(py)?, - ast::Expr::GeneratorExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Await(cons) => cons.to_py_ast(py)?, - ast::Expr::Yield(cons) => cons.to_py_ast(py)?, - ast::Expr::YieldFrom(cons) => cons.to_py_ast(py)?, - ast::Expr::Compare(cons) => cons.to_py_ast(py)?, - ast::Expr::Call(cons) => cons.to_py_ast(py)?, - ast::Expr::FormattedValue(cons) => cons.to_py_ast(py)?, - ast::Expr::JoinedStr(cons) => cons.to_py_ast(py)?, - ast::Expr::Constant(cons) => cons.to_py_ast(py)?, - ast::Expr::Attribute(cons) => cons.to_py_ast(py)?, - ast::Expr::Subscript(cons) => cons.to_py_ast(py)?, - ast::Expr::Starred(cons) => cons.to_py_ast(py)?, - ast::Expr::Name(cons) => cons.to_py_ast(py)?, - ast::Expr::List(cons) => cons.to_py_ast(py)?, - ast::Expr::Tuple(cons) => cons.to_py_ast(py)?, - ast::Expr::Slice(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - values, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, values.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprNamedExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((target.to_py_ast(py)?, value.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBinOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - op, - right, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - op.to_py_ast(py)?, - right.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprUnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - operand, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, operand.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprLambda { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - args, - body, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((args.to_py_ast(py)?, body.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprIfExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDict { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((keys.to_py_ast(py)?, values.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSet { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprListComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSetComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDictComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - key, - value, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - key.to_py_ast(py)?, - value.to_py_ast(py)?, - generators.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprGeneratorExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAwait { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYield { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYieldFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCompare { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - ops, - comparators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - ops.to_py_ast(py)?, - comparators.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCall { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - func, - args, - keywords, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - func.to_py_ast(py)?, - args.to_py_ast(py)?, - keywords.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprFormattedValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - conversion, - format_spec, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - conversion.to_py_ast(py)?, - format_spec.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprJoinedStr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((values.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprConstant { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - kind, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((constant_to_object(value, py), kind.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAttribute { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - attr, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - attr.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSubscript { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - slice, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - slice.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprStarred { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprName { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - id, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((id.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprList { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprTuple { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSlice { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lower, - upper, - step, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - lower.to_py_ast(py)?, - upper.to_py_ast(py)?, - step.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Comprehension { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - ifs, - is_async, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - ifs.to_py_ast(py)?, - is_async.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::ExceptHandler::ExceptHandler(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - type_, - name, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - type_.to_py_ast(py)?, - name.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PythonArguments { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - posonlyargs, - args, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - defaults, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - posonlyargs.to_py_ast(py)?, - args.to_py_ast(py)?, - vararg.to_py_ast(py)?, - kwonlyargs.to_py_ast(py)?, - kw_defaults.to_py_ast(py)?, - kwarg.to_py_ast(py)?, - defaults.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Arg { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - annotation, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - arg.to_py_ast(py)?, - annotation.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Keyword { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - value, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((arg.to_py_ast(py)?, value.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Alias { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - asname, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((name.to_py_ast(py)?, asname.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::WithItem { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - context_expr, - optional_vars, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((context_expr.to_py_ast(py)?, optional_vars.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::MatchCase { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - guard, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - pattern.to_py_ast(py)?, - guard.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Pattern { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Pattern::MatchValue(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSingleton(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSequence(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchMapping(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchClass(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchStar(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchAs(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchOr(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSingleton { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((constant_to_object(value, py),))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSequence { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchMapping { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - patterns, - rest, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - keys.to_py_ast(py)?, - patterns.to_py_ast(py)?, - rest.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchClass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - cls.to_py_ast(py)?, - patterns.to_py_ast(py)?, - kwd_attrs.to_py_ast(py)?, - kwd_patterns.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((name.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchAs { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((pattern.to_py_ast(py)?, name.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchOr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::TypeIgnore::TypeIgnore(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lineno, - tag, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((lineno.to_u32().to_object(py), tag.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Decorator { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - expression, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((expression.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Mod { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Mod::Module(cons) => cons.to_py_ast(py)?, - ast::Mod::Interactive(cons) => cons.to_py_ast(py)?, - ast::Mod::Expression(cons) => cons.to_py_ast(py)?, - ast::Mod::FunctionType(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ModModule { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - type_ignores, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((body.to_py_ast(py)?, type_ignores.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModInteractive { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModExpression { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModFunctionType { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - argtypes, - returns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((argtypes.to_py_ast(py)?, returns.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Stmt { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Stmt::FunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::ClassDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::Return(cons) => cons.to_py_ast(py)?, - ast::Stmt::Delete(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AugAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AnnAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::For(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFor(cons) => cons.to_py_ast(py)?, - ast::Stmt::While(cons) => cons.to_py_ast(py)?, - ast::Stmt::If(cons) => cons.to_py_ast(py)?, - ast::Stmt::With(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncWith(cons) => cons.to_py_ast(py)?, - ast::Stmt::Match(cons) => cons.to_py_ast(py)?, - ast::Stmt::Raise(cons) => cons.to_py_ast(py)?, - ast::Stmt::Try(cons) => cons.to_py_ast(py)?, - ast::Stmt::TryStar(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assert(cons) => cons.to_py_ast(py)?, - ast::Stmt::Import(cons) => cons.to_py_ast(py)?, - ast::Stmt::ImportFrom(cons) => cons.to_py_ast(py)?, - ast::Stmt::Global(cons) => cons.to_py_ast(py)?, - ast::Stmt::Nonlocal(cons) => cons.to_py_ast(py)?, - ast::Stmt::Expr(cons) => cons.to_py_ast(py)?, - ast::Stmt::Pass(cons) => cons.to_py_ast(py)?, - ast::Stmt::Break(cons) => cons.to_py_ast(py)?, - ast::Stmt::Continue(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtClassDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - bases, - keywords, - body, - decorator_list, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - bases.to_py_ast(py)?, - keywords.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtReturn { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtDelete { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((targets.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - value, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - targets.to_py_ast(py)?, - value.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAugAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - op, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - op.to_py_ast(py)?, - value.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAnnAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - annotation, - value, - simple, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - annotation.to_py_ast(py)?, - value.to_py_ast(py)?, - simple.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWhile { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtIf { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtMatch { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - subject, - cases, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((subject.to_py_ast(py)?, cases.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtRaise { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - exc, - cause, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((exc.to_py_ast(py)?, cause.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTry { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTryStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssert { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - msg, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((test.to_py_ast(py)?, msg.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImport { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImportFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - module, - names, - level, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - module.to_py_ast(py)?, - names.to_py_ast(py)?, - level.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)), - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtGlobal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtNonlocal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtPass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtBreak { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtContinue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Expr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Expr::BoolOp(cons) => cons.to_py_ast(py)?, - ast::Expr::NamedExpr(cons) => cons.to_py_ast(py)?, - ast::Expr::BinOp(cons) => cons.to_py_ast(py)?, - ast::Expr::UnaryOp(cons) => cons.to_py_ast(py)?, - ast::Expr::Lambda(cons) => cons.to_py_ast(py)?, - ast::Expr::IfExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Dict(cons) => cons.to_py_ast(py)?, - ast::Expr::Set(cons) => cons.to_py_ast(py)?, - ast::Expr::ListComp(cons) => cons.to_py_ast(py)?, - ast::Expr::SetComp(cons) => cons.to_py_ast(py)?, - ast::Expr::DictComp(cons) => cons.to_py_ast(py)?, - ast::Expr::GeneratorExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Await(cons) => cons.to_py_ast(py)?, - ast::Expr::Yield(cons) => cons.to_py_ast(py)?, - ast::Expr::YieldFrom(cons) => cons.to_py_ast(py)?, - ast::Expr::Compare(cons) => cons.to_py_ast(py)?, - ast::Expr::Call(cons) => cons.to_py_ast(py)?, - ast::Expr::FormattedValue(cons) => cons.to_py_ast(py)?, - ast::Expr::JoinedStr(cons) => cons.to_py_ast(py)?, - ast::Expr::Constant(cons) => cons.to_py_ast(py)?, - ast::Expr::Attribute(cons) => cons.to_py_ast(py)?, - ast::Expr::Subscript(cons) => cons.to_py_ast(py)?, - ast::Expr::Starred(cons) => cons.to_py_ast(py)?, - ast::Expr::Name(cons) => cons.to_py_ast(py)?, - ast::Expr::List(cons) => cons.to_py_ast(py)?, - ast::Expr::Tuple(cons) => cons.to_py_ast(py)?, - ast::Expr::Slice(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - values, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, values.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprNamedExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((target.to_py_ast(py)?, value.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBinOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - op, - right, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - op.to_py_ast(py)?, - right.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprUnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - operand, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, operand.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprLambda { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - args, - body, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((args.to_py_ast(py)?, body.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprIfExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDict { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((keys.to_py_ast(py)?, values.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSet { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprListComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSetComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDictComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - key, - value, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - key.to_py_ast(py)?, - value.to_py_ast(py)?, - generators.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprGeneratorExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAwait { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYield { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYieldFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCompare { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - ops, - comparators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - ops.to_py_ast(py)?, - comparators.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCall { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - func, - args, - keywords, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - func.to_py_ast(py)?, - args.to_py_ast(py)?, - keywords.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprFormattedValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - conversion, - format_spec, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - conversion.to_py_ast(py)?, - format_spec.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprJoinedStr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((values.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprConstant { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - kind, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((constant_to_object(value, py), kind.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAttribute { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - attr, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - attr.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSubscript { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - slice, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - slice.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprStarred { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprName { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - id, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((id.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprList { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprTuple { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSlice { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lower, - upper, - step, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - lower.to_py_ast(py)?, - upper.to_py_ast(py)?, - step.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Comprehension { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - ifs, - is_async, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - ifs.to_py_ast(py)?, - is_async.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::ExceptHandler::ExceptHandler(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - type_, - name, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - type_.to_py_ast(py)?, - name.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PythonArguments { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - posonlyargs, - args, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - defaults, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - posonlyargs.to_py_ast(py)?, - args.to_py_ast(py)?, - vararg.to_py_ast(py)?, - kwonlyargs.to_py_ast(py)?, - kw_defaults.to_py_ast(py)?, - kwarg.to_py_ast(py)?, - defaults.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Arg { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - annotation, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - arg.to_py_ast(py)?, - annotation.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Keyword { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - value, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((arg.to_py_ast(py)?, value.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Alias { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - asname, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((name.to_py_ast(py)?, asname.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::WithItem { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - context_expr, - optional_vars, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((context_expr.to_py_ast(py)?, optional_vars.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::MatchCase { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - guard, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - pattern.to_py_ast(py)?, - guard.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Pattern { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Pattern::MatchValue(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSingleton(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSequence(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchMapping(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchClass(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchStar(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchAs(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchOr(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSingleton { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((constant_to_object(value, py),))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSequence { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchMapping { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - patterns, - rest, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - keys.to_py_ast(py)?, - patterns.to_py_ast(py)?, - rest.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchClass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - cls.to_py_ast(py)?, - patterns.to_py_ast(py)?, - kwd_attrs.to_py_ast(py)?, - kwd_patterns.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((name.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchAs { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((pattern.to_py_ast(py)?, name.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchOr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::TypeIgnore::TypeIgnore(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lineno, - tag, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((lineno.to_u32().to_object(py), tag.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Decorator { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - expression, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((expression.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -fn init_types(py: Python) -> PyResult<()> { - let ast_module = PyModule::import(py, "_ast")?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - Ok(()) -} diff --git a/ast-pyo3/src/gen/wrapper_located.rs b/ast-pyo3/src/gen/wrapper_located.rs deleted file mode 100644 index 9890414f..00000000 --- a/ast-pyo3/src/gen/wrapper_located.rs +++ /dev/null @@ -1,4447 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[pyclass(module="rustpython_ast.located", name="_mod", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Mod; - -impl From<&'static ast::Mod> for Mod { - fn from(_node: &'static ast::Mod) -> Self { - Mod - } -} - -#[pymethods] -impl Mod { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Mod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Mod { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::Module(cons) => cons.to_py_wrapper(py), - Self::Interactive(cons) => cons.to_py_wrapper(py), - Self::Expression(cons) => cons.to_py_wrapper(py), - Self::FunctionType(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_Module", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModModule(pub &'static ast::ModModule); - -impl From<&'static ast::ModModule> for ModModule { - fn from(node: &'static ast::ModModule) -> Self { - ModModule(node) - } -} - -impl ToPyObject for ModModule { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModModule { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModModule(self).to_object(py)) - } -} - -#[pymethods] -impl ModModule { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_ignores(&self, py: Python) -> PyResult { - self.0.type_ignores.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Interactive", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModInteractive(pub &'static ast::ModInteractive); - -impl From<&'static ast::ModInteractive> for ModInteractive { - fn from(node: &'static ast::ModInteractive) -> Self { - ModInteractive(node) - } -} - -impl ToPyObject for ModInteractive { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModInteractive { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModInteractive(self).to_object(py)) - } -} - -#[pymethods] -impl ModInteractive { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Expression", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModExpression(pub &'static ast::ModExpression); - -impl From<&'static ast::ModExpression> for ModExpression { - fn from(node: &'static ast::ModExpression) -> Self { - ModExpression(node) - } -} - -impl ToPyObject for ModExpression { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModExpression { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModExpression(self).to_object(py)) - } -} - -#[pymethods] -impl ModExpression { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FunctionType", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModFunctionType(pub &'static ast::ModFunctionType); - -impl From<&'static ast::ModFunctionType> for ModFunctionType { - fn from(node: &'static ast::ModFunctionType) -> Self { - ModFunctionType(node) - } -} - -impl ToPyObject for ModFunctionType { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModFunctionType { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModFunctionType(self).to_object(py)) - } -} - -#[pymethods] -impl ModFunctionType { - #[getter] - #[inline] - fn get_argtypes(&self, py: Python) -> PyResult { - self.0.argtypes.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_stmt", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Stmt; - -impl From<&'static ast::Stmt> for Stmt { - fn from(_node: &'static ast::Stmt) -> Self { - Stmt - } -} - -#[pymethods] -impl Stmt { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Stmt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Stmt { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::FunctionDef(cons) => cons.to_py_wrapper(py), - Self::AsyncFunctionDef(cons) => cons.to_py_wrapper(py), - Self::ClassDef(cons) => cons.to_py_wrapper(py), - Self::Return(cons) => cons.to_py_wrapper(py), - Self::Delete(cons) => cons.to_py_wrapper(py), - Self::Assign(cons) => cons.to_py_wrapper(py), - Self::AugAssign(cons) => cons.to_py_wrapper(py), - Self::AnnAssign(cons) => cons.to_py_wrapper(py), - Self::For(cons) => cons.to_py_wrapper(py), - Self::AsyncFor(cons) => cons.to_py_wrapper(py), - Self::While(cons) => cons.to_py_wrapper(py), - Self::If(cons) => cons.to_py_wrapper(py), - Self::With(cons) => cons.to_py_wrapper(py), - Self::AsyncWith(cons) => cons.to_py_wrapper(py), - Self::Match(cons) => cons.to_py_wrapper(py), - Self::Raise(cons) => cons.to_py_wrapper(py), - Self::Try(cons) => cons.to_py_wrapper(py), - Self::TryStar(cons) => cons.to_py_wrapper(py), - Self::Assert(cons) => cons.to_py_wrapper(py), - Self::Import(cons) => cons.to_py_wrapper(py), - Self::ImportFrom(cons) => cons.to_py_wrapper(py), - Self::Global(cons) => cons.to_py_wrapper(py), - Self::Nonlocal(cons) => cons.to_py_wrapper(py), - Self::Expr(cons) => cons.to_py_wrapper(py), - Self::Pass(cons) => cons.to_py_wrapper(py), - Self::Break(cons) => cons.to_py_wrapper(py), - Self::Continue(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_FunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFunctionDef(pub &'static ast::StmtFunctionDef); - -impl From<&'static ast::StmtFunctionDef> for StmtFunctionDef { - fn from(node: &'static ast::StmtFunctionDef) -> Self { - StmtFunctionDef(node) - } -} - -impl ToPyObject for StmtFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncFunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFunctionDef(pub &'static ast::StmtAsyncFunctionDef); - -impl From<&'static ast::StmtAsyncFunctionDef> for StmtAsyncFunctionDef { - fn from(node: &'static ast::StmtAsyncFunctionDef) -> Self { - StmtAsyncFunctionDef(node) - } -} - -impl ToPyObject for StmtAsyncFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ClassDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtClassDef(pub &'static ast::StmtClassDef); - -impl From<&'static ast::StmtClassDef> for StmtClassDef { - fn from(node: &'static ast::StmtClassDef) -> Self { - StmtClassDef(node) - } -} - -impl ToPyObject for StmtClassDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtClassDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtClassDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtClassDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_bases(&self, py: Python) -> PyResult { - self.0.bases.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Return", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtReturn(pub &'static ast::StmtReturn); - -impl From<&'static ast::StmtReturn> for StmtReturn { - fn from(node: &'static ast::StmtReturn) -> Self { - StmtReturn(node) - } -} - -impl ToPyObject for StmtReturn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtReturn { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtReturn(self).to_object(py)) - } -} - -#[pymethods] -impl StmtReturn { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Delete", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtDelete(pub &'static ast::StmtDelete); - -impl From<&'static ast::StmtDelete> for StmtDelete { - fn from(node: &'static ast::StmtDelete) -> Self { - StmtDelete(node) - } -} - -impl ToPyObject for StmtDelete { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtDelete { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtDelete(self).to_object(py)) - } -} - -#[pymethods] -impl StmtDelete { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Assign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssign(pub &'static ast::StmtAssign); - -impl From<&'static ast::StmtAssign> for StmtAssign { - fn from(node: &'static ast::StmtAssign) -> Self { - StmtAssign(node) - } -} - -impl ToPyObject for StmtAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssign { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AugAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAugAssign(pub &'static ast::StmtAugAssign); - -impl From<&'static ast::StmtAugAssign> for StmtAugAssign { - fn from(node: &'static ast::StmtAugAssign) -> Self { - StmtAugAssign(node) - } -} - -impl ToPyObject for StmtAugAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAugAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAugAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAugAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AnnAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAnnAssign(pub &'static ast::StmtAnnAssign); - -impl From<&'static ast::StmtAnnAssign> for StmtAnnAssign { - fn from(node: &'static ast::StmtAnnAssign) -> Self { - StmtAnnAssign(node) - } -} - -impl ToPyObject for StmtAnnAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAnnAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAnnAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAnnAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_simple(&self, py: Python) -> PyResult { - self.0.simple.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_For", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFor(pub &'static ast::StmtFor); - -impl From<&'static ast::StmtFor> for StmtFor { - fn from(node: &'static ast::StmtFor) -> Self { - StmtFor(node) - } -} - -impl ToPyObject for StmtFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncFor", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFor(pub &'static ast::StmtAsyncFor); - -impl From<&'static ast::StmtAsyncFor> for StmtAsyncFor { - fn from(node: &'static ast::StmtAsyncFor) -> Self { - StmtAsyncFor(node) - } -} - -impl ToPyObject for StmtAsyncFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_While", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWhile(pub &'static ast::StmtWhile); - -impl From<&'static ast::StmtWhile> for StmtWhile { - fn from(node: &'static ast::StmtWhile) -> Self { - StmtWhile(node) - } -} - -impl ToPyObject for StmtWhile { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWhile { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWhile(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWhile { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_If", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtIf(pub &'static ast::StmtIf); - -impl From<&'static ast::StmtIf> for StmtIf { - fn from(node: &'static ast::StmtIf) -> Self { - StmtIf(node) - } -} - -impl ToPyObject for StmtIf { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtIf { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtIf(self).to_object(py)) - } -} - -#[pymethods] -impl StmtIf { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_With", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWith(pub &'static ast::StmtWith); - -impl From<&'static ast::StmtWith> for StmtWith { - fn from(node: &'static ast::StmtWith) -> Self { - StmtWith(node) - } -} - -impl ToPyObject for StmtWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncWith", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncWith(pub &'static ast::StmtAsyncWith); - -impl From<&'static ast::StmtAsyncWith> for StmtAsyncWith { - fn from(node: &'static ast::StmtAsyncWith) -> Self { - StmtAsyncWith(node) - } -} - -impl ToPyObject for StmtAsyncWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Match", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtMatch(pub &'static ast::StmtMatch); - -impl From<&'static ast::StmtMatch> for StmtMatch { - fn from(node: &'static ast::StmtMatch) -> Self { - StmtMatch(node) - } -} - -impl ToPyObject for StmtMatch { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtMatch { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtMatch(self).to_object(py)) - } -} - -#[pymethods] -impl StmtMatch { - #[getter] - #[inline] - fn get_subject(&self, py: Python) -> PyResult { - self.0.subject.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cases(&self, py: Python) -> PyResult { - self.0.cases.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Raise", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtRaise(pub &'static ast::StmtRaise); - -impl From<&'static ast::StmtRaise> for StmtRaise { - fn from(node: &'static ast::StmtRaise) -> Self { - StmtRaise(node) - } -} - -impl ToPyObject for StmtRaise { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtRaise { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtRaise(self).to_object(py)) - } -} - -#[pymethods] -impl StmtRaise { - #[getter] - #[inline] - fn get_exc(&self, py: Python) -> PyResult { - self.0.exc.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cause(&self, py: Python) -> PyResult { - self.0.cause.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Try", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTry(pub &'static ast::StmtTry); - -impl From<&'static ast::StmtTry> for StmtTry { - fn from(node: &'static ast::StmtTry) -> Self { - StmtTry(node) - } -} - -impl ToPyObject for StmtTry { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTry { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTry(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTry { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_TryStar", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTryStar(pub &'static ast::StmtTryStar); - -impl From<&'static ast::StmtTryStar> for StmtTryStar { - fn from(node: &'static ast::StmtTryStar) -> Self { - StmtTryStar(node) - } -} - -impl ToPyObject for StmtTryStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTryStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTryStar(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTryStar { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Assert", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssert(pub &'static ast::StmtAssert); - -impl From<&'static ast::StmtAssert> for StmtAssert { - fn from(node: &'static ast::StmtAssert) -> Self { - StmtAssert(node) - } -} - -impl ToPyObject for StmtAssert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssert { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssert(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssert { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_msg(&self, py: Python) -> PyResult { - self.0.msg.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Import", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImport(pub &'static ast::StmtImport); - -impl From<&'static ast::StmtImport> for StmtImport { - fn from(node: &'static ast::StmtImport) -> Self { - StmtImport(node) - } -} - -impl ToPyObject for StmtImport { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImport { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImport(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImport { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ImportFrom", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImportFrom(pub &'static ast::StmtImportFrom); - -impl From<&'static ast::StmtImportFrom> for StmtImportFrom { - fn from(node: &'static ast::StmtImportFrom) -> Self { - StmtImportFrom(node) - } -} - -impl ToPyObject for StmtImportFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImportFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImportFrom(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImportFrom { - #[getter] - #[inline] - fn get_module(&self, py: Python) -> PyResult { - self.0.module.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_level(&self, py: Python) -> PyResult { - self.0.level.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Global", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtGlobal(pub &'static ast::StmtGlobal); - -impl From<&'static ast::StmtGlobal> for StmtGlobal { - fn from(node: &'static ast::StmtGlobal) -> Self { - StmtGlobal(node) - } -} - -impl ToPyObject for StmtGlobal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtGlobal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtGlobal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtGlobal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Nonlocal", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtNonlocal(pub &'static ast::StmtNonlocal); - -impl From<&'static ast::StmtNonlocal> for StmtNonlocal { - fn from(node: &'static ast::StmtNonlocal) -> Self { - StmtNonlocal(node) - } -} - -impl ToPyObject for StmtNonlocal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtNonlocal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtNonlocal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtNonlocal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Expr", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtExpr(pub &'static ast::StmtExpr); - -impl From<&'static ast::StmtExpr> for StmtExpr { - fn from(node: &'static ast::StmtExpr) -> Self { - StmtExpr(node) - } -} - -impl ToPyObject for StmtExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtExpr(self).to_object(py)) - } -} - -#[pymethods] -impl StmtExpr { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Pass", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtPass(pub &'static ast::StmtPass); - -impl From<&'static ast::StmtPass> for StmtPass { - fn from(node: &'static ast::StmtPass) -> Self { - StmtPass(node) - } -} - -impl ToPyObject for StmtPass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtPass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtPass(self).to_object(py)) - } -} - -#[pymethods] -impl StmtPass {} - -#[pyclass(module="rustpython_ast.located", name="_Break", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtBreak(pub &'static ast::StmtBreak); - -impl From<&'static ast::StmtBreak> for StmtBreak { - fn from(node: &'static ast::StmtBreak) -> Self { - StmtBreak(node) - } -} - -impl ToPyObject for StmtBreak { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtBreak { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtBreak(self).to_object(py)) - } -} - -#[pymethods] -impl StmtBreak {} - -#[pyclass(module="rustpython_ast.located", name="_Continue", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtContinue(pub &'static ast::StmtContinue); - -impl From<&'static ast::StmtContinue> for StmtContinue { - fn from(node: &'static ast::StmtContinue) -> Self { - StmtContinue(node) - } -} - -impl ToPyObject for StmtContinue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtContinue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtContinue(self).to_object(py)) - } -} - -#[pymethods] -impl StmtContinue {} - -#[pyclass(module="rustpython_ast.located", name="_expr", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Expr; - -impl From<&'static ast::Expr> for Expr { - fn from(_node: &'static ast::Expr) -> Self { - Expr - } -} - -#[pymethods] -impl Expr { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Expr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Expr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::BoolOp(cons) => cons.to_py_wrapper(py), - Self::NamedExpr(cons) => cons.to_py_wrapper(py), - Self::BinOp(cons) => cons.to_py_wrapper(py), - Self::UnaryOp(cons) => cons.to_py_wrapper(py), - Self::Lambda(cons) => cons.to_py_wrapper(py), - Self::IfExp(cons) => cons.to_py_wrapper(py), - Self::Dict(cons) => cons.to_py_wrapper(py), - Self::Set(cons) => cons.to_py_wrapper(py), - Self::ListComp(cons) => cons.to_py_wrapper(py), - Self::SetComp(cons) => cons.to_py_wrapper(py), - Self::DictComp(cons) => cons.to_py_wrapper(py), - Self::GeneratorExp(cons) => cons.to_py_wrapper(py), - Self::Await(cons) => cons.to_py_wrapper(py), - Self::Yield(cons) => cons.to_py_wrapper(py), - Self::YieldFrom(cons) => cons.to_py_wrapper(py), - Self::Compare(cons) => cons.to_py_wrapper(py), - Self::Call(cons) => cons.to_py_wrapper(py), - Self::FormattedValue(cons) => cons.to_py_wrapper(py), - Self::JoinedStr(cons) => cons.to_py_wrapper(py), - Self::Constant(cons) => cons.to_py_wrapper(py), - Self::Attribute(cons) => cons.to_py_wrapper(py), - Self::Subscript(cons) => cons.to_py_wrapper(py), - Self::Starred(cons) => cons.to_py_wrapper(py), - Self::Name(cons) => cons.to_py_wrapper(py), - Self::List(cons) => cons.to_py_wrapper(py), - Self::Tuple(cons) => cons.to_py_wrapper(py), - Self::Slice(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_BoolOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBoolOp(pub &'static ast::ExprBoolOp); - -impl From<&'static ast::ExprBoolOp> for ExprBoolOp { - fn from(node: &'static ast::ExprBoolOp) -> Self { - ExprBoolOp(node) - } -} - -impl ToPyObject for ExprBoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBoolOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBoolOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBoolOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NamedExpr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprNamedExpr(pub &'static ast::ExprNamedExpr); - -impl From<&'static ast::ExprNamedExpr> for ExprNamedExpr { - fn from(node: &'static ast::ExprNamedExpr) -> Self { - ExprNamedExpr(node) - } -} - -impl ToPyObject for ExprNamedExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprNamedExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprNamedExpr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprNamedExpr { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BinOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBinOp(pub &'static ast::ExprBinOp); - -impl From<&'static ast::ExprBinOp> for ExprBinOp { - fn from(node: &'static ast::ExprBinOp) -> Self { - ExprBinOp(node) - } -} - -impl ToPyObject for ExprBinOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBinOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBinOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBinOp { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_right(&self, py: Python) -> PyResult { - self.0.right.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_UnaryOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprUnaryOp(pub &'static ast::ExprUnaryOp); - -impl From<&'static ast::ExprUnaryOp> for ExprUnaryOp { - fn from(node: &'static ast::ExprUnaryOp) -> Self { - ExprUnaryOp(node) - } -} - -impl ToPyObject for ExprUnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprUnaryOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprUnaryOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprUnaryOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_operand(&self, py: Python) -> PyResult { - self.0.operand.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Lambda", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprLambda(pub &'static ast::ExprLambda); - -impl From<&'static ast::ExprLambda> for ExprLambda { - fn from(node: &'static ast::ExprLambda) -> Self { - ExprLambda(node) - } -} - -impl ToPyObject for ExprLambda { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprLambda { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprLambda(self).to_object(py)) - } -} - -#[pymethods] -impl ExprLambda { - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_IfExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprIfExp(pub &'static ast::ExprIfExp); - -impl From<&'static ast::ExprIfExp> for ExprIfExp { - fn from(node: &'static ast::ExprIfExp) -> Self { - ExprIfExp(node) - } -} - -impl ToPyObject for ExprIfExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprIfExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprIfExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprIfExp { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Dict", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDict(pub &'static ast::ExprDict); - -impl From<&'static ast::ExprDict> for ExprDict { - fn from(node: &'static ast::ExprDict) -> Self { - ExprDict(node) - } -} - -impl ToPyObject for ExprDict { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDict { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDict(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDict { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Set", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSet(pub &'static ast::ExprSet); - -impl From<&'static ast::ExprSet> for ExprSet { - fn from(node: &'static ast::ExprSet) -> Self { - ExprSet(node) - } -} - -impl ToPyObject for ExprSet { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSet { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSet(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSet { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ListComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprListComp(pub &'static ast::ExprListComp); - -impl From<&'static ast::ExprListComp> for ExprListComp { - fn from(node: &'static ast::ExprListComp) -> Self { - ExprListComp(node) - } -} - -impl ToPyObject for ExprListComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprListComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprListComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprListComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_SetComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSetComp(pub &'static ast::ExprSetComp); - -impl From<&'static ast::ExprSetComp> for ExprSetComp { - fn from(node: &'static ast::ExprSetComp) -> Self { - ExprSetComp(node) - } -} - -impl ToPyObject for ExprSetComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSetComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSetComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSetComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_DictComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDictComp(pub &'static ast::ExprDictComp); - -impl From<&'static ast::ExprDictComp> for ExprDictComp { - fn from(node: &'static ast::ExprDictComp) -> Self { - ExprDictComp(node) - } -} - -impl ToPyObject for ExprDictComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDictComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDictComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDictComp { - #[getter] - #[inline] - fn get_key(&self, py: Python) -> PyResult { - self.0.key.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_GeneratorExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprGeneratorExp(pub &'static ast::ExprGeneratorExp); - -impl From<&'static ast::ExprGeneratorExp> for ExprGeneratorExp { - fn from(node: &'static ast::ExprGeneratorExp) -> Self { - ExprGeneratorExp(node) - } -} - -impl ToPyObject for ExprGeneratorExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprGeneratorExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprGeneratorExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprGeneratorExp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Await", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAwait(pub &'static ast::ExprAwait); - -impl From<&'static ast::ExprAwait> for ExprAwait { - fn from(node: &'static ast::ExprAwait) -> Self { - ExprAwait(node) - } -} - -impl ToPyObject for ExprAwait { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAwait { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAwait(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAwait { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Yield", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYield(pub &'static ast::ExprYield); - -impl From<&'static ast::ExprYield> for ExprYield { - fn from(node: &'static ast::ExprYield) -> Self { - ExprYield(node) - } -} - -impl ToPyObject for ExprYield { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYield { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYield(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYield { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_YieldFrom", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYieldFrom(pub &'static ast::ExprYieldFrom); - -impl From<&'static ast::ExprYieldFrom> for ExprYieldFrom { - fn from(node: &'static ast::ExprYieldFrom) -> Self { - ExprYieldFrom(node) - } -} - -impl ToPyObject for ExprYieldFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYieldFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYieldFrom(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYieldFrom { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Compare", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCompare(pub &'static ast::ExprCompare); - -impl From<&'static ast::ExprCompare> for ExprCompare { - fn from(node: &'static ast::ExprCompare) -> Self { - ExprCompare(node) - } -} - -impl ToPyObject for ExprCompare { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCompare { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCompare(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCompare { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ops(&self, py: Python) -> PyResult { - self.0.ops.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_comparators(&self, py: Python) -> PyResult { - self.0.comparators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Call", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCall(pub &'static ast::ExprCall); - -impl From<&'static ast::ExprCall> for ExprCall { - fn from(node: &'static ast::ExprCall) -> Self { - ExprCall(node) - } -} - -impl ToPyObject for ExprCall { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCall { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCall(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCall { - #[getter] - #[inline] - fn get_func(&self, py: Python) -> PyResult { - self.0.func.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FormattedValue", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprFormattedValue(pub &'static ast::ExprFormattedValue); - -impl From<&'static ast::ExprFormattedValue> for ExprFormattedValue { - fn from(node: &'static ast::ExprFormattedValue) -> Self { - ExprFormattedValue(node) - } -} - -impl ToPyObject for ExprFormattedValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprFormattedValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprFormattedValue(self).to_object(py)) - } -} - -#[pymethods] -impl ExprFormattedValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_conversion(&self, py: Python) -> PyResult { - self.0.conversion.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_format_spec(&self, py: Python) -> PyResult { - self.0.format_spec.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_JoinedStr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprJoinedStr(pub &'static ast::ExprJoinedStr); - -impl From<&'static ast::ExprJoinedStr> for ExprJoinedStr { - fn from(node: &'static ast::ExprJoinedStr) -> Self { - ExprJoinedStr(node) - } -} - -impl ToPyObject for ExprJoinedStr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprJoinedStr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprJoinedStr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprJoinedStr { - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Constant", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprConstant(pub &'static ast::ExprConstant); - -impl From<&'static ast::ExprConstant> for ExprConstant { - fn from(node: &'static ast::ExprConstant) -> Self { - ExprConstant(node) - } -} - -impl ToPyObject for ExprConstant { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprConstant { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprConstant(self).to_object(py)) - } -} - -#[pymethods] -impl ExprConstant { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kind(&self, py: Python) -> PyResult { - self.0.kind.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Attribute", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAttribute(pub &'static ast::ExprAttribute); - -impl From<&'static ast::ExprAttribute> for ExprAttribute { - fn from(node: &'static ast::ExprAttribute) -> Self { - ExprAttribute(node) - } -} - -impl ToPyObject for ExprAttribute { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAttribute { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAttribute(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAttribute { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_attr(&self, py: Python) -> PyResult { - self.0.attr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Subscript", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSubscript(pub &'static ast::ExprSubscript); - -impl From<&'static ast::ExprSubscript> for ExprSubscript { - fn from(node: &'static ast::ExprSubscript) -> Self { - ExprSubscript(node) - } -} - -impl ToPyObject for ExprSubscript { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSubscript { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSubscript(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSubscript { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_slice(&self, py: Python) -> PyResult { - self.0.slice.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Starred", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprStarred(pub &'static ast::ExprStarred); - -impl From<&'static ast::ExprStarred> for ExprStarred { - fn from(node: &'static ast::ExprStarred) -> Self { - ExprStarred(node) - } -} - -impl ToPyObject for ExprStarred { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprStarred { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprStarred(self).to_object(py)) - } -} - -#[pymethods] -impl ExprStarred { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Name", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprName(pub &'static ast::ExprName); - -impl From<&'static ast::ExprName> for ExprName { - fn from(node: &'static ast::ExprName) -> Self { - ExprName(node) - } -} - -impl ToPyObject for ExprName { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprName { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprName(self).to_object(py)) - } -} - -#[pymethods] -impl ExprName { - #[getter] - #[inline] - fn get_id(&self, py: Python) -> PyResult { - self.0.id.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_List", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprList(pub &'static ast::ExprList); - -impl From<&'static ast::ExprList> for ExprList { - fn from(node: &'static ast::ExprList) -> Self { - ExprList(node) - } -} - -impl ToPyObject for ExprList { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprList { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprList(self).to_object(py)) - } -} - -#[pymethods] -impl ExprList { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Tuple", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprTuple(pub &'static ast::ExprTuple); - -impl From<&'static ast::ExprTuple> for ExprTuple { - fn from(node: &'static ast::ExprTuple) -> Self { - ExprTuple(node) - } -} - -impl ToPyObject for ExprTuple { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprTuple { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprTuple(self).to_object(py)) - } -} - -#[pymethods] -impl ExprTuple { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Slice", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSlice(pub &'static ast::ExprSlice); - -impl From<&'static ast::ExprSlice> for ExprSlice { - fn from(node: &'static ast::ExprSlice) -> Self { - ExprSlice(node) - } -} - -impl ToPyObject for ExprSlice { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSlice { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSlice(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSlice { - #[getter] - #[inline] - fn get_lower(&self, py: Python) -> PyResult { - self.0.lower.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_upper(&self, py: Python) -> PyResult { - self.0.upper.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_step(&self, py: Python) -> PyResult { - self.0.step.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_expr_context", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExprContext; - -impl From<&'static ast::ExprContext> for ExprContext { - fn from(_node: &'static ast::ExprContext) -> Self { - ExprContext - } -} - -#[pymethods] -impl ExprContext { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExprContext { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Load", extends=ExprContext)] -pub struct ExprContextLoad; - -impl ToPyObject for ExprContextLoad { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Store", extends=ExprContext)] -pub struct ExprContextStore; - -impl ToPyObject for ExprContextStore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Del", extends=ExprContext)] -pub struct ExprContextDel; - -impl ToPyObject for ExprContextDel { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_boolop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct BoolOp; - -impl From<&'static ast::BoolOp> for BoolOp { - fn from(_node: &'static ast::BoolOp) -> Self { - BoolOp - } -} - -#[pymethods] -impl BoolOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for BoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_And", extends=BoolOp)] -pub struct BoolOpAnd; - -impl ToPyObject for BoolOpAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Or", extends=BoolOp)] -pub struct BoolOpOr; - -impl ToPyObject for BoolOpOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_operator", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Operator; - -impl From<&'static ast::Operator> for Operator { - fn from(_node: &'static ast::Operator) -> Self { - Operator - } -} - -#[pymethods] -impl Operator { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Operator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Add", extends=Operator)] -pub struct OperatorAdd; - -impl ToPyObject for OperatorAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Sub", extends=Operator)] -pub struct OperatorSub; - -impl ToPyObject for OperatorSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Mult", extends=Operator)] -pub struct OperatorMult; - -impl ToPyObject for OperatorMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatMult", extends=Operator)] -pub struct OperatorMatMult; - -impl ToPyObject for OperatorMatMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Div", extends=Operator)] -pub struct OperatorDiv; - -impl ToPyObject for OperatorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Mod", extends=Operator)] -pub struct OperatorMod; - -impl ToPyObject for OperatorMod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Pow", extends=Operator)] -pub struct OperatorPow; - -impl ToPyObject for OperatorPow { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_LShift", extends=Operator)] -pub struct OperatorLShift; - -impl ToPyObject for OperatorLShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_RShift", extends=Operator)] -pub struct OperatorRShift; - -impl ToPyObject for OperatorRShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitOr", extends=Operator)] -pub struct OperatorBitOr; - -impl ToPyObject for OperatorBitOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitXor", extends=Operator)] -pub struct OperatorBitXor; - -impl ToPyObject for OperatorBitXor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitAnd", extends=Operator)] -pub struct OperatorBitAnd; - -impl ToPyObject for OperatorBitAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FloorDiv", extends=Operator)] -pub struct OperatorFloorDiv; - -impl ToPyObject for OperatorFloorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_unaryop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct UnaryOp; - -impl From<&'static ast::UnaryOp> for UnaryOp { - fn from(_node: &'static ast::UnaryOp) -> Self { - UnaryOp - } -} - -#[pymethods] -impl UnaryOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for UnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Invert", extends=UnaryOp)] -pub struct UnaryOpInvert; - -impl ToPyObject for UnaryOpInvert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Not", extends=UnaryOp)] -pub struct UnaryOpNot; - -impl ToPyObject for UnaryOpNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_UAdd", extends=UnaryOp)] -pub struct UnaryOpUAdd; - -impl ToPyObject for UnaryOpUAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_USub", extends=UnaryOp)] -pub struct UnaryOpUSub; - -impl ToPyObject for UnaryOpUSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_cmpop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct CmpOp; - -impl From<&'static ast::CmpOp> for CmpOp { - fn from(_node: &'static ast::CmpOp) -> Self { - CmpOp - } -} - -#[pymethods] -impl CmpOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for CmpOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Eq", extends=CmpOp)] -pub struct CmpOpEq; - -impl ToPyObject for CmpOpEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NotEq", extends=CmpOp)] -pub struct CmpOpNotEq; - -impl ToPyObject for CmpOpNotEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Lt", extends=CmpOp)] -pub struct CmpOpLt; - -impl ToPyObject for CmpOpLt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_LtE", extends=CmpOp)] -pub struct CmpOpLtE; - -impl ToPyObject for CmpOpLtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Gt", extends=CmpOp)] -pub struct CmpOpGt; - -impl ToPyObject for CmpOpGt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_GtE", extends=CmpOp)] -pub struct CmpOpGtE; - -impl ToPyObject for CmpOpGtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Is", extends=CmpOp)] -pub struct CmpOpIs; - -impl ToPyObject for CmpOpIs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_IsNot", extends=CmpOp)] -pub struct CmpOpIsNot; - -impl ToPyObject for CmpOpIsNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_In", extends=CmpOp)] -pub struct CmpOpIn; - -impl ToPyObject for CmpOpIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NotIn", extends=CmpOp)] -pub struct CmpOpNotIn; - -impl ToPyObject for CmpOpNotIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_comprehension", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Comprehension(pub &'static ast::Comprehension); - -impl From<&'static ast::Comprehension> for Comprehension { - fn from(node: &'static ast::Comprehension) -> Self { - Comprehension(node) - } -} - -impl ToPyObject for Comprehension { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Comprehension { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Comprehension(self).to_object(py)) - } -} - -#[pymethods] -impl Comprehension { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ifs(&self, py: Python) -> PyResult { - self.0.ifs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_is_async(&self, py: Python) -> PyResult { - self.0.is_async.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_excepthandler", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExceptHandler; - -impl From<&'static ast::ExceptHandler> for ExceptHandler { - fn from(_node: &'static ast::ExceptHandler) -> Self { - ExceptHandler - } -} - -#[pymethods] -impl ExceptHandler { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::ExceptHandler(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_ExceptHandler", extends=ExceptHandler, frozen)] -#[derive(Clone, Debug)] -pub struct ExceptHandlerExceptHandler(pub &'static ast::ExceptHandlerExceptHandler); - -impl From<&'static ast::ExceptHandlerExceptHandler> for ExceptHandlerExceptHandler { - fn from(node: &'static ast::ExceptHandlerExceptHandler) -> Self { - ExceptHandlerExceptHandler(node) - } -} - -impl ToPyObject for ExceptHandlerExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExceptHandler) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExceptHandlerExceptHandler(self).to_object(py)) - } -} - -#[pymethods] -impl ExceptHandlerExceptHandler { - #[getter] - #[inline] - fn get_type(&self, py: Python) -> PyResult { - self.0.type_.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_arguments", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arguments(pub &'static ast::PythonArguments); - -impl From<&'static ast::PythonArguments> for Arguments { - fn from(node: &'static ast::PythonArguments) -> Self { - Arguments(node) - } -} - -impl ToPyObject for Arguments { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PythonArguments { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arguments(self).to_object(py)) - } -} - -#[pymethods] -impl Arguments { - #[getter] - #[inline] - fn get_posonlyargs(&self, py: Python) -> PyResult { - self.0.posonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_vararg(&self, py: Python) -> PyResult { - self.0.vararg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwonlyargs(&self, py: Python) -> PyResult { - self.0.kwonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kw_defaults(&self, py: Python) -> PyResult { - self.0.kw_defaults.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwarg(&self, py: Python) -> PyResult { - self.0.kwarg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_defaults(&self, py: Python) -> PyResult { - self.0.defaults.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_arg", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arg(pub &'static ast::Arg); - -impl From<&'static ast::Arg> for Arg { - fn from(node: &'static ast::Arg) -> Self { - Arg(node) - } -} - -impl ToPyObject for Arg { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Arg { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arg(self).to_object(py)) - } -} - -#[pymethods] -impl Arg { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_keyword", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Keyword(pub &'static ast::Keyword); - -impl From<&'static ast::Keyword> for Keyword { - fn from(node: &'static ast::Keyword) -> Self { - Keyword(node) - } -} - -impl ToPyObject for Keyword { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Keyword { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Keyword(self).to_object(py)) - } -} - -#[pymethods] -impl Keyword { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_alias", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Alias(pub &'static ast::Alias); - -impl From<&'static ast::Alias> for Alias { - fn from(node: &'static ast::Alias) -> Self { - Alias(node) - } -} - -impl ToPyObject for Alias { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Alias { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Alias(self).to_object(py)) - } -} - -#[pymethods] -impl Alias { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_asname(&self, py: Python) -> PyResult { - self.0.asname.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_withitem", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct WithItem(pub &'static ast::WithItem); - -impl From<&'static ast::WithItem> for WithItem { - fn from(node: &'static ast::WithItem) -> Self { - WithItem(node) - } -} - -impl ToPyObject for WithItem { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::WithItem { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(WithItem(self).to_object(py)) - } -} - -#[pymethods] -impl WithItem { - #[getter] - #[inline] - fn get_context_expr(&self, py: Python) -> PyResult { - self.0.context_expr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_optional_vars(&self, py: Python) -> PyResult { - self.0.optional_vars.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_match_case", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct MatchCase(pub &'static ast::MatchCase); - -impl From<&'static ast::MatchCase> for MatchCase { - fn from(node: &'static ast::MatchCase) -> Self { - MatchCase(node) - } -} - -impl ToPyObject for MatchCase { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::MatchCase { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(MatchCase(self).to_object(py)) - } -} - -#[pymethods] -impl MatchCase { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_guard(&self, py: Python) -> PyResult { - self.0.guard.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_pattern", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Pattern; - -impl From<&'static ast::Pattern> for Pattern { - fn from(_node: &'static ast::Pattern) -> Self { - Pattern - } -} - -#[pymethods] -impl Pattern { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Pattern { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Pattern { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::MatchValue(cons) => cons.to_py_wrapper(py), - Self::MatchSingleton(cons) => cons.to_py_wrapper(py), - Self::MatchSequence(cons) => cons.to_py_wrapper(py), - Self::MatchMapping(cons) => cons.to_py_wrapper(py), - Self::MatchClass(cons) => cons.to_py_wrapper(py), - Self::MatchStar(cons) => cons.to_py_wrapper(py), - Self::MatchAs(cons) => cons.to_py_wrapper(py), - Self::MatchOr(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchValue", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchValue(pub &'static ast::PatternMatchValue); - -impl From<&'static ast::PatternMatchValue> for PatternMatchValue { - fn from(node: &'static ast::PatternMatchValue) -> Self { - PatternMatchValue(node) - } -} - -impl ToPyObject for PatternMatchValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchValue(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchSingleton", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSingleton(pub &'static ast::PatternMatchSingleton); - -impl From<&'static ast::PatternMatchSingleton> for PatternMatchSingleton { - fn from(node: &'static ast::PatternMatchSingleton) -> Self { - PatternMatchSingleton(node) - } -} - -impl ToPyObject for PatternMatchSingleton { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSingleton { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSingleton(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSingleton { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchSequence", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSequence(pub &'static ast::PatternMatchSequence); - -impl From<&'static ast::PatternMatchSequence> for PatternMatchSequence { - fn from(node: &'static ast::PatternMatchSequence) -> Self { - PatternMatchSequence(node) - } -} - -impl ToPyObject for PatternMatchSequence { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSequence { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSequence(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSequence { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchMapping", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchMapping(pub &'static ast::PatternMatchMapping); - -impl From<&'static ast::PatternMatchMapping> for PatternMatchMapping { - fn from(node: &'static ast::PatternMatchMapping) -> Self { - PatternMatchMapping(node) - } -} - -impl ToPyObject for PatternMatchMapping { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchMapping { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchMapping(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchMapping { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_rest(&self, py: Python) -> PyResult { - self.0.rest.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchClass", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchClass(pub &'static ast::PatternMatchClass); - -impl From<&'static ast::PatternMatchClass> for PatternMatchClass { - fn from(node: &'static ast::PatternMatchClass) -> Self { - PatternMatchClass(node) - } -} - -impl ToPyObject for PatternMatchClass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchClass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchClass(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchClass { - #[getter] - #[inline] - fn get_cls(&self, py: Python) -> PyResult { - self.0.cls.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_attrs(&self, py: Python) -> PyResult { - self.0.kwd_attrs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_patterns(&self, py: Python) -> PyResult { - self.0.kwd_patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchStar", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchStar(pub &'static ast::PatternMatchStar); - -impl From<&'static ast::PatternMatchStar> for PatternMatchStar { - fn from(node: &'static ast::PatternMatchStar) -> Self { - PatternMatchStar(node) - } -} - -impl ToPyObject for PatternMatchStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchStar(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchStar { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchAs", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchAs(pub &'static ast::PatternMatchAs); - -impl From<&'static ast::PatternMatchAs> for PatternMatchAs { - fn from(node: &'static ast::PatternMatchAs) -> Self { - PatternMatchAs(node) - } -} - -impl ToPyObject for PatternMatchAs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchAs { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchAs(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchAs { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchOr", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchOr(pub &'static ast::PatternMatchOr); - -impl From<&'static ast::PatternMatchOr> for PatternMatchOr { - fn from(node: &'static ast::PatternMatchOr) -> Self { - PatternMatchOr(node) - } -} - -impl ToPyObject for PatternMatchOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchOr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchOr(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchOr { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_type_ignore", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct TypeIgnore; - -impl From<&'static ast::TypeIgnore> for TypeIgnore { - fn from(_node: &'static ast::TypeIgnore) -> Self { - TypeIgnore - } -} - -#[pymethods] -impl TypeIgnore { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for TypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::TypeIgnore(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_TypeIgnore", extends=TypeIgnore, frozen)] -#[derive(Clone, Debug)] -pub struct TypeIgnoreTypeIgnore(pub &'static ast::TypeIgnoreTypeIgnore); - -impl From<&'static ast::TypeIgnoreTypeIgnore> for TypeIgnoreTypeIgnore { - fn from(node: &'static ast::TypeIgnoreTypeIgnore) -> Self { - TypeIgnoreTypeIgnore(node) - } -} - -impl ToPyObject for TypeIgnoreTypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(TypeIgnore) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(TypeIgnoreTypeIgnore(self).to_object(py)) - } -} - -#[pymethods] -impl TypeIgnoreTypeIgnore { - #[getter] - #[inline] - fn get_lineno(&self, py: Python) -> PyResult { - self.0.lineno.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_tag(&self, py: Python) -> PyResult { - self.0.tag.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_decorator", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Decorator(pub &'static ast::Decorator); - -impl From<&'static ast::Decorator> for Decorator { - fn from(node: &'static ast::Decorator) -> Self { - Decorator(node) - } -} - -impl ToPyObject for Decorator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Decorator { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Decorator(self).to_object(py)) - } -} - -#[pymethods] -impl Decorator { - #[getter] - #[inline] - fn get_expression(&self, py: Python) -> PyResult { - self.0.expression.to_py_wrapper(py) - } -} - -impl ToPyWrapper for ast::ExprContext { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Load => Ok(ExprContextLoad.to_object(py)), - Self::Store => Ok(ExprContextStore.to_object(py)), - Self::Del => Ok(ExprContextDel.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::ExprContextLoad { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextLoad.to_object(py)) - } -} - -impl ToPyWrapper for ast::ExprContextStore { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextStore.to_object(py)) - } -} - -impl ToPyWrapper for ast::ExprContextDel { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextDel.to_object(py)) - } -} - -impl ToPyWrapper for ast::BoolOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::And => Ok(BoolOpAnd.to_object(py)), - Self::Or => Ok(BoolOpOr.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::BoolOpAnd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(BoolOpAnd.to_object(py)) - } -} - -impl ToPyWrapper for ast::BoolOpOr { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(BoolOpOr.to_object(py)) - } -} - -impl ToPyWrapper for ast::Operator { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Add => Ok(OperatorAdd.to_object(py)), - Self::Sub => Ok(OperatorSub.to_object(py)), - Self::Mult => Ok(OperatorMult.to_object(py)), - Self::MatMult => Ok(OperatorMatMult.to_object(py)), - Self::Div => Ok(OperatorDiv.to_object(py)), - Self::Mod => Ok(OperatorMod.to_object(py)), - Self::Pow => Ok(OperatorPow.to_object(py)), - Self::LShift => Ok(OperatorLShift.to_object(py)), - Self::RShift => Ok(OperatorRShift.to_object(py)), - Self::BitOr => Ok(OperatorBitOr.to_object(py)), - Self::BitXor => Ok(OperatorBitXor.to_object(py)), - Self::BitAnd => Ok(OperatorBitAnd.to_object(py)), - Self::FloorDiv => Ok(OperatorFloorDiv.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::OperatorAdd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorAdd.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorSub { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorSub.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMult { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMult.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMatMult { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMatMult.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorDiv { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorDiv.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMod { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMod.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorPow { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorPow.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorLShift { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorLShift.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorRShift { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorRShift.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitOr { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitOr.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitXor { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitXor.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitAnd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitAnd.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorFloorDiv { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorFloorDiv.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Invert => Ok(UnaryOpInvert.to_object(py)), - Self::Not => Ok(UnaryOpNot.to_object(py)), - Self::UAdd => Ok(UnaryOpUAdd.to_object(py)), - Self::USub => Ok(UnaryOpUSub.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::UnaryOpInvert { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpInvert.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpNot { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpNot.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpUAdd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpUAdd.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpUSub { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpUSub.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Eq => Ok(CmpOpEq.to_object(py)), - Self::NotEq => Ok(CmpOpNotEq.to_object(py)), - Self::Lt => Ok(CmpOpLt.to_object(py)), - Self::LtE => Ok(CmpOpLtE.to_object(py)), - Self::Gt => Ok(CmpOpGt.to_object(py)), - Self::GtE => Ok(CmpOpGtE.to_object(py)), - Self::Is => Ok(CmpOpIs.to_object(py)), - Self::IsNot => Ok(CmpOpIsNot.to_object(py)), - Self::In => Ok(CmpOpIn.to_object(py)), - Self::NotIn => Ok(CmpOpNotIn.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::CmpOpEq { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpEq.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpNotEq { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpNotEq.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpLt { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpLt.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpLtE { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpLtE.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpGt { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpGt.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpGtE { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpGtE.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIs { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIs.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIsNot { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIsNot.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIn { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIn.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpNotIn { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpNotIn.to_object(py)) - } -} - -pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - Ok(()) -} diff --git a/ast-pyo3/src/gen/wrapper_ranged.rs b/ast-pyo3/src/gen/wrapper_ranged.rs deleted file mode 100644 index 4348d509..00000000 --- a/ast-pyo3/src/gen/wrapper_ranged.rs +++ /dev/null @@ -1,4151 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[pyclass(module="rustpython_ast.ranged", name="_mod", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Mod; - -impl From<&'static ast::Mod> for Mod { - fn from(_node: &'static ast::Mod) -> Self { - Mod - } -} - -#[pymethods] -impl Mod { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Mod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Mod { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::Module(cons) => cons.to_py_wrapper(py), - Self::Interactive(cons) => cons.to_py_wrapper(py), - Self::Expression(cons) => cons.to_py_wrapper(py), - Self::FunctionType(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Module", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModModule(pub &'static ast::ModModule); - -impl From<&'static ast::ModModule> for ModModule { - fn from(node: &'static ast::ModModule) -> Self { - ModModule(node) - } -} - -impl ToPyObject for ModModule { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModModule { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModModule(self).to_object(py)) - } -} - -#[pymethods] -impl ModModule { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_ignores(&self, py: Python) -> PyResult { - self.0.type_ignores.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Interactive", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModInteractive(pub &'static ast::ModInteractive); - -impl From<&'static ast::ModInteractive> for ModInteractive { - fn from(node: &'static ast::ModInteractive) -> Self { - ModInteractive(node) - } -} - -impl ToPyObject for ModInteractive { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModInteractive { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModInteractive(self).to_object(py)) - } -} - -#[pymethods] -impl ModInteractive { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Expression", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModExpression(pub &'static ast::ModExpression); - -impl From<&'static ast::ModExpression> for ModExpression { - fn from(node: &'static ast::ModExpression) -> Self { - ModExpression(node) - } -} - -impl ToPyObject for ModExpression { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModExpression { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModExpression(self).to_object(py)) - } -} - -#[pymethods] -impl ModExpression { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FunctionType", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModFunctionType(pub &'static ast::ModFunctionType); - -impl From<&'static ast::ModFunctionType> for ModFunctionType { - fn from(node: &'static ast::ModFunctionType) -> Self { - ModFunctionType(node) - } -} - -impl ToPyObject for ModFunctionType { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModFunctionType { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModFunctionType(self).to_object(py)) - } -} - -#[pymethods] -impl ModFunctionType { - #[getter] - #[inline] - fn get_argtypes(&self, py: Python) -> PyResult { - self.0.argtypes.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_stmt", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Stmt; - -impl From<&'static ast::Stmt> for Stmt { - fn from(_node: &'static ast::Stmt) -> Self { - Stmt - } -} - -#[pymethods] -impl Stmt { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Stmt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Stmt { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::FunctionDef(cons) => cons.to_py_wrapper(py), - Self::AsyncFunctionDef(cons) => cons.to_py_wrapper(py), - Self::ClassDef(cons) => cons.to_py_wrapper(py), - Self::Return(cons) => cons.to_py_wrapper(py), - Self::Delete(cons) => cons.to_py_wrapper(py), - Self::Assign(cons) => cons.to_py_wrapper(py), - Self::AugAssign(cons) => cons.to_py_wrapper(py), - Self::AnnAssign(cons) => cons.to_py_wrapper(py), - Self::For(cons) => cons.to_py_wrapper(py), - Self::AsyncFor(cons) => cons.to_py_wrapper(py), - Self::While(cons) => cons.to_py_wrapper(py), - Self::If(cons) => cons.to_py_wrapper(py), - Self::With(cons) => cons.to_py_wrapper(py), - Self::AsyncWith(cons) => cons.to_py_wrapper(py), - Self::Match(cons) => cons.to_py_wrapper(py), - Self::Raise(cons) => cons.to_py_wrapper(py), - Self::Try(cons) => cons.to_py_wrapper(py), - Self::TryStar(cons) => cons.to_py_wrapper(py), - Self::Assert(cons) => cons.to_py_wrapper(py), - Self::Import(cons) => cons.to_py_wrapper(py), - Self::ImportFrom(cons) => cons.to_py_wrapper(py), - Self::Global(cons) => cons.to_py_wrapper(py), - Self::Nonlocal(cons) => cons.to_py_wrapper(py), - Self::Expr(cons) => cons.to_py_wrapper(py), - Self::Pass(cons) => cons.to_py_wrapper(py), - Self::Break(cons) => cons.to_py_wrapper(py), - Self::Continue(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFunctionDef(pub &'static ast::StmtFunctionDef); - -impl From<&'static ast::StmtFunctionDef> for StmtFunctionDef { - fn from(node: &'static ast::StmtFunctionDef) -> Self { - StmtFunctionDef(node) - } -} - -impl ToPyObject for StmtFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncFunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFunctionDef(pub &'static ast::StmtAsyncFunctionDef); - -impl From<&'static ast::StmtAsyncFunctionDef> for StmtAsyncFunctionDef { - fn from(node: &'static ast::StmtAsyncFunctionDef) -> Self { - StmtAsyncFunctionDef(node) - } -} - -impl ToPyObject for StmtAsyncFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ClassDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtClassDef(pub &'static ast::StmtClassDef); - -impl From<&'static ast::StmtClassDef> for StmtClassDef { - fn from(node: &'static ast::StmtClassDef) -> Self { - StmtClassDef(node) - } -} - -impl ToPyObject for StmtClassDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtClassDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtClassDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtClassDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_bases(&self, py: Python) -> PyResult { - self.0.bases.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Return", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtReturn(pub &'static ast::StmtReturn); - -impl From<&'static ast::StmtReturn> for StmtReturn { - fn from(node: &'static ast::StmtReturn) -> Self { - StmtReturn(node) - } -} - -impl ToPyObject for StmtReturn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtReturn { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtReturn(self).to_object(py)) - } -} - -#[pymethods] -impl StmtReturn { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Delete", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtDelete(pub &'static ast::StmtDelete); - -impl From<&'static ast::StmtDelete> for StmtDelete { - fn from(node: &'static ast::StmtDelete) -> Self { - StmtDelete(node) - } -} - -impl ToPyObject for StmtDelete { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtDelete { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtDelete(self).to_object(py)) - } -} - -#[pymethods] -impl StmtDelete { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Assign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssign(pub &'static ast::StmtAssign); - -impl From<&'static ast::StmtAssign> for StmtAssign { - fn from(node: &'static ast::StmtAssign) -> Self { - StmtAssign(node) - } -} - -impl ToPyObject for StmtAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssign { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AugAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAugAssign(pub &'static ast::StmtAugAssign); - -impl From<&'static ast::StmtAugAssign> for StmtAugAssign { - fn from(node: &'static ast::StmtAugAssign) -> Self { - StmtAugAssign(node) - } -} - -impl ToPyObject for StmtAugAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAugAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAugAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAugAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AnnAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAnnAssign(pub &'static ast::StmtAnnAssign); - -impl From<&'static ast::StmtAnnAssign> for StmtAnnAssign { - fn from(node: &'static ast::StmtAnnAssign) -> Self { - StmtAnnAssign(node) - } -} - -impl ToPyObject for StmtAnnAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAnnAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAnnAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAnnAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_simple(&self, py: Python) -> PyResult { - self.0.simple.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_For", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFor(pub &'static ast::StmtFor); - -impl From<&'static ast::StmtFor> for StmtFor { - fn from(node: &'static ast::StmtFor) -> Self { - StmtFor(node) - } -} - -impl ToPyObject for StmtFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncFor", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFor(pub &'static ast::StmtAsyncFor); - -impl From<&'static ast::StmtAsyncFor> for StmtAsyncFor { - fn from(node: &'static ast::StmtAsyncFor) -> Self { - StmtAsyncFor(node) - } -} - -impl ToPyObject for StmtAsyncFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_While", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWhile(pub &'static ast::StmtWhile); - -impl From<&'static ast::StmtWhile> for StmtWhile { - fn from(node: &'static ast::StmtWhile) -> Self { - StmtWhile(node) - } -} - -impl ToPyObject for StmtWhile { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWhile { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWhile(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWhile { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_If", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtIf(pub &'static ast::StmtIf); - -impl From<&'static ast::StmtIf> for StmtIf { - fn from(node: &'static ast::StmtIf) -> Self { - StmtIf(node) - } -} - -impl ToPyObject for StmtIf { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtIf { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtIf(self).to_object(py)) - } -} - -#[pymethods] -impl StmtIf { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_With", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWith(pub &'static ast::StmtWith); - -impl From<&'static ast::StmtWith> for StmtWith { - fn from(node: &'static ast::StmtWith) -> Self { - StmtWith(node) - } -} - -impl ToPyObject for StmtWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncWith", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncWith(pub &'static ast::StmtAsyncWith); - -impl From<&'static ast::StmtAsyncWith> for StmtAsyncWith { - fn from(node: &'static ast::StmtAsyncWith) -> Self { - StmtAsyncWith(node) - } -} - -impl ToPyObject for StmtAsyncWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Match", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtMatch(pub &'static ast::StmtMatch); - -impl From<&'static ast::StmtMatch> for StmtMatch { - fn from(node: &'static ast::StmtMatch) -> Self { - StmtMatch(node) - } -} - -impl ToPyObject for StmtMatch { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtMatch { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtMatch(self).to_object(py)) - } -} - -#[pymethods] -impl StmtMatch { - #[getter] - #[inline] - fn get_subject(&self, py: Python) -> PyResult { - self.0.subject.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cases(&self, py: Python) -> PyResult { - self.0.cases.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Raise", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtRaise(pub &'static ast::StmtRaise); - -impl From<&'static ast::StmtRaise> for StmtRaise { - fn from(node: &'static ast::StmtRaise) -> Self { - StmtRaise(node) - } -} - -impl ToPyObject for StmtRaise { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtRaise { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtRaise(self).to_object(py)) - } -} - -#[pymethods] -impl StmtRaise { - #[getter] - #[inline] - fn get_exc(&self, py: Python) -> PyResult { - self.0.exc.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cause(&self, py: Python) -> PyResult { - self.0.cause.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Try", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTry(pub &'static ast::StmtTry); - -impl From<&'static ast::StmtTry> for StmtTry { - fn from(node: &'static ast::StmtTry) -> Self { - StmtTry(node) - } -} - -impl ToPyObject for StmtTry { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTry { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTry(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTry { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_TryStar", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTryStar(pub &'static ast::StmtTryStar); - -impl From<&'static ast::StmtTryStar> for StmtTryStar { - fn from(node: &'static ast::StmtTryStar) -> Self { - StmtTryStar(node) - } -} - -impl ToPyObject for StmtTryStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTryStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTryStar(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTryStar { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Assert", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssert(pub &'static ast::StmtAssert); - -impl From<&'static ast::StmtAssert> for StmtAssert { - fn from(node: &'static ast::StmtAssert) -> Self { - StmtAssert(node) - } -} - -impl ToPyObject for StmtAssert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssert { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssert(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssert { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_msg(&self, py: Python) -> PyResult { - self.0.msg.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Import", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImport(pub &'static ast::StmtImport); - -impl From<&'static ast::StmtImport> for StmtImport { - fn from(node: &'static ast::StmtImport) -> Self { - StmtImport(node) - } -} - -impl ToPyObject for StmtImport { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImport { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImport(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImport { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ImportFrom", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImportFrom(pub &'static ast::StmtImportFrom); - -impl From<&'static ast::StmtImportFrom> for StmtImportFrom { - fn from(node: &'static ast::StmtImportFrom) -> Self { - StmtImportFrom(node) - } -} - -impl ToPyObject for StmtImportFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImportFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImportFrom(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImportFrom { - #[getter] - #[inline] - fn get_module(&self, py: Python) -> PyResult { - self.0.module.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_level(&self, py: Python) -> PyResult { - self.0.level.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Global", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtGlobal(pub &'static ast::StmtGlobal); - -impl From<&'static ast::StmtGlobal> for StmtGlobal { - fn from(node: &'static ast::StmtGlobal) -> Self { - StmtGlobal(node) - } -} - -impl ToPyObject for StmtGlobal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtGlobal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtGlobal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtGlobal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Nonlocal", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtNonlocal(pub &'static ast::StmtNonlocal); - -impl From<&'static ast::StmtNonlocal> for StmtNonlocal { - fn from(node: &'static ast::StmtNonlocal) -> Self { - StmtNonlocal(node) - } -} - -impl ToPyObject for StmtNonlocal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtNonlocal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtNonlocal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtNonlocal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Expr", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtExpr(pub &'static ast::StmtExpr); - -impl From<&'static ast::StmtExpr> for StmtExpr { - fn from(node: &'static ast::StmtExpr) -> Self { - StmtExpr(node) - } -} - -impl ToPyObject for StmtExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtExpr(self).to_object(py)) - } -} - -#[pymethods] -impl StmtExpr { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Pass", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtPass(pub &'static ast::StmtPass); - -impl From<&'static ast::StmtPass> for StmtPass { - fn from(node: &'static ast::StmtPass) -> Self { - StmtPass(node) - } -} - -impl ToPyObject for StmtPass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtPass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtPass(self).to_object(py)) - } -} - -#[pymethods] -impl StmtPass {} - -#[pyclass(module="rustpython_ast.ranged", name="_Break", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtBreak(pub &'static ast::StmtBreak); - -impl From<&'static ast::StmtBreak> for StmtBreak { - fn from(node: &'static ast::StmtBreak) -> Self { - StmtBreak(node) - } -} - -impl ToPyObject for StmtBreak { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtBreak { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtBreak(self).to_object(py)) - } -} - -#[pymethods] -impl StmtBreak {} - -#[pyclass(module="rustpython_ast.ranged", name="_Continue", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtContinue(pub &'static ast::StmtContinue); - -impl From<&'static ast::StmtContinue> for StmtContinue { - fn from(node: &'static ast::StmtContinue) -> Self { - StmtContinue(node) - } -} - -impl ToPyObject for StmtContinue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtContinue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtContinue(self).to_object(py)) - } -} - -#[pymethods] -impl StmtContinue {} - -#[pyclass(module="rustpython_ast.ranged", name="_expr", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Expr; - -impl From<&'static ast::Expr> for Expr { - fn from(_node: &'static ast::Expr) -> Self { - Expr - } -} - -#[pymethods] -impl Expr { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Expr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Expr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::BoolOp(cons) => cons.to_py_wrapper(py), - Self::NamedExpr(cons) => cons.to_py_wrapper(py), - Self::BinOp(cons) => cons.to_py_wrapper(py), - Self::UnaryOp(cons) => cons.to_py_wrapper(py), - Self::Lambda(cons) => cons.to_py_wrapper(py), - Self::IfExp(cons) => cons.to_py_wrapper(py), - Self::Dict(cons) => cons.to_py_wrapper(py), - Self::Set(cons) => cons.to_py_wrapper(py), - Self::ListComp(cons) => cons.to_py_wrapper(py), - Self::SetComp(cons) => cons.to_py_wrapper(py), - Self::DictComp(cons) => cons.to_py_wrapper(py), - Self::GeneratorExp(cons) => cons.to_py_wrapper(py), - Self::Await(cons) => cons.to_py_wrapper(py), - Self::Yield(cons) => cons.to_py_wrapper(py), - Self::YieldFrom(cons) => cons.to_py_wrapper(py), - Self::Compare(cons) => cons.to_py_wrapper(py), - Self::Call(cons) => cons.to_py_wrapper(py), - Self::FormattedValue(cons) => cons.to_py_wrapper(py), - Self::JoinedStr(cons) => cons.to_py_wrapper(py), - Self::Constant(cons) => cons.to_py_wrapper(py), - Self::Attribute(cons) => cons.to_py_wrapper(py), - Self::Subscript(cons) => cons.to_py_wrapper(py), - Self::Starred(cons) => cons.to_py_wrapper(py), - Self::Name(cons) => cons.to_py_wrapper(py), - Self::List(cons) => cons.to_py_wrapper(py), - Self::Tuple(cons) => cons.to_py_wrapper(py), - Self::Slice(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BoolOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBoolOp(pub &'static ast::ExprBoolOp); - -impl From<&'static ast::ExprBoolOp> for ExprBoolOp { - fn from(node: &'static ast::ExprBoolOp) -> Self { - ExprBoolOp(node) - } -} - -impl ToPyObject for ExprBoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBoolOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBoolOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBoolOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NamedExpr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprNamedExpr(pub &'static ast::ExprNamedExpr); - -impl From<&'static ast::ExprNamedExpr> for ExprNamedExpr { - fn from(node: &'static ast::ExprNamedExpr) -> Self { - ExprNamedExpr(node) - } -} - -impl ToPyObject for ExprNamedExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprNamedExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprNamedExpr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprNamedExpr { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BinOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBinOp(pub &'static ast::ExprBinOp); - -impl From<&'static ast::ExprBinOp> for ExprBinOp { - fn from(node: &'static ast::ExprBinOp) -> Self { - ExprBinOp(node) - } -} - -impl ToPyObject for ExprBinOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBinOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBinOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBinOp { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_right(&self, py: Python) -> PyResult { - self.0.right.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_UnaryOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprUnaryOp(pub &'static ast::ExprUnaryOp); - -impl From<&'static ast::ExprUnaryOp> for ExprUnaryOp { - fn from(node: &'static ast::ExprUnaryOp) -> Self { - ExprUnaryOp(node) - } -} - -impl ToPyObject for ExprUnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprUnaryOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprUnaryOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprUnaryOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_operand(&self, py: Python) -> PyResult { - self.0.operand.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Lambda", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprLambda(pub &'static ast::ExprLambda); - -impl From<&'static ast::ExprLambda> for ExprLambda { - fn from(node: &'static ast::ExprLambda) -> Self { - ExprLambda(node) - } -} - -impl ToPyObject for ExprLambda { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprLambda { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprLambda(self).to_object(py)) - } -} - -#[pymethods] -impl ExprLambda { - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_IfExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprIfExp(pub &'static ast::ExprIfExp); - -impl From<&'static ast::ExprIfExp> for ExprIfExp { - fn from(node: &'static ast::ExprIfExp) -> Self { - ExprIfExp(node) - } -} - -impl ToPyObject for ExprIfExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprIfExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprIfExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprIfExp { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Dict", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDict(pub &'static ast::ExprDict); - -impl From<&'static ast::ExprDict> for ExprDict { - fn from(node: &'static ast::ExprDict) -> Self { - ExprDict(node) - } -} - -impl ToPyObject for ExprDict { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDict { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDict(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDict { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Set", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSet(pub &'static ast::ExprSet); - -impl From<&'static ast::ExprSet> for ExprSet { - fn from(node: &'static ast::ExprSet) -> Self { - ExprSet(node) - } -} - -impl ToPyObject for ExprSet { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSet { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSet(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSet { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ListComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprListComp(pub &'static ast::ExprListComp); - -impl From<&'static ast::ExprListComp> for ExprListComp { - fn from(node: &'static ast::ExprListComp) -> Self { - ExprListComp(node) - } -} - -impl ToPyObject for ExprListComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprListComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprListComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprListComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_SetComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSetComp(pub &'static ast::ExprSetComp); - -impl From<&'static ast::ExprSetComp> for ExprSetComp { - fn from(node: &'static ast::ExprSetComp) -> Self { - ExprSetComp(node) - } -} - -impl ToPyObject for ExprSetComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSetComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSetComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSetComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_DictComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDictComp(pub &'static ast::ExprDictComp); - -impl From<&'static ast::ExprDictComp> for ExprDictComp { - fn from(node: &'static ast::ExprDictComp) -> Self { - ExprDictComp(node) - } -} - -impl ToPyObject for ExprDictComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDictComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDictComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDictComp { - #[getter] - #[inline] - fn get_key(&self, py: Python) -> PyResult { - self.0.key.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_GeneratorExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprGeneratorExp(pub &'static ast::ExprGeneratorExp); - -impl From<&'static ast::ExprGeneratorExp> for ExprGeneratorExp { - fn from(node: &'static ast::ExprGeneratorExp) -> Self { - ExprGeneratorExp(node) - } -} - -impl ToPyObject for ExprGeneratorExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprGeneratorExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprGeneratorExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprGeneratorExp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Await", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAwait(pub &'static ast::ExprAwait); - -impl From<&'static ast::ExprAwait> for ExprAwait { - fn from(node: &'static ast::ExprAwait) -> Self { - ExprAwait(node) - } -} - -impl ToPyObject for ExprAwait { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAwait { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAwait(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAwait { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Yield", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYield(pub &'static ast::ExprYield); - -impl From<&'static ast::ExprYield> for ExprYield { - fn from(node: &'static ast::ExprYield) -> Self { - ExprYield(node) - } -} - -impl ToPyObject for ExprYield { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYield { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYield(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYield { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_YieldFrom", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYieldFrom(pub &'static ast::ExprYieldFrom); - -impl From<&'static ast::ExprYieldFrom> for ExprYieldFrom { - fn from(node: &'static ast::ExprYieldFrom) -> Self { - ExprYieldFrom(node) - } -} - -impl ToPyObject for ExprYieldFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYieldFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYieldFrom(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYieldFrom { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Compare", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCompare(pub &'static ast::ExprCompare); - -impl From<&'static ast::ExprCompare> for ExprCompare { - fn from(node: &'static ast::ExprCompare) -> Self { - ExprCompare(node) - } -} - -impl ToPyObject for ExprCompare { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCompare { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCompare(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCompare { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ops(&self, py: Python) -> PyResult { - self.0.ops.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_comparators(&self, py: Python) -> PyResult { - self.0.comparators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Call", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCall(pub &'static ast::ExprCall); - -impl From<&'static ast::ExprCall> for ExprCall { - fn from(node: &'static ast::ExprCall) -> Self { - ExprCall(node) - } -} - -impl ToPyObject for ExprCall { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCall { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCall(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCall { - #[getter] - #[inline] - fn get_func(&self, py: Python) -> PyResult { - self.0.func.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FormattedValue", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprFormattedValue(pub &'static ast::ExprFormattedValue); - -impl From<&'static ast::ExprFormattedValue> for ExprFormattedValue { - fn from(node: &'static ast::ExprFormattedValue) -> Self { - ExprFormattedValue(node) - } -} - -impl ToPyObject for ExprFormattedValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprFormattedValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprFormattedValue(self).to_object(py)) - } -} - -#[pymethods] -impl ExprFormattedValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_conversion(&self, py: Python) -> PyResult { - self.0.conversion.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_format_spec(&self, py: Python) -> PyResult { - self.0.format_spec.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_JoinedStr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprJoinedStr(pub &'static ast::ExprJoinedStr); - -impl From<&'static ast::ExprJoinedStr> for ExprJoinedStr { - fn from(node: &'static ast::ExprJoinedStr) -> Self { - ExprJoinedStr(node) - } -} - -impl ToPyObject for ExprJoinedStr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprJoinedStr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprJoinedStr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprJoinedStr { - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Constant", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprConstant(pub &'static ast::ExprConstant); - -impl From<&'static ast::ExprConstant> for ExprConstant { - fn from(node: &'static ast::ExprConstant) -> Self { - ExprConstant(node) - } -} - -impl ToPyObject for ExprConstant { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprConstant { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprConstant(self).to_object(py)) - } -} - -#[pymethods] -impl ExprConstant { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kind(&self, py: Python) -> PyResult { - self.0.kind.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Attribute", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAttribute(pub &'static ast::ExprAttribute); - -impl From<&'static ast::ExprAttribute> for ExprAttribute { - fn from(node: &'static ast::ExprAttribute) -> Self { - ExprAttribute(node) - } -} - -impl ToPyObject for ExprAttribute { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAttribute { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAttribute(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAttribute { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_attr(&self, py: Python) -> PyResult { - self.0.attr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Subscript", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSubscript(pub &'static ast::ExprSubscript); - -impl From<&'static ast::ExprSubscript> for ExprSubscript { - fn from(node: &'static ast::ExprSubscript) -> Self { - ExprSubscript(node) - } -} - -impl ToPyObject for ExprSubscript { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSubscript { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSubscript(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSubscript { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_slice(&self, py: Python) -> PyResult { - self.0.slice.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Starred", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprStarred(pub &'static ast::ExprStarred); - -impl From<&'static ast::ExprStarred> for ExprStarred { - fn from(node: &'static ast::ExprStarred) -> Self { - ExprStarred(node) - } -} - -impl ToPyObject for ExprStarred { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprStarred { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprStarred(self).to_object(py)) - } -} - -#[pymethods] -impl ExprStarred { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Name", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprName(pub &'static ast::ExprName); - -impl From<&'static ast::ExprName> for ExprName { - fn from(node: &'static ast::ExprName) -> Self { - ExprName(node) - } -} - -impl ToPyObject for ExprName { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprName { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprName(self).to_object(py)) - } -} - -#[pymethods] -impl ExprName { - #[getter] - #[inline] - fn get_id(&self, py: Python) -> PyResult { - self.0.id.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_List", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprList(pub &'static ast::ExprList); - -impl From<&'static ast::ExprList> for ExprList { - fn from(node: &'static ast::ExprList) -> Self { - ExprList(node) - } -} - -impl ToPyObject for ExprList { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprList { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprList(self).to_object(py)) - } -} - -#[pymethods] -impl ExprList { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Tuple", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprTuple(pub &'static ast::ExprTuple); - -impl From<&'static ast::ExprTuple> for ExprTuple { - fn from(node: &'static ast::ExprTuple) -> Self { - ExprTuple(node) - } -} - -impl ToPyObject for ExprTuple { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprTuple { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprTuple(self).to_object(py)) - } -} - -#[pymethods] -impl ExprTuple { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Slice", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSlice(pub &'static ast::ExprSlice); - -impl From<&'static ast::ExprSlice> for ExprSlice { - fn from(node: &'static ast::ExprSlice) -> Self { - ExprSlice(node) - } -} - -impl ToPyObject for ExprSlice { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSlice { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSlice(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSlice { - #[getter] - #[inline] - fn get_lower(&self, py: Python) -> PyResult { - self.0.lower.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_upper(&self, py: Python) -> PyResult { - self.0.upper.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_step(&self, py: Python) -> PyResult { - self.0.step.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_expr_context", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExprContext; - -impl From<&'static ast::ExprContext> for ExprContext { - fn from(_node: &'static ast::ExprContext) -> Self { - ExprContext - } -} - -#[pymethods] -impl ExprContext { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExprContext { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Load", extends=ExprContext)] -pub struct ExprContextLoad; - -impl ToPyObject for ExprContextLoad { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Store", extends=ExprContext)] -pub struct ExprContextStore; - -impl ToPyObject for ExprContextStore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Del", extends=ExprContext)] -pub struct ExprContextDel; - -impl ToPyObject for ExprContextDel { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_boolop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct BoolOp; - -impl From<&'static ast::BoolOp> for BoolOp { - fn from(_node: &'static ast::BoolOp) -> Self { - BoolOp - } -} - -#[pymethods] -impl BoolOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for BoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_And", extends=BoolOp)] -pub struct BoolOpAnd; - -impl ToPyObject for BoolOpAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Or", extends=BoolOp)] -pub struct BoolOpOr; - -impl ToPyObject for BoolOpOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_operator", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Operator; - -impl From<&'static ast::Operator> for Operator { - fn from(_node: &'static ast::Operator) -> Self { - Operator - } -} - -#[pymethods] -impl Operator { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Operator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Add", extends=Operator)] -pub struct OperatorAdd; - -impl ToPyObject for OperatorAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Sub", extends=Operator)] -pub struct OperatorSub; - -impl ToPyObject for OperatorSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Mult", extends=Operator)] -pub struct OperatorMult; - -impl ToPyObject for OperatorMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatMult", extends=Operator)] -pub struct OperatorMatMult; - -impl ToPyObject for OperatorMatMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Div", extends=Operator)] -pub struct OperatorDiv; - -impl ToPyObject for OperatorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Mod", extends=Operator)] -pub struct OperatorMod; - -impl ToPyObject for OperatorMod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Pow", extends=Operator)] -pub struct OperatorPow; - -impl ToPyObject for OperatorPow { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_LShift", extends=Operator)] -pub struct OperatorLShift; - -impl ToPyObject for OperatorLShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_RShift", extends=Operator)] -pub struct OperatorRShift; - -impl ToPyObject for OperatorRShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitOr", extends=Operator)] -pub struct OperatorBitOr; - -impl ToPyObject for OperatorBitOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitXor", extends=Operator)] -pub struct OperatorBitXor; - -impl ToPyObject for OperatorBitXor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitAnd", extends=Operator)] -pub struct OperatorBitAnd; - -impl ToPyObject for OperatorBitAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FloorDiv", extends=Operator)] -pub struct OperatorFloorDiv; - -impl ToPyObject for OperatorFloorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_unaryop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct UnaryOp; - -impl From<&'static ast::UnaryOp> for UnaryOp { - fn from(_node: &'static ast::UnaryOp) -> Self { - UnaryOp - } -} - -#[pymethods] -impl UnaryOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for UnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Invert", extends=UnaryOp)] -pub struct UnaryOpInvert; - -impl ToPyObject for UnaryOpInvert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Not", extends=UnaryOp)] -pub struct UnaryOpNot; - -impl ToPyObject for UnaryOpNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_UAdd", extends=UnaryOp)] -pub struct UnaryOpUAdd; - -impl ToPyObject for UnaryOpUAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_USub", extends=UnaryOp)] -pub struct UnaryOpUSub; - -impl ToPyObject for UnaryOpUSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_cmpop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct CmpOp; - -impl From<&'static ast::CmpOp> for CmpOp { - fn from(_node: &'static ast::CmpOp) -> Self { - CmpOp - } -} - -#[pymethods] -impl CmpOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for CmpOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Eq", extends=CmpOp)] -pub struct CmpOpEq; - -impl ToPyObject for CmpOpEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NotEq", extends=CmpOp)] -pub struct CmpOpNotEq; - -impl ToPyObject for CmpOpNotEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Lt", extends=CmpOp)] -pub struct CmpOpLt; - -impl ToPyObject for CmpOpLt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_LtE", extends=CmpOp)] -pub struct CmpOpLtE; - -impl ToPyObject for CmpOpLtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Gt", extends=CmpOp)] -pub struct CmpOpGt; - -impl ToPyObject for CmpOpGt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_GtE", extends=CmpOp)] -pub struct CmpOpGtE; - -impl ToPyObject for CmpOpGtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Is", extends=CmpOp)] -pub struct CmpOpIs; - -impl ToPyObject for CmpOpIs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_IsNot", extends=CmpOp)] -pub struct CmpOpIsNot; - -impl ToPyObject for CmpOpIsNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_In", extends=CmpOp)] -pub struct CmpOpIn; - -impl ToPyObject for CmpOpIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NotIn", extends=CmpOp)] -pub struct CmpOpNotIn; - -impl ToPyObject for CmpOpNotIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_comprehension", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Comprehension(pub &'static ast::Comprehension); - -impl From<&'static ast::Comprehension> for Comprehension { - fn from(node: &'static ast::Comprehension) -> Self { - Comprehension(node) - } -} - -impl ToPyObject for Comprehension { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Comprehension { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Comprehension(self).to_object(py)) - } -} - -#[pymethods] -impl Comprehension { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ifs(&self, py: Python) -> PyResult { - self.0.ifs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_is_async(&self, py: Python) -> PyResult { - self.0.is_async.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_excepthandler", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExceptHandler; - -impl From<&'static ast::ExceptHandler> for ExceptHandler { - fn from(_node: &'static ast::ExceptHandler) -> Self { - ExceptHandler - } -} - -#[pymethods] -impl ExceptHandler { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::ExceptHandler(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ExceptHandler", extends=ExceptHandler, frozen)] -#[derive(Clone, Debug)] -pub struct ExceptHandlerExceptHandler(pub &'static ast::ExceptHandlerExceptHandler); - -impl From<&'static ast::ExceptHandlerExceptHandler> for ExceptHandlerExceptHandler { - fn from(node: &'static ast::ExceptHandlerExceptHandler) -> Self { - ExceptHandlerExceptHandler(node) - } -} - -impl ToPyObject for ExceptHandlerExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExceptHandler) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExceptHandlerExceptHandler(self).to_object(py)) - } -} - -#[pymethods] -impl ExceptHandlerExceptHandler { - #[getter] - #[inline] - fn get_type(&self, py: Python) -> PyResult { - self.0.type_.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_arguments", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arguments(pub &'static ast::PythonArguments); - -impl From<&'static ast::PythonArguments> for Arguments { - fn from(node: &'static ast::PythonArguments) -> Self { - Arguments(node) - } -} - -impl ToPyObject for Arguments { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PythonArguments { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arguments(self).to_object(py)) - } -} - -#[pymethods] -impl Arguments { - #[getter] - #[inline] - fn get_posonlyargs(&self, py: Python) -> PyResult { - self.0.posonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_vararg(&self, py: Python) -> PyResult { - self.0.vararg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwonlyargs(&self, py: Python) -> PyResult { - self.0.kwonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kw_defaults(&self, py: Python) -> PyResult { - self.0.kw_defaults.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwarg(&self, py: Python) -> PyResult { - self.0.kwarg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_defaults(&self, py: Python) -> PyResult { - self.0.defaults.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_arg", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arg(pub &'static ast::Arg); - -impl From<&'static ast::Arg> for Arg { - fn from(node: &'static ast::Arg) -> Self { - Arg(node) - } -} - -impl ToPyObject for Arg { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Arg { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arg(self).to_object(py)) - } -} - -#[pymethods] -impl Arg { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_keyword", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Keyword(pub &'static ast::Keyword); - -impl From<&'static ast::Keyword> for Keyword { - fn from(node: &'static ast::Keyword) -> Self { - Keyword(node) - } -} - -impl ToPyObject for Keyword { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Keyword { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Keyword(self).to_object(py)) - } -} - -#[pymethods] -impl Keyword { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_alias", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Alias(pub &'static ast::Alias); - -impl From<&'static ast::Alias> for Alias { - fn from(node: &'static ast::Alias) -> Self { - Alias(node) - } -} - -impl ToPyObject for Alias { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Alias { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Alias(self).to_object(py)) - } -} - -#[pymethods] -impl Alias { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_asname(&self, py: Python) -> PyResult { - self.0.asname.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_withitem", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct WithItem(pub &'static ast::WithItem); - -impl From<&'static ast::WithItem> for WithItem { - fn from(node: &'static ast::WithItem) -> Self { - WithItem(node) - } -} - -impl ToPyObject for WithItem { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::WithItem { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(WithItem(self).to_object(py)) - } -} - -#[pymethods] -impl WithItem { - #[getter] - #[inline] - fn get_context_expr(&self, py: Python) -> PyResult { - self.0.context_expr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_optional_vars(&self, py: Python) -> PyResult { - self.0.optional_vars.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_match_case", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct MatchCase(pub &'static ast::MatchCase); - -impl From<&'static ast::MatchCase> for MatchCase { - fn from(node: &'static ast::MatchCase) -> Self { - MatchCase(node) - } -} - -impl ToPyObject for MatchCase { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::MatchCase { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(MatchCase(self).to_object(py)) - } -} - -#[pymethods] -impl MatchCase { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_guard(&self, py: Python) -> PyResult { - self.0.guard.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_pattern", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Pattern; - -impl From<&'static ast::Pattern> for Pattern { - fn from(_node: &'static ast::Pattern) -> Self { - Pattern - } -} - -#[pymethods] -impl Pattern { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Pattern { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Pattern { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::MatchValue(cons) => cons.to_py_wrapper(py), - Self::MatchSingleton(cons) => cons.to_py_wrapper(py), - Self::MatchSequence(cons) => cons.to_py_wrapper(py), - Self::MatchMapping(cons) => cons.to_py_wrapper(py), - Self::MatchClass(cons) => cons.to_py_wrapper(py), - Self::MatchStar(cons) => cons.to_py_wrapper(py), - Self::MatchAs(cons) => cons.to_py_wrapper(py), - Self::MatchOr(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchValue", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchValue(pub &'static ast::PatternMatchValue); - -impl From<&'static ast::PatternMatchValue> for PatternMatchValue { - fn from(node: &'static ast::PatternMatchValue) -> Self { - PatternMatchValue(node) - } -} - -impl ToPyObject for PatternMatchValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchValue(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchSingleton", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSingleton(pub &'static ast::PatternMatchSingleton); - -impl From<&'static ast::PatternMatchSingleton> for PatternMatchSingleton { - fn from(node: &'static ast::PatternMatchSingleton) -> Self { - PatternMatchSingleton(node) - } -} - -impl ToPyObject for PatternMatchSingleton { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSingleton { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSingleton(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSingleton { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchSequence", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSequence(pub &'static ast::PatternMatchSequence); - -impl From<&'static ast::PatternMatchSequence> for PatternMatchSequence { - fn from(node: &'static ast::PatternMatchSequence) -> Self { - PatternMatchSequence(node) - } -} - -impl ToPyObject for PatternMatchSequence { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSequence { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSequence(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSequence { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchMapping", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchMapping(pub &'static ast::PatternMatchMapping); - -impl From<&'static ast::PatternMatchMapping> for PatternMatchMapping { - fn from(node: &'static ast::PatternMatchMapping) -> Self { - PatternMatchMapping(node) - } -} - -impl ToPyObject for PatternMatchMapping { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchMapping { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchMapping(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchMapping { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_rest(&self, py: Python) -> PyResult { - self.0.rest.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchClass", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchClass(pub &'static ast::PatternMatchClass); - -impl From<&'static ast::PatternMatchClass> for PatternMatchClass { - fn from(node: &'static ast::PatternMatchClass) -> Self { - PatternMatchClass(node) - } -} - -impl ToPyObject for PatternMatchClass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchClass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchClass(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchClass { - #[getter] - #[inline] - fn get_cls(&self, py: Python) -> PyResult { - self.0.cls.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_attrs(&self, py: Python) -> PyResult { - self.0.kwd_attrs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_patterns(&self, py: Python) -> PyResult { - self.0.kwd_patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchStar", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchStar(pub &'static ast::PatternMatchStar); - -impl From<&'static ast::PatternMatchStar> for PatternMatchStar { - fn from(node: &'static ast::PatternMatchStar) -> Self { - PatternMatchStar(node) - } -} - -impl ToPyObject for PatternMatchStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchStar(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchStar { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchAs", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchAs(pub &'static ast::PatternMatchAs); - -impl From<&'static ast::PatternMatchAs> for PatternMatchAs { - fn from(node: &'static ast::PatternMatchAs) -> Self { - PatternMatchAs(node) - } -} - -impl ToPyObject for PatternMatchAs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchAs { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchAs(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchAs { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchOr", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchOr(pub &'static ast::PatternMatchOr); - -impl From<&'static ast::PatternMatchOr> for PatternMatchOr { - fn from(node: &'static ast::PatternMatchOr) -> Self { - PatternMatchOr(node) - } -} - -impl ToPyObject for PatternMatchOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchOr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchOr(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchOr { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_type_ignore", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct TypeIgnore; - -impl From<&'static ast::TypeIgnore> for TypeIgnore { - fn from(_node: &'static ast::TypeIgnore) -> Self { - TypeIgnore - } -} - -#[pymethods] -impl TypeIgnore { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for TypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::TypeIgnore(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_TypeIgnore", extends=TypeIgnore, frozen)] -#[derive(Clone, Debug)] -pub struct TypeIgnoreTypeIgnore(pub &'static ast::TypeIgnoreTypeIgnore); - -impl From<&'static ast::TypeIgnoreTypeIgnore> for TypeIgnoreTypeIgnore { - fn from(node: &'static ast::TypeIgnoreTypeIgnore) -> Self { - TypeIgnoreTypeIgnore(node) - } -} - -impl ToPyObject for TypeIgnoreTypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(TypeIgnore) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(TypeIgnoreTypeIgnore(self).to_object(py)) - } -} - -#[pymethods] -impl TypeIgnoreTypeIgnore { - #[getter] - #[inline] - fn get_lineno(&self, py: Python) -> PyResult { - self.0.lineno.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_tag(&self, py: Python) -> PyResult { - self.0.tag.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_decorator", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Decorator(pub &'static ast::Decorator); - -impl From<&'static ast::Decorator> for Decorator { - fn from(node: &'static ast::Decorator) -> Self { - Decorator(node) - } -} - -impl ToPyObject for Decorator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Decorator { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Decorator(self).to_object(py)) - } -} - -#[pymethods] -impl Decorator { - #[getter] - #[inline] - fn get_expression(&self, py: Python) -> PyResult { - self.0.expression.to_py_wrapper(py) - } -} - -pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - Ok(()) -} diff --git a/ast-pyo3/src/lib.rs b/ast-pyo3/src/lib.rs deleted file mode 100644 index 65a336b0..00000000 --- a/ast-pyo3/src/lib.rs +++ /dev/null @@ -1,49 +0,0 @@ -mod py_ast; -#[cfg(feature = "wrapper")] -pub mod wrapper; - -pub use py_ast::{init, PyNode, ToPyAst}; -use pyo3::prelude::*; -use rustpython_parser::ast::{source_code::LinearLocator, Fold}; - -#[pyfunction] -#[pyo3(signature = (source, filename="", *, type_comments=false, locate=true))] -pub fn parse<'py>( - source: &str, - filename: &str, - type_comments: bool, - locate: bool, - py: Python<'py>, -) -> PyResult<&'py PyAny> { - if type_comments { - todo!("'type_comments' is not implemented yet"); - } - let parsed = rustpython_parser::parse(source, rustpython_parser::Mode::Module, filename) - .map_err(|e| PyErr::new::(e.to_string()))?; - if locate { - let parsed = LinearLocator::new(source).fold(parsed).unwrap(); - parsed.module().unwrap().to_py_ast(py) - } else { - parsed.module().unwrap().to_py_ast(py) - } -} - -#[pymodule] -fn rustpython_ast(py: Python, m: &PyModule) -> PyResult<()> { - py_ast::init(py)?; - - #[cfg(feature = "wrapper")] - { - let ast = PyModule::new(py, "ast")?; - wrapper::located::add_to_module(py, ast)?; - m.add_submodule(ast)?; - - let ast = PyModule::new(py, "unlocated_ast")?; - wrapper::ranged::add_to_module(py, ast)?; - m.add_submodule(ast)?; - } - - m.add_function(wrap_pyfunction!(parse, m)?)?; - - Ok(()) -} diff --git a/ast-pyo3/src/py_ast.rs b/ast-pyo3/src/py_ast.rs deleted file mode 100644 index 6d2bb417..00000000 --- a/ast-pyo3/src/py_ast.rs +++ /dev/null @@ -1,219 +0,0 @@ -use num_complex::Complex64; -use num_traits::cast::ToPrimitive; -use once_cell::sync::OnceCell; -use pyo3::{ - prelude::*, - types::{PyBool, PyBytes, PyList, PyString, PyTuple}, - ToPyObject, -}; -use rustpython_ast::{ - self as ast, source_code::SourceRange, text_size::TextRange, ConversionFlag, Node, -}; - -pub trait PyNode { - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } - } -} - -pub trait ToPyAst { - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny>; -} - -impl ToPyAst for Box { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - (**self).to_py_ast(py) - } -} - -impl ToPyAst for Option { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - match self { - Some(ast) => ast.to_py_ast(py), - None => Ok(ast_cache().none_ref(py)), - } - } -} - -impl ToPyAst for Vec { - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let elts = self - .iter() - .map(|item| item.to_py_ast(py)) - .collect::, _>>()?; - let list = PyList::new(py, elts); - Ok(list.into()) - } -} - -impl ToPyAst for ast::Identifier { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(PyString::new(py, self.as_str()).into()) - } -} - -impl ToPyAst for ast::String { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(PyString::new(py, self.as_str()).into()) - } -} - -impl ToPyAst for bool { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(ast_cache().bool_int(py, *self)) - } -} - -impl ToPyAst for ConversionFlag { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(ast_cache().conversion_flag(py, *self)) - } -} - -impl ToPyAst for ast::Arguments -where - R: Clone, - ast::PythonArguments: ToPyAst, -{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let arguments = self.to_python_arguments(); - arguments.to_py_ast(py) - } -} - -fn constant_to_object(constant: &ast::Constant, py: Python) -> PyObject { - let cache = ast_cache(); - match constant { - ast::Constant::None => cache.none.clone_ref(py), - ast::Constant::Bool(bool) => cache.bool(py, *bool).into(), - ast::Constant::Str(string) => string.to_object(py), - ast::Constant::Bytes(bytes) => PyBytes::new(py, bytes).into(), - ast::Constant::Int(int) => match int.to_i64() { - Some(small_int) => small_int.to_object(py), - None => int.to_object(py), - }, - ast::Constant::Tuple(elts) => { - let elts: Vec<_> = elts.iter().map(|c| constant_to_object(c, py)).collect(); - PyTuple::new(py, elts).into() - } - ast::Constant::Float(f64) => f64.to_object(py), - ast::Constant::Complex { real, imag } => Complex64::new(*real, *imag).to_object(py), - ast::Constant::Ellipsis => py.Ellipsis(), - } -} - -#[pyclass(module = "rustpython_ast", subclass)] -pub struct Ast; - -#[pymethods] -impl Ast { - #[new] - fn new() -> Self { - Self - } -} - -fn cache_py_type(ast_module: &PyAny) -> PyResult<()> { - let class = ast_module.getattr(N::NAME)?; - let base = if std::mem::size_of::() == 0 { - class.call0()? - } else { - class.getattr("__new__")? - }; - N::py_type_cache().get_or_init(|| (class.into(), base.into())); - Ok(()) -} - -// TODO: This cache must be bound to 'py -struct AstCache { - lineno: Py, - col_offset: Py, - end_lineno: Py, - end_col_offset: Py, - none: Py, - bool_values: (Py, Py), - bool_int_values: (Py, Py), - conversion_flags: (Py, Py, Py, Py), -} - -impl AstCache { - // fn location_vec<'py>(&'static self, py: Python<'py>, range: &SourceRange) -> &'py PyDict { - // let attributes = PyDict::new(py); - // attributes.set_item(self.lineno.as_ref(py), range.start.row.get()).unwrap(); - // attributes.set_item(self.col_offset.as_ref(py), range.start.column.to_zero_indexed()).unwrap(); - // if let Some(end) = range.end { - // attributes.set_item(self.end_lineno.as_ref(py), end.row.get()).unwrap(); - // attributes.set_item( - // self.end_col_offset.as_ref(py), - // end.column.to_zero_indexed(), - // ).unwrap(); - // } - // attributes - // } - #[inline] - fn none_ref<'py>(&'static self, py: Python<'py>) -> &'py PyAny { - Py::::as_ref(&self.none, py) - } - #[inline] - fn bool_int<'py>(&'static self, py: Python<'py>, value: bool) -> &'py PyAny { - let v = &self.bool_int_values; - Py::::as_ref(if value { &v.1 } else { &v.0 }, py) - } - #[inline] - fn bool(&'static self, py: Python, value: bool) -> Py { - let v = &self.bool_values; - (if value { &v.1 } else { &v.0 }).clone_ref(py) - } - fn conversion_flag<'py>(&'static self, py: Python<'py>, value: ConversionFlag) -> &'py PyAny { - let v = &self.conversion_flags; - match value { - ConversionFlag::None => v.0.as_ref(py), - ConversionFlag::Str => v.1.as_ref(py), - ConversionFlag::Ascii => v.2.as_ref(py), - ConversionFlag::Repr => v.3.as_ref(py), - } - } -} - -fn ast_cache_cell() -> &'static OnceCell { - { - static PY_TYPE: OnceCell = OnceCell::new(); - &PY_TYPE - } -} - -fn ast_cache() -> &'static AstCache { - ast_cache_cell().get().unwrap() -} - -pub fn init(py: Python) -> PyResult<()> { - ast_cache_cell().get_or_init(|| AstCache { - lineno: pyo3::intern!(py, "lineno").into_py(py), - col_offset: pyo3::intern!(py, "col_offset").into_py(py), - end_lineno: pyo3::intern!(py, "end_lineno").into_py(py), - end_col_offset: pyo3::intern!(py, "end_col_offset").into_py(py), - none: py.None(), - bool_values: (PyBool::new(py, false).into(), PyBool::new(py, true).into()), - bool_int_values: ((0).to_object(py), (1).to_object(py)), - conversion_flags: ( - (-1).to_object(py), - (b's').to_object(py), - (b'a').to_object(py), - (b'r').to_object(py), - ), - }); - - init_types(py) -} - -include!("gen/to_py_ast.rs"); diff --git a/ast-pyo3/src/wrapper.rs b/ast-pyo3/src/wrapper.rs deleted file mode 100644 index 1ac8f1c1..00000000 --- a/ast-pyo3/src/wrapper.rs +++ /dev/null @@ -1,153 +0,0 @@ -use crate::PyNode; -use num_complex::Complex64; -use pyo3::prelude::*; -use pyo3::types::{PyBytes, PyList, PyTuple}; -use rustpython_ast::{ - self as ast, source_code::SourceRange, text_size::TextRange, ConversionFlag, Node, -}; - -pub trait ToPyWrapper { - fn to_py_wrapper(&'static self, py: Python) -> PyResult>; -} - -impl ToPyWrapper for Box { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - (**self).to_py_wrapper(py) - } -} - -impl ToPyWrapper for Option { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match self { - Some(ast) => ast.to_py_wrapper(py), - None => Ok(py.None()), - } - } -} - -impl ToPyWrapper for ast::Identifier { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(self.as_str().to_object(py)) - } -} - -impl ToPyWrapper for ast::String { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(self.as_str().to_object(py)) - } -} - -impl ToPyWrapper for ast::Int { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((self.to_u32()).to_object(py)) - } -} - -impl ToPyWrapper for bool { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((*self as u32).to_object(py)) - } -} - -impl ToPyWrapper for ConversionFlag { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((*self as i8).to_object(py)) - } -} - -impl ToPyWrapper for ast::Constant { - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - let value = match self { - ast::Constant::None => py.None(), - ast::Constant::Bool(bool) => bool.to_object(py), - ast::Constant::Str(string) => string.to_object(py), - ast::Constant::Bytes(bytes) => PyBytes::new(py, bytes).into(), - ast::Constant::Int(int) => int.to_object(py), - ast::Constant::Tuple(elts) => { - let elts: PyResult> = elts.iter().map(|c| c.to_py_wrapper(py)).collect(); - PyTuple::new(py, elts?).into() - } - ast::Constant::Float(f64) => f64.to_object(py), - ast::Constant::Complex { real, imag } => Complex64::new(*real, *imag).to_object(py), - ast::Constant::Ellipsis => py.Ellipsis(), - }; - Ok(value) - } -} - -impl ToPyWrapper for Vec { - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - let list = PyList::empty(py); - for item in self { - let py_item = item.to_py_wrapper(py)?; - list.append(py_item)?; - } - Ok(list.into()) - } -} - -impl ToPyWrapper for ast::Arguments -where - Self: Clone, - ast::PythonArguments: ToPyWrapper, -{ - #[inline] - fn to_py_wrapper(&'static self, _py: Python) -> PyResult> { - todo!() - // Ok(FunctionArguments(self).to_object(py)) - } -} - -#[pyclass(module = "rustpython_ast", name = "AST", subclass)] -pub struct Ast; - -#[pymethods] -impl Ast { - #[new] - fn new() -> Self { - Self - } -} - -pub mod located { - pub use super::Ast; - use super::*; - include!("gen/wrapper_located.rs"); -} - -pub mod ranged { - pub use super::Ast; - use super::*; - include!("gen/wrapper_ranged.rs"); -} - -fn init_type(py: Python, m: &PyModule) -> PyResult<()> { - m.add_class::

()?; - let node = m.getattr(P::NAME)?; - if P::NAME != N::NAME { - // TODO: no idea how to escape rust keyword on #[pyclass] - m.setattr(P::NAME, node)?; - } - let names: Vec<&'static str> = N::FIELD_NAMES.to_vec(); - let fields = PyTuple::new(py, names); - node.setattr("_fields", fields)?; - Ok(()) -} - -/// A Python module implemented in Rust. -fn init_module(py: Python, m: &PyModule) -> PyResult<()> { - m.add_class::()?; - - let ast = m.getattr("AST")?; - let fields = PyTuple::empty(py); - ast.setattr("_fields", fields)?; - - Ok(()) -} diff --git a/ast-pyo3/test_ast.py b/ast-pyo3/test_ast.py deleted file mode 100644 index e09d1892..00000000 --- a/ast-pyo3/test_ast.py +++ /dev/null @@ -1,56 +0,0 @@ -import re -import difflib -import pytest - -import ast as py_ast -import rustpython_ast as rust_ast - - -from glob import glob - -files = {} -for path in glob("../../cpython/Lib/**/*.py"): - try: - txt = open(path, "r").read() - except UnicodeDecodeError: - continue - - # try: - # if py_ast.dump(py_ast.parse(txt)) != py_ast.dump(rust_ast.parse(txt)): - # continue - # except SyntaxError: - # continue - files[path] = txt - - -@pytest.mark.parametrize("path", files.keys()) -def test_roundtrip(path): - txt = files[path] - module_p = py_ast.parse(txt) - dump_p = py_ast.dump(module_p, indent=True) - module_r = rust_ast.parse(txt) - dump_r = py_ast.dump(module_r, indent=True) - p = re.compile("object at 0x[0-9a-f]+") - dump_p2 = re.sub(p, "object at 0x????????", dump_p) - dump_r2 = re.sub(p, "object at 0x????????", dump_r) - try: - assert dump_p2 == dump_r2 - except AssertionError: - last_sign = ' ' - for s in difflib.ndiff(dump_p2, dump_r2): - if s[0]==' ': continue - if s[0] == last_sign: - print(s[2:], end='') - else: - print() - print(s, end='') - last_sign = s[0] - # with open("dump_code.py", "w") as f: - # f.write(path) - # f.write('\n') - # f.write(txt) - # with open("dump_p.txt", "w") as f: - # f.write(dump_p2) - # with open("dump_r.txt", "w") as f: - # f.write(dump_r2) - raise diff --git a/ast/Cargo.toml b/ast/Cargo.toml index d3229bcc..967b0e63 100644 --- a/ast/Cargo.toml +++ b/ast/Cargo.toml @@ -8,12 +8,7 @@ repository = "https://github.com/RustPython/Parser/" license = "MIT" [features] -default = ["location", "malachite-bigint"] -constant-optimization = ["fold"] -location = ["fold", "rustpython-parser-core/location"] -fold = [] -unparse = ["rustpython-literal"] -visitor = [] +default = ["malachite-bigint"] all-nodes-with-ranges = [] [dependencies] diff --git a/ast/asdl_rs.py b/ast/asdl_rs.py index 517a4b47..39bfdf36 100755 --- a/ast/asdl_rs.py +++ b/ast/asdl_rs.py @@ -3,14 +3,12 @@ # ! /usr/bin/env python """Generate Rust code from an ASDL description.""" +import re import sys -import json import textwrap -import re - from argparse import ArgumentParser from pathlib import Path -from typing import Optional, Dict, Any +from typing import Any, Dict, Optional import asdl @@ -554,9 +552,11 @@ def sum_with_constructors(self, sum, type, depth): for t in sum.types: self.sum_subtype_struct(type_info, t, rust_name, depth) - def sum_subtype_struct(self, sum_type_info, t, rust_name, depth): - self.emit(f"""/// See also [{t.name}](https://docs.python.org/3/library/ast.html#ast.{t.name})""", depth) + self.emit( + f"""/// See also [{t.name}](https://docs.python.org/3/library/ast.html#ast.{t.name})""", + depth, + ) self.emit_attrs(depth) payload_name = f"{rust_name}{t.name}" self.emit(f"pub struct {payload_name} {{", depth) @@ -657,379 +657,6 @@ def visitProduct(self, product, type, depth): ) -class FoldTraitDefVisitor(EmitVisitor): - def visitModule(self, mod, depth): - self.emit("pub trait Fold {", depth) - self.emit("type TargetU;", depth + 1) - self.emit("type Error;", depth + 1) - self.emit("type UserContext;", depth + 1) - self.emit( - """ - fn will_map_user(&mut self, user: &U) -> Self::UserContext; - #[cfg(feature = "all-nodes-with-ranges")] - fn will_map_user_cfg(&mut self, user: &U) -> Self::UserContext { - self.will_map_user(user) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn will_map_user_cfg(&mut self, _user: &crate::EmptyRange) -> crate::EmptyRange { - crate::EmptyRange::default() - } - fn map_user(&mut self, user: U, context: Self::UserContext) -> Result; - #[cfg(feature = "all-nodes-with-ranges")] - fn map_user_cfg(&mut self, user: U, context: Self::UserContext) -> Result { - self.map_user(user, context) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn map_user_cfg( - &mut self, - _user: crate::EmptyRange, - _context: crate::EmptyRange, - ) -> Result, Self::Error> { - Ok(crate::EmptyRange::default()) - } - """, - depth + 1, - ) - self.emit( - """ - fn fold>(&mut self, node: X) -> Result { - node.fold(self) - }""", - depth + 1, - ) - for dfn in mod.dfns + [arg_with_default]: - dfn = maybe_custom(dfn) - self.visit(dfn, depth + 2) - self.emit("}", depth) - - def visitType(self, type, depth): - info = self.type_info[type.name] - apply_u, apply_target_u = self.apply_generics(info.name, "U", "Self::TargetU") - enum_name = info.full_type_name - self.emit( - f"fn fold_{info.full_field_name}(&mut self, node: {enum_name}{apply_u}) -> Result<{enum_name}{apply_target_u}, Self::Error> {{", - depth, - ) - self.emit(f"fold_{info.full_field_name}(self, node)", depth + 1) - self.emit("}", depth) - - if isinstance(type.value, asdl.Sum) and not is_simple(type.value): - for cons in type.value.types: - self.visit(cons, type, depth) - - def visitConstructor(self, cons, type, depth): - info = self.type_info[type.name] - apply_u, apply_target_u = self.apply_generics(type.name, "U", "Self::TargetU") - enum_name = rust_type_name(type.name) - func_name = f"fold_{info.full_field_name}_{rust_field_name(cons.name)}" - self.emit( - f"fn {func_name}(&mut self, node: {enum_name}{cons.name}{apply_u}) -> Result<{enum_name}{cons.name}{apply_target_u}, Self::Error> {{", - depth, - ) - self.emit(f"{func_name}(self, node)", depth + 1) - self.emit("}", depth) - - -class FoldImplVisitor(EmitVisitor): - def visitModule(self, mod, depth): - for dfn in mod.dfns + [arg_with_default]: - dfn = maybe_custom(dfn) - self.visit(dfn, depth) - - def visitType(self, type, depth=0): - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth): - name = type.name - apply_t, apply_u, apply_target_u = self.apply_generics( - name, "T", "U", "F::TargetU" - ) - enum_name = rust_type_name(name) - simple = is_simple(sum) - - self.emit(f"impl Foldable for {enum_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {enum_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit(f"folder.fold_{name}(self)", depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{name} + ?Sized>(#[allow(unused)] folder: &mut F, node: {enum_name}{apply_u}) -> Result<{enum_name}{apply_target_u}, F::Error> {{", - depth, - ) - - if simple: - self.emit("Ok(node) }", depth + 1) - return - - self.emit("let folded = match node {", depth + 1) - for cons in sum.types: - self.emit( - f"{enum_name}::{cons.name}(cons) => {enum_name}::{cons.name}(Foldable::fold(cons, folder)?),", - depth + 1, - ) - - self.emit("};", depth + 1) - self.emit("Ok(folded)", depth + 1) - self.emit("}", depth) - - for cons in sum.types: - self.visit(cons, type, depth) - - def visitConstructor(self, cons, type, depth): - apply_t, apply_u, apply_target_u = self.apply_generics( - type.name, "T", "U", "F::TargetU" - ) - info = self.type_info[type.name] - enum_name = info.full_type_name - - cons_type_name = f"{enum_name}{cons.name}" - - self.emit(f"impl Foldable for {cons_type_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {cons_type_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit( - f"folder.fold_{info.full_field_name}_{rust_field_name(cons.name)}(self)", - depth + 2, - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{info.full_field_name}_{rust_field_name(cons.name)} + ?Sized>(#[allow(unused)] folder: &mut F, node: {cons_type_name}{apply_u}) -> Result<{enum_name}{cons.name}{apply_target_u}, F::Error> {{", - depth, - ) - - fields_pattern = self.make_pattern(cons.fields) - - map_user_suffix = "" if info.has_attributes else "_cfg" - self.emit( - f""" - let {cons_type_name} {{ {fields_pattern} }} = node; - let context = folder.will_map_user{map_user_suffix}(&range); - """, - depth + 3, - ) - self.fold_fields(cons.fields, depth + 3) - self.emit( - f"let range = folder.map_user{map_user_suffix}(range, context)?;", - depth + 3, - ) - self.composite_fields(f"{cons_type_name}", cons.fields, depth + 3) - self.emit("}", depth + 2) - - def visitProduct(self, product, type, depth): - info = self.type_info[type.name] - name = type.name - apply_t, apply_u, apply_target_u = self.apply_generics( - name, "T", "U", "F::TargetU" - ) - struct_name = info.full_type_name - has_attributes = bool(product.attributes) - - self.emit(f"impl Foldable for {struct_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {struct_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit(f"folder.fold_{info.full_field_name}(self)", depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{info.full_field_name} + ?Sized>(#[allow(unused)] folder: &mut F, node: {struct_name}{apply_u}) -> Result<{struct_name}{apply_target_u}, F::Error> {{", - depth, - ) - - fields_pattern = self.make_pattern(product.fields) - self.emit(f"let {struct_name} {{ {fields_pattern} }} = node;", depth + 1) - - map_user_suffix = "" if has_attributes else "_cfg" - - self.emit( - f"let context = folder.will_map_user{map_user_suffix}(&range);", depth + 3 - ) - self.fold_fields(product.fields, depth + 1) - self.emit( - f"let range = folder.map_user{map_user_suffix}(range, context)?;", depth + 3 - ) - self.composite_fields(struct_name, product.fields, depth + 1) - - self.emit("}", depth) - - def make_pattern(self, fields): - body = ",".join(rust_field(f.name) for f in fields) - if body: - body += "," - body += "range" - - return body - - def fold_fields(self, fields, depth): - for field in fields: - name = rust_field(field.name) - self.emit(f"let {name} = Foldable::fold({name}, folder)?;", depth + 1) - - def composite_fields(self, header, fields, depth): - self.emit(f"Ok({header} {{", depth) - for field in fields: - name = rust_field(field.name) - self.emit(f"{name},", depth + 1) - self.emit("range,", depth + 1) - self.emit("})", depth) - - -class FoldModuleVisitor(EmitVisitor): - def visitModule(self, mod): - depth = 0 - FoldTraitDefVisitor(self.file, self.type_info).visit(mod, depth) - FoldImplVisitor(self.file, self.type_info).visit(mod, depth) - - -class VisitorModuleVisitor(StructVisitor): - def full_name(self, name): - type_info = self.type_info[name] - if type_info.enum_name: - return f"{type_info.enum_name}_{name}" - else: - return name - - def node_type_name(self, name): - type_info = self.type_info[name] - if type_info.enum_name: - return f"{rust_type_name(type_info.enum_name)}{rust_type_name(name)}" - else: - return rust_type_name(name) - - def visitModule(self, mod, depth=0): - self.emit("#[allow(unused_variables)]", depth) - self.emit("pub trait Visitor {", depth) - - for dfn in mod.dfns: - dfn = self.customized_type_info(dfn.name).type - self.visit(dfn, depth + 1) - self.emit("}", depth) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - if is_simple(sum): - self.simple_sum(sum, name, depth) - else: - self.sum_with_constructors(sum, name, depth) - - def emit_visitor(self, nodename, depth, has_node=True): - type_info = self.type_info[nodename] - node_type = type_info.full_type_name - (generic,) = self.apply_generics(nodename, "R") - self.emit( - f"fn visit_{type_info.full_field_name}(&mut self, node: {node_type}{generic}) {{", - depth, - ) - if has_node: - self.emit( - f"self.generic_visit_{type_info.full_field_name}(node)", depth + 1 - ) - - self.emit("}", depth) - - def emit_generic_visitor_signature(self, nodename, depth, has_node=True): - type_info = self.type_info[nodename] - if has_node: - node_type = type_info.full_type_name - else: - node_type = "()" - (generic,) = self.apply_generics(nodename, "R") - self.emit( - f"fn generic_visit_{type_info.full_field_name}(&mut self, node: {node_type}{generic}) {{", - depth, - ) - - def emit_empty_generic_visitor(self, nodename, depth): - self.emit_generic_visitor_signature(nodename, depth) - self.emit("}", depth) - - def simple_sum(self, sum, name, depth): - self.emit_visitor(name, depth) - self.emit_empty_generic_visitor(name, depth) - - def visit_match_for_type(self, nodename, rust_name, type_, depth): - self.emit(f"{rust_name}::{type_.name}", depth) - self.emit("(data)", depth) - self.emit( - f"=> self.visit_{nodename}_{rust_field_name(type_.name)}(data),", depth - ) - - def visit_sum_type(self, name, type_, depth): - self.emit_visitor(type_.name, depth, has_node=type_.fields) - if not type_.fields: - return - - self.emit_generic_visitor_signature(type_.name, depth, has_node=True) - for field in type_.fields: - if field.type in CUSTOM_REPLACEMENTS: - type_name = CUSTOM_REPLACEMENTS[field.type].name - else: - type_name = field.type - field_name = rust_field(field.name) - field_type = self.type_info.get(type_name) - if not (field_type and field_type.has_user_data): - continue - - if field.opt: - self.emit(f"if let Some(value) = node.{field_name} {{", depth + 1) - elif field.seq: - iterable = f"node.{field_name}" - if type_.name == "Dict" and field.name == "keys": - iterable = f"{iterable}.into_iter().flatten()" - self.emit(f"for value in {iterable} {{", depth + 1) - else: - self.emit("{", depth + 1) - self.emit(f"let value = node.{field_name};", depth + 2) - - variable = "value" - if field_type.boxed and (not field.seq or field.opt): - variable = "*" + variable - type_info = self.type_info[field_type.name] - self.emit(f"self.visit_{type_info.full_field_name}({variable});", depth + 2) - - self.emit("}", depth + 1) - - self.emit("}", depth) - - def sum_with_constructors(self, sum, name, depth): - if not sum.attributes: - return - - enum_name = rust_type_name(name) - self.emit_visitor(name, depth) - self.emit_generic_visitor_signature(name, depth) - depth += 1 - self.emit("match node {", depth) - for t in sum.types: - self.visit_match_for_type(name, enum_name, t, depth + 1) - self.emit("}", depth) - depth -= 1 - self.emit("}", depth) - - # Now for the visitors for the types - for t in sum.types: - self.visit_sum_type(name, t, depth) - - def visitProduct(self, product, name, depth): - self.emit_visitor(name, depth) - self.emit_empty_generic_visitor(name, depth) - - class RangedDefVisitor(EmitVisitor): def visitModule(self, mod): for dfn in mod.dfns + CUSTOM_TYPES: @@ -1106,1083 +733,73 @@ def emit_ranged_impl(self, info): ) -class LocatedDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] +def write_ast_def(mod, type_info, f): + f.write("use crate::text_size::TextRange;") + StructVisitor(f, type_info).visit(mod) - self.emit_type_alias(info) - if info.is_simple: - for ty in sum.types: - variant_info = self.type_info[ty.name] - self.emit_type_alias(variant_info) - return +def write_ranged_def(mod, type_info, f): + RangedDefVisitor(f, type_info).visit(mod) - sum_match_arms = "" - for ty in sum.types: - variant_info = self.type_info[ty.name] - sum_match_arms += ( - f" Self::{variant_info.rust_name}(node) => node.range()," - ) - self.emit_type_alias(variant_info) - self.emit_located_impl(variant_info) +def write_parse_def(mod, type_info, f): + for info in type_info.values(): + if info.enum_name not in ["expr", "stmt"]: + continue - if not info.no_cfg(self.type_info): - cfg = '#[cfg(feature = "all-nodes-with-ranges")]' - else: - cfg = '' + type_name = rust_type_name(info.enum_name) + cons_name = rust_type_name(info.name) - self.emit( + f.write( f""" - {cfg} - impl Located for {info.full_type_name} {{ - fn range(&self) -> SourceRange {{ - match self {{ - {sum_match_arms} - }} - }} + impl Parse for ast::{info.full_type_name} {{ + fn lex_starts_at( + source: &str, + offset: TextSize, + ) -> SoftKeywordTransformer> {{ + ast::{type_name}::lex_starts_at(source, offset) }} - {cfg} - impl LocatedMut for {info.full_type_name} {{ - fn range_mut(&mut self) -> &mut SourceRange {{ - match self {{ - {sum_match_arms.replace('range()', 'range_mut()')} - }} + fn parse_tokens( + lxr: impl IntoIterator, + source_path: &str, + ) -> Result {{ + let node = ast::{type_name}::parse_tokens(lxr, source_path)?; + match node {{ + ast::{type_name}::{cons_name}(node) => Ok(node), + node => Err(ParseError {{ + error: ParseErrorType::InvalidToken, + offset: node.range().start(), + source_path: source_path.to_owned(), + }}), }} }} - """.lstrip(), - 0, + }} + """ ) - def visitProduct(self, product, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - self.emit_located_impl(info) - def emit_type_alias(self, info): - generics = "" if info.is_simple else "::" +def main( + input_filename, + ast_dir, + parser_dir, + dump_module=False, +): + auto_gen_msg = AUTO_GEN_MESSAGE.format("/".join(Path(__file__).parts[-2:])) + mod = asdl.parse(input_filename) + if dump_module: + print("Parsed Module:") + print(mod) + if not asdl.check(mod): + sys.exit(1) - self.emit( - f"pub type {info.full_type_name} = crate::generic::{info.full_type_name}{generics};", - 0, - ) - self.emit("", 0) + type_info = {} + FindUserDataTypesVisitor(type_info).visit(mod) - def emit_located_impl(self, info): - if not info.no_cfg(self.type_info): - cfg = '#[cfg(feature = "all-nodes-with-ranges")]' - else: - cfg = '' - - self.emit( - f""" - {cfg} - impl Located for {info.full_type_name} {{ - fn range(&self) -> SourceRange {{ - self.range - }} - }} - {cfg} - impl LocatedMut for {info.full_type_name} {{ - fn range_mut(&mut self) -> &mut SourceRange {{ - &mut self.range - }} - }} - """, - 0, - ) - - -class ToPyo3AstVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, namespace, *args, **kw): - super().__init__(*args, **kw) - self.namespace = namespace - - @property - def generics(self): - if self.namespace == "ranged": - return "" - elif self.namespace == "located": - return "" - else: - assert False, self.namespace - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type): - self.visit(type.value, type) - - def visitProduct(self, product, type): - info = self.type_info[type.name] - rust_name = info.full_type_name - self.emit_to_pyo3_with_fields(product, type, rust_name) - - def visitSum(self, sum, type): - info = self.type_info[type.name] - rust_name = info.full_type_name - simple = is_simple(sum) - if is_simple(sum): - return - - self.emit( - f""" - impl ToPyAst for ast::{rust_name}{self.generics} {{ - #[inline] - fn to_py_ast<'py>(&self, {"_" if simple else ""}py: Python<'py>) -> PyResult<&'py PyAny> {{ - let instance = match &self {{ - """, - 0, - ) - for cons in sum.types: - self.emit( - f"ast::{rust_name}::{cons.name}(cons) => cons.to_py_ast(py)?,", - 1, - ) - self.emit( - """ - }; - Ok(instance) - } - } - """, - 0, - ) - - for cons in sum.types: - self.visit(cons, type) - - def visitConstructor(self, cons, type): - parent = rust_type_name(type.name) - self.emit_to_pyo3_with_fields(cons, type, f"{parent}{cons.name}") - - def emit_to_pyo3_with_fields(self, cons, type, name): - type_info = self.type_info[type.name] - - self.emit( - f""" - impl ToPyAst for ast::{name}{self.generics} {{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> {{ - let cache = Self::py_type_cache().get().unwrap(); - """, - 0, - ) - if cons.fields: - field_names = ", ".join(rust_field(f.name) for f in cons.fields) - if not type_info.is_simple: - field_names += ", range: _range" - self.emit( - f"let Self {{ {field_names} }} = self;", - 1, - ) - self.emit( - """ - let instance = Py::::as_ref(&cache.0, py).call1(( - """, - 1, - ) - for field in cons.fields: - if field.type == "constant": - self.emit( - f"constant_to_object({rust_field(field.name)}, py),", - 3, - ) - continue - if field.type == "int": - if field.name == "level": - assert field.opt - self.emit( - f"{rust_field(field.name)}.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)),", - 3, - ) - continue - if field.name == "lineno": - self.emit( - f"{rust_field(field.name)}.to_u32().to_object(py),", - 3, - ) - continue - self.emit( - f"{rust_field(field.name)}.to_py_ast(py)?,", - 3, - ) - self.emit( - "))?;", - 0, - ) - else: - self.emit( - "let Self { range: _range } = self;", - 1, - ) - self.emit( - """let instance = Py::::as_ref(&cache.0, py).call0()?;""", - 1, - ) - if type.value.attributes and self.namespace == "located": - self.emit( - """ - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - """, - 0, - ) - self.emit( - """ - Ok(instance) - } - } - """, - 0, - ) - - -class Pyo3StructVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, namespace, *args, **kw): - self.namespace = namespace - self.borrow = True - super().__init__(*args, **kw) - - @property - def generics(self): - if self.namespace == "ranged": - return "" - elif self.namespace == "located": - return "" - else: - assert False, self.namespace - - @property - def module_name(self): - name = f"rustpython_ast.{self.namespace}" - return name - - @property - def ref_def(self): - return "&'static " if self.borrow else "" - - @property - def ref(self): - return "&" if self.borrow else "" - - def emit_class(self, info, simple, base="super::Ast"): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - if simple: - generics = "" - else: - generics = self.generics - if info.is_sum: - subclass = ", subclass" - body = "" - into = f"{rust_name}" - else: - subclass = "" - body = f"(pub {self.ref_def} ast::{inner_name}{generics})" - into = f"{rust_name}(node)" - - self.emit( - f""" - #[pyclass(module="{self.module_name}", name="_{info.name}", extends={base}, frozen{subclass})] - #[derive(Clone, Debug)] - pub struct {rust_name} {body}; - - impl From<{self.ref_def} ast::{inner_name}{generics}> for {rust_name} {{ - fn from({"" if body else "_"}node: {self.ref_def} ast::{inner_name}{generics}) -> Self {{ - {into} - }} - }} - """, - 0, - ) - - if subclass: - self.emit( - f""" - #[pymethods] - impl {rust_name} {{ - #[new] - fn new() -> PyClassInitializer {{ - PyClassInitializer::from(Ast) - .add_subclass(Self) - }} - - }} - impl ToPyObject for {rust_name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - 0, - ) - else: - if base != "super::Ast": - add_subclass = f".add_subclass({base})" - else: - add_subclass = "" - self.emit( - f""" - impl ToPyObject for {rust_name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = PyClassInitializer::from(Ast) - {add_subclass} - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - 0, - ) - - if not subclass: - self.emit_wrapper(info) - - def emit_getter(self, owner, type_name): - self.emit( - f""" - #[pymethods] - impl {type_name} {{ - """, - 0, - ) - - for field in owner.fields: - self.emit( - f""" - #[getter] - #[inline] - fn get_{field.name}(&self, py: Python) -> PyResult {{ - self.0.{rust_field(field.name)}.to_py_wrapper(py) - }} - """, - 3, - ) - - self.emit( - """ - } - """, - 0, - ) - - def emit_getattr(self, owner, type_name): - self.emit( - f""" - #[pymethods] - impl {type_name} {{ - fn __getattr__(&self, py: Python, key: &str) -> PyResult {{ - let object: Py = match key {{ - """, - 0, - ) - - for field in owner.fields: - self.emit( - f'"{field.name}" => self.0.{rust_field(field.name)}.to_py_wrapper(py)?,', - 3, - ) - - self.emit( - """ - _ => todo!(), - }; - Ok(object) - } - } - """, - 0, - ) - - def emit_wrapper(self, info): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - self.emit( - f""" - impl ToPyWrapper for ast::{inner_name}{self.generics} {{ - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> {{ - Ok({rust_name}(self).to_object(py)) - }} - }} - """, - 0, - ) - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth=0): - info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - - simple = is_simple(sum) - self.emit_class(info, simple) - - if not simple: - self.emit( - f""" - impl ToPyWrapper for ast::{rust_name}{self.generics} {{ - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> {{ - match &self {{ - """, - 0, - ) - - for cons in sum.types: - self.emit(f"Self::{cons.name}(cons) => cons.to_py_wrapper(py),", 3) - - self.emit( - """ - } - } - } - """, - 0, - ) - - for cons in sum.types: - self.visit(cons, rust_name, simple, depth + 1) - - def visitProduct(self, product, type, depth=0): - info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - self.emit_class(info, False) - if self.borrow: - self.emit_getter(product, rust_name) - - def visitConstructor(self, cons, parent, simple, depth): - if simple: - self.emit( - f""" - #[pyclass(module="{self.module_name}", name="_{cons.name}", extends={parent})] - pub struct {parent}{cons.name}; - - impl ToPyObject for {parent}{cons.name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = PyClassInitializer::from(Ast) - .add_subclass({parent}) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - depth, - ) - else: - info = self.type_info[cons.name] - self.emit_class( - info, - simple=False, - base=parent, - ) - if self.borrow: - self.emit_getter(cons, f"{parent}{cons.name}") - - -class Pyo3PymoduleVisitor(EmitVisitor): - def __init__(self, namespace, *args, **kw): - self.namespace = namespace - super().__init__(*args, **kw) - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitProduct(self, product, name, depth=0): - info = self.type_info[name] - self.emit_fields(info, False) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - simple = is_simple(sum) - self.emit_fields(info, True) - - for cons in sum.types: - self.visit(cons, name, simple, depth) - - def visitConstructor(self, cons, parent, simple, depth): - info = self.type_info[cons.name] - self.emit_fields(info, simple) - - def emit_fields(self, info, simple): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - self.emit(f"super::init_type::<{rust_name}, ast::{inner_name}>(py, m)?;", 1) - - -class StdlibClassDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - # info = self.type_info[self.type_info[name].custom.name] - info = self.type_info[name] - struct_name = "Node" + info.full_type_name - self.emit( - f'#[pyclass(module = "_ast", name = {json.dumps(name)}, base = "NodeAst")]', - depth, - ) - self.emit(f"struct {struct_name};", depth) - self.emit("#[pyclass(flags(HAS_DICT, BASETYPE))]", depth) - self.emit(f"impl {struct_name} {{}}", depth) - for cons in sum.types: - self.visit(cons, sum.attributes, struct_name, depth) - - def visitConstructor(self, cons, attrs, base, depth): - self.gen_class_def(cons.name, cons.fields, attrs, depth, base) - - def visitProduct(self, product, name, depth): - self.gen_class_def(name, product.fields, product.attributes, depth) - - def gen_class_def(self, name, fields, attrs, depth, base=None): - - info = self.type_info[self.type_info[name].custom.name] - if base is None: - base = "NodeAst" - struct_name = "Node" + info.full_type_name - else: - struct_name = "Node" + info.full_type_name - self.emit( - f'#[pyclass(module = "_ast", name = {json.dumps(name)}, base = {json.dumps(base)})]', - depth, - ) - self.emit(f"struct {struct_name};", depth) - self.emit("#[pyclass(flags(HAS_DICT, BASETYPE))]", depth) - self.emit(f"impl {struct_name} {{", depth) - self.emit("#[extend_class]", depth + 1) - self.emit( - "fn extend_class_with_fields(ctx: &Context, class: &'static Py) {", - depth + 1, - ) - fields = ",".join( - f"ctx.new_str(ascii!({json.dumps(f.name)})).into()" for f in fields - ) - self.emit( - f"class.set_attr(identifier!(ctx, _fields), ctx.new_tuple(vec![{fields}]).into());", - depth + 2, - ) - attrs = ",".join( - f"ctx.new_str(ascii!({json.dumps(attr.name)})).into()" for attr in attrs - ) - self.emit( - f"class.set_attr(identifier!(ctx, _attributes), ctx.new_list(vec![{attrs}]).into());", - depth + 2, - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - -class StdlibExtendModuleVisitor(EmitVisitor): - def visitModule(self, mod): - depth = 0 - self.emit( - "pub fn extend_module_nodes(vm: &VirtualMachine, module: &Py) {", - depth, - ) - self.emit("extend_module!(vm, module, {", depth + 1) - for dfn in mod.dfns: - self.visit(dfn, depth + 2) - self.emit("})", depth + 1) - self.emit("}", depth) - - def visitType(self, type, depth): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - rust_name = rust_type_name(name) - self.emit(f"{json.dumps(name)} => Node{rust_name}::make_class(&vm.ctx),", depth) - for cons in sum.types: - self.visit(cons, depth, rust_name) - - def visitConstructor(self, cons, depth, rust_name): - self.gen_extension(cons.name, depth, rust_name) - - def visitProduct(self, product, name, depth): - self.gen_extension(name, depth) - - def gen_extension(self, name, depth, base=""): - rust_name = rust_type_name(name) - self.emit( - f"{json.dumps(name)} => Node{base}{rust_name}::make_class(&vm.ctx),", depth - ) - - -class StdlibTraitImplVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - rust_name = info.full_type_name - - self.emit("// sum", depth) - self.emit(f"impl Node for ast::located::{rust_name} {{", depth) - self.emit( - "fn ast_to_object(self, vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - simple = is_simple(sum) - if simple: - self.emit("let node_type = match self {", depth + 2) - for cons in sum.types: - self.emit( - f"ast::located::{rust_name}::{cons.name} => Node{rust_name}{cons.name}::static_type(),", - depth, - ) - self.emit("};", depth + 3) - self.emit( - "NodeAst.into_ref_with_type(vm, node_type.to_owned()).unwrap().into()", - depth + 2, - ) - else: - self.emit("match self {", depth + 2) - for cons in sum.types: - self.emit( - f"ast::located::{rust_name}::{cons.name}(cons) => cons.ast_to_object(vm),", - depth + 3, - ) - self.emit("}", depth + 2) - - self.emit("}", depth + 1) - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - self.gen_sum_from_object(sum, name, rust_name, depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - if not is_simple(sum): - for cons in sum.types: - self.visit(cons, sum, rust_name, depth) - - def visitConstructor(self, cons, sum, sum_rust_name, depth): - rust_name = rust_type_name(cons.name) - self.emit("// constructor", depth) - self.emit(f"impl Node for ast::located::{sum_rust_name}{rust_name} {{", depth) - - fields_pattern = self.make_pattern(cons.fields) - - self.emit( - "fn ast_to_object(self, _vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - self.emit( - f"let ast::located::{sum_rust_name}{rust_name} {{ {fields_pattern} }} = self;", - depth, - ) - self.make_node(cons.name, sum, cons.fields, depth + 2, sum_rust_name) - - self.emit("}", depth + 1) - - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - - self.gen_product_from_object( - cons, cons.name, f"{sum_rust_name}{rust_name}", sum.attributes, depth + 2 - ) - self.emit("}", depth + 1) - - self.emit("}", depth + 1) - - def visitProduct(self, product, name, depth): - info = self.type_info[name] - struct_name = info.full_type_name - - self.emit("// product", depth) - self.emit(f"impl Node for ast::located::{struct_name} {{", depth) - self.emit( - "fn ast_to_object(self, _vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - fields_pattern = self.make_pattern(product.fields) - self.emit( - f"let ast::located::{struct_name} {{ {fields_pattern} }} = self;", - depth + 2, - ) - self.make_node(name, product, product.fields, depth + 2) - self.emit("}", depth + 1) - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - self.gen_product_from_object( - product, name, struct_name, product.attributes, depth + 2 - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - def make_node(self, variant, owner, fields, depth, base=""): - rust_variant = rust_type_name(variant) - self.emit( - f"let node = NodeAst.into_ref_with_type(_vm, Node{base}{rust_variant}::static_type().to_owned()).unwrap();", - depth, - ) - if fields or owner.attributes: - self.emit("let dict = node.as_object().dict().unwrap();", depth) - for f in fields: - self.emit( - f"dict.set_item({json.dumps(f.name)}, {rust_field(f.name)}.ast_to_object(_vm), _vm).unwrap();", - depth, - ) - if owner.attributes: - self.emit("node_add_location(&dict, _range, _vm);", depth) - self.emit("node.into()", depth) - - def make_pattern(self, fields): - return "".join(f"{rust_field(f.name)}," for f in fields) + "range: _range" - - def gen_sum_from_object(self, sum, sum_name, rust_name, depth): - # if sum.attributes: - # self.extract_location(sum_name, depth) - - self.emit("let _cls = _object.class();", depth) - self.emit("Ok(", depth) - for cons in sum.types: - self.emit( - f"if _cls.is(Node{rust_name}{cons.name}::static_type()) {{", depth - ) - self.emit(f"ast::located::{rust_name}::{cons.name}", depth + 1) - if not is_simple(sum): - self.emit( - f"(ast::located::{rust_name}{cons.name}::ast_from_object(_vm, _object)?)", - depth + 1, - ) - self.emit("} else", depth) - - self.emit("{", depth) - msg = f'format!("expected some sort of {sum_name}, but got {{}}",_object.repr(_vm)?)' - self.emit(f"return Err(_vm.new_type_error({msg}));", depth + 1) - self.emit("})", depth) - - def gen_product_from_object( - self, product, product_name, struct_name, has_attributes, depth - ): - self.emit("Ok(", depth) - self.gen_construction( - struct_name, product, product_name, has_attributes, depth + 1 - ) - self.emit(")", depth) - - def gen_construction_fields(self, cons, name, depth): - for field in cons.fields: - self.emit( - f"{rust_field(field.name)}: {self.decode_field(field, name)},", - depth + 1, - ) - - def gen_construction(self, cons_path, cons, name, attributes, depth): - self.emit(f"ast::located::{cons_path} {{", depth) - self.gen_construction_fields(cons, name, depth + 1) - if attributes: - self.emit(f'range: range_from_object(_vm, _object, "{name}")?,', depth + 1) - else: - self.emit("range: Default::default(),", depth + 1) - self.emit("}", depth) - - def extract_location(self, typename, depth): - row = self.decode_field(asdl.Field("int", "lineno"), typename) - column = self.decode_field(asdl.Field("int", "col_offset"), typename) - self.emit( - f""" - let _location = {{ - let row = {row}; - let column = {column}; - try_location(row, column) - }}; - """, - depth, - ) - - def decode_field(self, field, typename): - name = json.dumps(field.name) - if field.opt and not field.seq: - return f"get_node_field_opt(_vm, &_object, {name})?.map(|obj| Node::ast_from_object(_vm, obj)).transpose()?" - else: - return f"Node::ast_from_object(_vm, get_node_field(_vm, &_object, {name}, {json.dumps(typename)})?)?" - - -class ChainOfVisitors: - def __init__(self, *visitors): - self.visitors = visitors - - def visit(self, object): - for v in self.visitors: - v.visit(object) - v.emit("", 0) - - -def write_ast_def(mod, type_info, f): - f.write("use crate::text_size::TextRange;") - StructVisitor(f, type_info).visit(mod) - - -def write_fold_def(mod, type_info, f): - FoldModuleVisitor(f, type_info).visit(mod) - - -def write_visitor_def(mod, type_info, f): - VisitorModuleVisitor(f, type_info).visit(mod) - - -def write_ranged_def(mod, type_info, f): - RangedDefVisitor(f, type_info).visit(mod) - - -def write_located_def(mod, type_info, f): - LocatedDefVisitor(f, type_info).visit(mod) - - -def write_pyo3_node(type_info, f): - def write(info: TypeInfo, rust_name: str): - if info.is_simple: - generics = "" - else: - generics = "" - - f.write( - f""" - impl{generics} PyNode for ast::{rust_name}{generics} {{ - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> {{ - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - }} - }} - """, - ) - - for type_name, info in type_info.items(): - rust_name = info.full_type_name - if info.is_custom: - if type_name != info.type.name: - rust_name = "Python" + rust_name - else: - continue - write(info, rust_name) - - -def write_to_pyo3(mod, type_info, f): - write_pyo3_node(type_info, f) - write_to_pyo3_simple(type_info, f) - - for namespace in ("ranged", "located"): - ToPyo3AstVisitor(namespace, f, type_info).visit(mod) - - f.write( - """ - fn init_types(py: Python) -> PyResult<()> { - let ast_module = PyModule::import(py, "_ast")?; - """ - ) - - for info in type_info.values(): - if info.is_custom: - continue - rust_name = info.full_type_name - f.write(f"cache_py_type::(ast_module)?;\n") - f.write("Ok(())\n}") - - -def write_to_pyo3_simple(type_info, f): - for type_info in type_info.values(): - if not type_info.is_sum: - continue - if not type_info.is_simple: - continue - - rust_name = type_info.full_type_name - f.write( - f""" - impl ToPyAst for ast::{rust_name} {{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> {{ - let cell = match &self {{ - """, - ) - for cons in type_info.type.value.types: - f.write( - f"""ast::{rust_name}::{cons.name} => ast::{rust_name}{cons.name}::py_type_cache(),""", - ) - f.write( - """ - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } - } - """, - ) - - -def write_pyo3_wrapper(mod, type_info, namespace, f): - Pyo3StructVisitor(namespace, f, type_info).visit(mod) - - if namespace == "located": - for info in type_info.values(): - if not info.is_simple or not info.is_sum: - continue - - rust_name = info.full_type_name - inner_name = type_info[info.custom.name].full_type_name - f.write( - f""" - impl ToPyWrapper for ast::{inner_name} {{ - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> {{ - match &self {{ - """, - ) - for cons in info.type.value.types: - f.write( - f"Self::{cons.name} => Ok({rust_name}{cons.name}.to_object(py)),", - ) - f.write( - """ - } - } - } - """, - ) - - for cons in info.type.value.types: - f.write( - f""" - impl ToPyWrapper for ast::{rust_name}{cons.name} {{ - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> {{ - Ok({rust_name}{cons.name}.to_object(py)) - }} - }} - """ - ) - - f.write( - """ - pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - """ - ) - - Pyo3PymoduleVisitor(namespace, f, type_info).visit(mod) - f.write("Ok(())\n}") - - -def write_parse_def(mod, type_info, f): - for info in type_info.values(): - if info.enum_name not in ["expr", "stmt"]: - continue - - type_name = rust_type_name(info.enum_name) - cons_name = rust_type_name(info.name) - - f.write(f""" - impl Parse for ast::{info.full_type_name} {{ - fn lex_starts_at( - source: &str, - offset: TextSize, - ) -> SoftKeywordTransformer> {{ - ast::{type_name}::lex_starts_at(source, offset) - }} - fn parse_tokens( - lxr: impl IntoIterator, - source_path: &str, - ) -> Result {{ - let node = ast::{type_name}::parse_tokens(lxr, source_path)?; - match node {{ - ast::{type_name}::{cons_name}(node) => Ok(node), - node => Err(ParseError {{ - error: ParseErrorType::InvalidToken, - offset: node.range().start(), - source_path: source_path.to_owned(), - }}), - }} - }} - }} - """) - - -def write_ast_mod(mod, type_info, f): - f.write( - """ - #![allow(clippy::all)] - - use super::*; - use crate::common::ascii; - """ - ) - - c = ChainOfVisitors( - StdlibClassDefVisitor(f, type_info), - StdlibTraitImplVisitor(f, type_info), - StdlibExtendModuleVisitor(f, type_info), - ) - c.visit(mod) - - -def main( - input_filename, - ast_dir, - parser_dir, - ast_pyo3_dir, - module_filename, - dump_module=False, -): - auto_gen_msg = AUTO_GEN_MESSAGE.format("/".join(Path(__file__).parts[-2:])) - mod = asdl.parse(input_filename) - if dump_module: - print("Parsed Module:") - print(mod) - if not asdl.check(mod): - sys.exit(1) - - type_info = {} - FindUserDataTypesVisitor(type_info).visit(mod) - - from functools import partial as p + from functools import partial as p for filename, write in [ ("generic", p(write_ast_def, mod, type_info)), - ("fold", p(write_fold_def, mod, type_info)), ("ranged", p(write_ranged_def, mod, type_info)), - ("located", p(write_located_def, mod, type_info)), - ("visitor", p(write_visitor_def, mod, type_info)), ]: with (ast_dir / f"{filename}.rs").open("w") as f: f.write(auto_gen_msg) @@ -2195,21 +812,7 @@ def main( f.write(auto_gen_msg) write(f) - - for filename, write in [ - ("to_py_ast", p(write_to_pyo3, mod, type_info)), - ("wrapper_located", p(write_pyo3_wrapper, mod, type_info, "located")), - ("wrapper_ranged", p(write_pyo3_wrapper, mod, type_info, "ranged")), - ]: - with (ast_pyo3_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - with module_filename.open("w") as module_file: - module_file.write(auto_gen_msg) - write_ast_mod(mod, type_info, module_file) - - print(f"{ast_dir}, {module_filename} regenerated.") + print(f"{ast_dir} regenerated.") if __name__ == "__main__": @@ -2217,8 +820,6 @@ def main( parser.add_argument("input_file", type=Path) parser.add_argument("-A", "--ast-dir", type=Path, required=True) parser.add_argument("-P", "--parser-dir", type=Path, required=True) - parser.add_argument("-O", "--ast-pyo3-dir", type=Path, required=True) - parser.add_argument("-M", "--module-file", type=Path, required=True) parser.add_argument("-d", "--dump-module", action="store_true") args = parser.parse_args() @@ -2226,7 +827,5 @@ def main( args.input_file, args.ast_dir, args.parser_dir, - args.ast_pyo3_dir, - args.module_file, args.dump_module, ) diff --git a/ast/src/fold.rs b/ast/src/fold.rs deleted file mode 100644 index ccbcc7bc..00000000 --- a/ast/src/fold.rs +++ /dev/null @@ -1,76 +0,0 @@ -use super::generic::*; - -use crate::{builtin, ConversionFlag}; - -pub trait Foldable { - type Mapped; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result; -} - -impl Foldable for Vec -where - X: Foldable, -{ - type Mapped = Vec; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - self.into_iter().map(|x| x.fold(folder)).collect() - } -} - -impl Foldable for Option -where - X: Foldable, -{ - type Mapped = Option; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - self.map(|x| x.fold(folder)).transpose() - } -} - -impl Foldable for Box -where - X: Foldable, -{ - type Mapped = Box; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - (*self).fold(folder).map(Box::new) - } -} - -macro_rules! simple_fold { - ($($t:ty),+$(,)?) => { - $(impl $crate::fold::Foldable for $t { - type Mapped = Self; - #[inline] - fn fold + ?Sized>( - self, - _folder: &mut F, - ) -> Result { - Ok(self) - } - })+ - }; -} - -simple_fold!( - builtin::Int, - builtin::String, - builtin::Identifier, - bool, - ConversionFlag, - builtin::Constant -); - -include!("gen/fold.rs"); diff --git a/ast/src/gen/fold.rs b/ast/src/gen/fold.rs deleted file mode 100644 index 08e64594..00000000 --- a/ast/src/gen/fold.rs +++ /dev/null @@ -1,2846 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -pub trait Fold { - type TargetU; - type Error; - type UserContext; - - fn will_map_user(&mut self, user: &U) -> Self::UserContext; - #[cfg(feature = "all-nodes-with-ranges")] - fn will_map_user_cfg(&mut self, user: &U) -> Self::UserContext { - self.will_map_user(user) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn will_map_user_cfg( - &mut self, - _user: &crate::EmptyRange, - ) -> crate::EmptyRange { - crate::EmptyRange::default() - } - fn map_user( - &mut self, - user: U, - context: Self::UserContext, - ) -> Result; - #[cfg(feature = "all-nodes-with-ranges")] - fn map_user_cfg( - &mut self, - user: U, - context: Self::UserContext, - ) -> Result { - self.map_user(user, context) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn map_user_cfg( - &mut self, - _user: crate::EmptyRange, - _context: crate::EmptyRange, - ) -> Result, Self::Error> { - Ok(crate::EmptyRange::default()) - } - - fn fold>(&mut self, node: X) -> Result { - node.fold(self) - } - fn fold_mod(&mut self, node: Mod) -> Result, Self::Error> { - fold_mod(self, node) - } - fn fold_mod_module( - &mut self, - node: ModModule, - ) -> Result, Self::Error> { - fold_mod_module(self, node) - } - fn fold_mod_interactive( - &mut self, - node: ModInteractive, - ) -> Result, Self::Error> { - fold_mod_interactive(self, node) - } - fn fold_mod_expression( - &mut self, - node: ModExpression, - ) -> Result, Self::Error> { - fold_mod_expression(self, node) - } - fn fold_mod_function_type( - &mut self, - node: ModFunctionType, - ) -> Result, Self::Error> { - fold_mod_function_type(self, node) - } - fn fold_stmt(&mut self, node: Stmt) -> Result, Self::Error> { - fold_stmt(self, node) - } - fn fold_stmt_function_def( - &mut self, - node: StmtFunctionDef, - ) -> Result, Self::Error> { - fold_stmt_function_def(self, node) - } - fn fold_stmt_async_function_def( - &mut self, - node: StmtAsyncFunctionDef, - ) -> Result, Self::Error> { - fold_stmt_async_function_def(self, node) - } - fn fold_stmt_class_def( - &mut self, - node: StmtClassDef, - ) -> Result, Self::Error> { - fold_stmt_class_def(self, node) - } - fn fold_stmt_return( - &mut self, - node: StmtReturn, - ) -> Result, Self::Error> { - fold_stmt_return(self, node) - } - fn fold_stmt_delete( - &mut self, - node: StmtDelete, - ) -> Result, Self::Error> { - fold_stmt_delete(self, node) - } - fn fold_stmt_assign( - &mut self, - node: StmtAssign, - ) -> Result, Self::Error> { - fold_stmt_assign(self, node) - } - fn fold_stmt_aug_assign( - &mut self, - node: StmtAugAssign, - ) -> Result, Self::Error> { - fold_stmt_aug_assign(self, node) - } - fn fold_stmt_ann_assign( - &mut self, - node: StmtAnnAssign, - ) -> Result, Self::Error> { - fold_stmt_ann_assign(self, node) - } - fn fold_stmt_for(&mut self, node: StmtFor) -> Result, Self::Error> { - fold_stmt_for(self, node) - } - fn fold_stmt_async_for( - &mut self, - node: StmtAsyncFor, - ) -> Result, Self::Error> { - fold_stmt_async_for(self, node) - } - fn fold_stmt_while( - &mut self, - node: StmtWhile, - ) -> Result, Self::Error> { - fold_stmt_while(self, node) - } - fn fold_stmt_if(&mut self, node: StmtIf) -> Result, Self::Error> { - fold_stmt_if(self, node) - } - fn fold_stmt_with( - &mut self, - node: StmtWith, - ) -> Result, Self::Error> { - fold_stmt_with(self, node) - } - fn fold_stmt_async_with( - &mut self, - node: StmtAsyncWith, - ) -> Result, Self::Error> { - fold_stmt_async_with(self, node) - } - fn fold_stmt_match( - &mut self, - node: StmtMatch, - ) -> Result, Self::Error> { - fold_stmt_match(self, node) - } - fn fold_stmt_raise( - &mut self, - node: StmtRaise, - ) -> Result, Self::Error> { - fold_stmt_raise(self, node) - } - fn fold_stmt_try(&mut self, node: StmtTry) -> Result, Self::Error> { - fold_stmt_try(self, node) - } - fn fold_stmt_try_star( - &mut self, - node: StmtTryStar, - ) -> Result, Self::Error> { - fold_stmt_try_star(self, node) - } - fn fold_stmt_assert( - &mut self, - node: StmtAssert, - ) -> Result, Self::Error> { - fold_stmt_assert(self, node) - } - fn fold_stmt_import( - &mut self, - node: StmtImport, - ) -> Result, Self::Error> { - fold_stmt_import(self, node) - } - fn fold_stmt_import_from( - &mut self, - node: StmtImportFrom, - ) -> Result, Self::Error> { - fold_stmt_import_from(self, node) - } - fn fold_stmt_global( - &mut self, - node: StmtGlobal, - ) -> Result, Self::Error> { - fold_stmt_global(self, node) - } - fn fold_stmt_nonlocal( - &mut self, - node: StmtNonlocal, - ) -> Result, Self::Error> { - fold_stmt_nonlocal(self, node) - } - fn fold_stmt_expr( - &mut self, - node: StmtExpr, - ) -> Result, Self::Error> { - fold_stmt_expr(self, node) - } - fn fold_stmt_pass( - &mut self, - node: StmtPass, - ) -> Result, Self::Error> { - fold_stmt_pass(self, node) - } - fn fold_stmt_break( - &mut self, - node: StmtBreak, - ) -> Result, Self::Error> { - fold_stmt_break(self, node) - } - fn fold_stmt_continue( - &mut self, - node: StmtContinue, - ) -> Result, Self::Error> { - fold_stmt_continue(self, node) - } - fn fold_expr(&mut self, node: Expr) -> Result, Self::Error> { - fold_expr(self, node) - } - fn fold_expr_bool_op( - &mut self, - node: ExprBoolOp, - ) -> Result, Self::Error> { - fold_expr_bool_op(self, node) - } - fn fold_expr_named_expr( - &mut self, - node: ExprNamedExpr, - ) -> Result, Self::Error> { - fold_expr_named_expr(self, node) - } - fn fold_expr_bin_op( - &mut self, - node: ExprBinOp, - ) -> Result, Self::Error> { - fold_expr_bin_op(self, node) - } - fn fold_expr_unary_op( - &mut self, - node: ExprUnaryOp, - ) -> Result, Self::Error> { - fold_expr_unary_op(self, node) - } - fn fold_expr_lambda( - &mut self, - node: ExprLambda, - ) -> Result, Self::Error> { - fold_expr_lambda(self, node) - } - fn fold_expr_if_exp( - &mut self, - node: ExprIfExp, - ) -> Result, Self::Error> { - fold_expr_if_exp(self, node) - } - fn fold_expr_dict( - &mut self, - node: ExprDict, - ) -> Result, Self::Error> { - fold_expr_dict(self, node) - } - fn fold_expr_set(&mut self, node: ExprSet) -> Result, Self::Error> { - fold_expr_set(self, node) - } - fn fold_expr_list_comp( - &mut self, - node: ExprListComp, - ) -> Result, Self::Error> { - fold_expr_list_comp(self, node) - } - fn fold_expr_set_comp( - &mut self, - node: ExprSetComp, - ) -> Result, Self::Error> { - fold_expr_set_comp(self, node) - } - fn fold_expr_dict_comp( - &mut self, - node: ExprDictComp, - ) -> Result, Self::Error> { - fold_expr_dict_comp(self, node) - } - fn fold_expr_generator_exp( - &mut self, - node: ExprGeneratorExp, - ) -> Result, Self::Error> { - fold_expr_generator_exp(self, node) - } - fn fold_expr_await( - &mut self, - node: ExprAwait, - ) -> Result, Self::Error> { - fold_expr_await(self, node) - } - fn fold_expr_yield( - &mut self, - node: ExprYield, - ) -> Result, Self::Error> { - fold_expr_yield(self, node) - } - fn fold_expr_yield_from( - &mut self, - node: ExprYieldFrom, - ) -> Result, Self::Error> { - fold_expr_yield_from(self, node) - } - fn fold_expr_compare( - &mut self, - node: ExprCompare, - ) -> Result, Self::Error> { - fold_expr_compare(self, node) - } - fn fold_expr_call( - &mut self, - node: ExprCall, - ) -> Result, Self::Error> { - fold_expr_call(self, node) - } - fn fold_expr_formatted_value( - &mut self, - node: ExprFormattedValue, - ) -> Result, Self::Error> { - fold_expr_formatted_value(self, node) - } - fn fold_expr_joined_str( - &mut self, - node: ExprJoinedStr, - ) -> Result, Self::Error> { - fold_expr_joined_str(self, node) - } - fn fold_expr_constant( - &mut self, - node: ExprConstant, - ) -> Result, Self::Error> { - fold_expr_constant(self, node) - } - fn fold_expr_attribute( - &mut self, - node: ExprAttribute, - ) -> Result, Self::Error> { - fold_expr_attribute(self, node) - } - fn fold_expr_subscript( - &mut self, - node: ExprSubscript, - ) -> Result, Self::Error> { - fold_expr_subscript(self, node) - } - fn fold_expr_starred( - &mut self, - node: ExprStarred, - ) -> Result, Self::Error> { - fold_expr_starred(self, node) - } - fn fold_expr_name( - &mut self, - node: ExprName, - ) -> Result, Self::Error> { - fold_expr_name(self, node) - } - fn fold_expr_list( - &mut self, - node: ExprList, - ) -> Result, Self::Error> { - fold_expr_list(self, node) - } - fn fold_expr_tuple( - &mut self, - node: ExprTuple, - ) -> Result, Self::Error> { - fold_expr_tuple(self, node) - } - fn fold_expr_slice( - &mut self, - node: ExprSlice, - ) -> Result, Self::Error> { - fold_expr_slice(self, node) - } - fn fold_expr_context(&mut self, node: ExprContext) -> Result { - fold_expr_context(self, node) - } - fn fold_boolop(&mut self, node: BoolOp) -> Result { - fold_boolop(self, node) - } - fn fold_operator(&mut self, node: Operator) -> Result { - fold_operator(self, node) - } - fn fold_unaryop(&mut self, node: UnaryOp) -> Result { - fold_unaryop(self, node) - } - fn fold_cmpop(&mut self, node: CmpOp) -> Result { - fold_cmpop(self, node) - } - fn fold_comprehension( - &mut self, - node: Comprehension, - ) -> Result, Self::Error> { - fold_comprehension(self, node) - } - fn fold_excepthandler( - &mut self, - node: ExceptHandler, - ) -> Result, Self::Error> { - fold_excepthandler(self, node) - } - fn fold_excepthandler_except_handler( - &mut self, - node: ExceptHandlerExceptHandler, - ) -> Result, Self::Error> { - fold_excepthandler_except_handler(self, node) - } - fn fold_arguments( - &mut self, - node: Arguments, - ) -> Result, Self::Error> { - fold_arguments(self, node) - } - fn fold_arg(&mut self, node: Arg) -> Result, Self::Error> { - fold_arg(self, node) - } - fn fold_keyword(&mut self, node: Keyword) -> Result, Self::Error> { - fold_keyword(self, node) - } - fn fold_alias(&mut self, node: Alias) -> Result, Self::Error> { - fold_alias(self, node) - } - fn fold_withitem(&mut self, node: WithItem) -> Result, Self::Error> { - fold_withitem(self, node) - } - fn fold_match_case( - &mut self, - node: MatchCase, - ) -> Result, Self::Error> { - fold_match_case(self, node) - } - fn fold_pattern(&mut self, node: Pattern) -> Result, Self::Error> { - fold_pattern(self, node) - } - fn fold_pattern_match_value( - &mut self, - node: PatternMatchValue, - ) -> Result, Self::Error> { - fold_pattern_match_value(self, node) - } - fn fold_pattern_match_singleton( - &mut self, - node: PatternMatchSingleton, - ) -> Result, Self::Error> { - fold_pattern_match_singleton(self, node) - } - fn fold_pattern_match_sequence( - &mut self, - node: PatternMatchSequence, - ) -> Result, Self::Error> { - fold_pattern_match_sequence(self, node) - } - fn fold_pattern_match_mapping( - &mut self, - node: PatternMatchMapping, - ) -> Result, Self::Error> { - fold_pattern_match_mapping(self, node) - } - fn fold_pattern_match_class( - &mut self, - node: PatternMatchClass, - ) -> Result, Self::Error> { - fold_pattern_match_class(self, node) - } - fn fold_pattern_match_star( - &mut self, - node: PatternMatchStar, - ) -> Result, Self::Error> { - fold_pattern_match_star(self, node) - } - fn fold_pattern_match_as( - &mut self, - node: PatternMatchAs, - ) -> Result, Self::Error> { - fold_pattern_match_as(self, node) - } - fn fold_pattern_match_or( - &mut self, - node: PatternMatchOr, - ) -> Result, Self::Error> { - fold_pattern_match_or(self, node) - } - fn fold_type_ignore( - &mut self, - node: TypeIgnore, - ) -> Result, Self::Error> { - fold_type_ignore(self, node) - } - fn fold_type_ignore_type_ignore( - &mut self, - node: TypeIgnoreTypeIgnore, - ) -> Result, Self::Error> { - fold_type_ignore_type_ignore(self, node) - } - fn fold_decorator( - &mut self, - node: Decorator, - ) -> Result, Self::Error> { - fold_decorator(self, node) - } - fn fold_arg_with_default( - &mut self, - node: ArgWithDefault, - ) -> Result, Self::Error> { - fold_arg_with_default(self, node) - } -} -impl Foldable for Mod { - type Mapped = Mod; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod(self) - } -} -pub fn fold_mod + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Mod, -) -> Result, F::Error> { - let folded = match node { - Mod::Module(cons) => Mod::Module(Foldable::fold(cons, folder)?), - Mod::Interactive(cons) => Mod::Interactive(Foldable::fold(cons, folder)?), - Mod::Expression(cons) => Mod::Expression(Foldable::fold(cons, folder)?), - Mod::FunctionType(cons) => Mod::FunctionType(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for ModModule { - type Mapped = ModModule; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_module(self) - } -} -pub fn fold_mod_module + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModModule, -) -> Result, F::Error> { - let ModModule { - body, - type_ignores, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let type_ignores = Foldable::fold(type_ignores, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModModule { - body, - type_ignores, - range, - }) -} -impl Foldable for ModInteractive { - type Mapped = ModInteractive; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_interactive(self) - } -} -pub fn fold_mod_interactive + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModInteractive, -) -> Result, F::Error> { - let ModInteractive { body, range } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModInteractive { body, range }) -} -impl Foldable for ModExpression { - type Mapped = ModExpression; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_expression(self) - } -} -pub fn fold_mod_expression + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModExpression, -) -> Result, F::Error> { - let ModExpression { body, range } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModExpression { body, range }) -} -impl Foldable for ModFunctionType { - type Mapped = ModFunctionType; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_function_type(self) - } -} -pub fn fold_mod_function_type + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModFunctionType, -) -> Result, F::Error> { - let ModFunctionType { - argtypes, - returns, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - - let argtypes = Foldable::fold(argtypes, folder)?; - let returns = Foldable::fold(returns, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModFunctionType { - argtypes, - returns, - range, - }) -} -impl Foldable for Stmt { - type Mapped = Stmt; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt(self) - } -} -pub fn fold_stmt + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Stmt, -) -> Result, F::Error> { - let folded = match node { - Stmt::FunctionDef(cons) => Stmt::FunctionDef(Foldable::fold(cons, folder)?), - Stmt::AsyncFunctionDef(cons) => Stmt::AsyncFunctionDef(Foldable::fold(cons, folder)?), - Stmt::ClassDef(cons) => Stmt::ClassDef(Foldable::fold(cons, folder)?), - Stmt::Return(cons) => Stmt::Return(Foldable::fold(cons, folder)?), - Stmt::Delete(cons) => Stmt::Delete(Foldable::fold(cons, folder)?), - Stmt::Assign(cons) => Stmt::Assign(Foldable::fold(cons, folder)?), - Stmt::AugAssign(cons) => Stmt::AugAssign(Foldable::fold(cons, folder)?), - Stmt::AnnAssign(cons) => Stmt::AnnAssign(Foldable::fold(cons, folder)?), - Stmt::For(cons) => Stmt::For(Foldable::fold(cons, folder)?), - Stmt::AsyncFor(cons) => Stmt::AsyncFor(Foldable::fold(cons, folder)?), - Stmt::While(cons) => Stmt::While(Foldable::fold(cons, folder)?), - Stmt::If(cons) => Stmt::If(Foldable::fold(cons, folder)?), - Stmt::With(cons) => Stmt::With(Foldable::fold(cons, folder)?), - Stmt::AsyncWith(cons) => Stmt::AsyncWith(Foldable::fold(cons, folder)?), - Stmt::Match(cons) => Stmt::Match(Foldable::fold(cons, folder)?), - Stmt::Raise(cons) => Stmt::Raise(Foldable::fold(cons, folder)?), - Stmt::Try(cons) => Stmt::Try(Foldable::fold(cons, folder)?), - Stmt::TryStar(cons) => Stmt::TryStar(Foldable::fold(cons, folder)?), - Stmt::Assert(cons) => Stmt::Assert(Foldable::fold(cons, folder)?), - Stmt::Import(cons) => Stmt::Import(Foldable::fold(cons, folder)?), - Stmt::ImportFrom(cons) => Stmt::ImportFrom(Foldable::fold(cons, folder)?), - Stmt::Global(cons) => Stmt::Global(Foldable::fold(cons, folder)?), - Stmt::Nonlocal(cons) => Stmt::Nonlocal(Foldable::fold(cons, folder)?), - Stmt::Expr(cons) => Stmt::Expr(Foldable::fold(cons, folder)?), - Stmt::Pass(cons) => Stmt::Pass(Foldable::fold(cons, folder)?), - Stmt::Break(cons) => Stmt::Break(Foldable::fold(cons, folder)?), - Stmt::Continue(cons) => Stmt::Continue(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for StmtFunctionDef { - type Mapped = StmtFunctionDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_function_def(self) - } -} -pub fn fold_stmt_function_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtFunctionDef, -) -> Result, F::Error> { - let StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let returns = Foldable::fold(returns, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncFunctionDef { - type Mapped = StmtAsyncFunctionDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_function_def(self) - } -} -pub fn fold_stmt_async_function_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncFunctionDef, -) -> Result, F::Error> { - let StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let returns = Foldable::fold(returns, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) -} -impl Foldable for StmtClassDef { - type Mapped = StmtClassDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_class_def(self) - } -} -pub fn fold_stmt_class_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtClassDef, -) -> Result, F::Error> { - let StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let bases = Foldable::fold(bases, folder)?; - let keywords = Foldable::fold(keywords, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - }) -} -impl Foldable for StmtReturn { - type Mapped = StmtReturn; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_return(self) - } -} -pub fn fold_stmt_return + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtReturn, -) -> Result, F::Error> { - let StmtReturn { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtReturn { value, range }) -} -impl Foldable for StmtDelete { - type Mapped = StmtDelete; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_delete(self) - } -} -pub fn fold_stmt_delete + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtDelete, -) -> Result, F::Error> { - let StmtDelete { targets, range } = node; - let context = folder.will_map_user(&range); - - let targets = Foldable::fold(targets, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtDelete { targets, range }) -} -impl Foldable for StmtAssign { - type Mapped = StmtAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_assign(self) - } -} -pub fn fold_stmt_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAssign, -) -> Result, F::Error> { - let StmtAssign { - targets, - value, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let targets = Foldable::fold(targets, folder)?; - let value = Foldable::fold(value, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAssign { - targets, - value, - type_comment, - range, - }) -} -impl Foldable for StmtAugAssign { - type Mapped = StmtAugAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_aug_assign(self) - } -} -pub fn fold_stmt_aug_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAugAssign, -) -> Result, F::Error> { - let StmtAugAssign { - target, - op, - value, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let op = Foldable::fold(op, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAugAssign { - target, - op, - value, - range, - }) -} -impl Foldable for StmtAnnAssign { - type Mapped = StmtAnnAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_ann_assign(self) - } -} -pub fn fold_stmt_ann_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAnnAssign, -) -> Result, F::Error> { - let StmtAnnAssign { - target, - annotation, - value, - simple, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let annotation = Foldable::fold(annotation, folder)?; - let value = Foldable::fold(value, folder)?; - let simple = Foldable::fold(simple, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAnnAssign { - target, - annotation, - value, - simple, - range, - }) -} -impl Foldable for StmtFor { - type Mapped = StmtFor; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_for(self) - } -} -pub fn fold_stmt_for + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtFor, -) -> Result, F::Error> { - let StmtFor { - target, - iter, - body, - orelse, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtFor { - target, - iter, - body, - orelse, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncFor { - type Mapped = StmtAsyncFor; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_for(self) - } -} -pub fn fold_stmt_async_for + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncFor, -) -> Result, F::Error> { - let StmtAsyncFor { - target, - iter, - body, - orelse, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncFor { - target, - iter, - body, - orelse, - type_comment, - range, - }) -} -impl Foldable for StmtWhile { - type Mapped = StmtWhile; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_while(self) - } -} -pub fn fold_stmt_while + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtWhile, -) -> Result, F::Error> { - let StmtWhile { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtWhile { - test, - body, - orelse, - range, - }) -} -impl Foldable for StmtIf { - type Mapped = StmtIf; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_if(self) - } -} -pub fn fold_stmt_if + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtIf, -) -> Result, F::Error> { - let StmtIf { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtIf { - test, - body, - orelse, - range, - }) -} -impl Foldable for StmtWith { - type Mapped = StmtWith; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_with(self) - } -} -pub fn fold_stmt_with + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtWith, -) -> Result, F::Error> { - let StmtWith { - items, - body, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let items = Foldable::fold(items, folder)?; - let body = Foldable::fold(body, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtWith { - items, - body, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncWith { - type Mapped = StmtAsyncWith; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_with(self) - } -} -pub fn fold_stmt_async_with + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncWith, -) -> Result, F::Error> { - let StmtAsyncWith { - items, - body, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let items = Foldable::fold(items, folder)?; - let body = Foldable::fold(body, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncWith { - items, - body, - type_comment, - range, - }) -} -impl Foldable for StmtMatch { - type Mapped = StmtMatch; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_match(self) - } -} -pub fn fold_stmt_match + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtMatch, -) -> Result, F::Error> { - let StmtMatch { - subject, - cases, - range, - } = node; - let context = folder.will_map_user(&range); - - let subject = Foldable::fold(subject, folder)?; - let cases = Foldable::fold(cases, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtMatch { - subject, - cases, - range, - }) -} -impl Foldable for StmtRaise { - type Mapped = StmtRaise; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_raise(self) - } -} -pub fn fold_stmt_raise + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtRaise, -) -> Result, F::Error> { - let StmtRaise { exc, cause, range } = node; - let context = folder.will_map_user(&range); - - let exc = Foldable::fold(exc, folder)?; - let cause = Foldable::fold(cause, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtRaise { exc, cause, range }) -} -impl Foldable for StmtTry { - type Mapped = StmtTry; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_try(self) - } -} -pub fn fold_stmt_try + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtTry, -) -> Result, F::Error> { - let StmtTry { - body, - handlers, - orelse, - finalbody, - range, - } = node; - let context = folder.will_map_user(&range); - - let body = Foldable::fold(body, folder)?; - let handlers = Foldable::fold(handlers, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let finalbody = Foldable::fold(finalbody, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtTry { - body, - handlers, - orelse, - finalbody, - range, - }) -} -impl Foldable for StmtTryStar { - type Mapped = StmtTryStar; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_try_star(self) - } -} -pub fn fold_stmt_try_star + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtTryStar, -) -> Result, F::Error> { - let StmtTryStar { - body, - handlers, - orelse, - finalbody, - range, - } = node; - let context = folder.will_map_user(&range); - - let body = Foldable::fold(body, folder)?; - let handlers = Foldable::fold(handlers, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let finalbody = Foldable::fold(finalbody, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtTryStar { - body, - handlers, - orelse, - finalbody, - range, - }) -} -impl Foldable for StmtAssert { - type Mapped = StmtAssert; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_assert(self) - } -} -pub fn fold_stmt_assert + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAssert, -) -> Result, F::Error> { - let StmtAssert { test, msg, range } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let msg = Foldable::fold(msg, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAssert { test, msg, range }) -} -impl Foldable for StmtImport { - type Mapped = StmtImport; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_import(self) - } -} -pub fn fold_stmt_import + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtImport, -) -> Result, F::Error> { - let StmtImport { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtImport { names, range }) -} -impl Foldable for StmtImportFrom { - type Mapped = StmtImportFrom; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_import_from(self) - } -} -pub fn fold_stmt_import_from + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtImportFrom, -) -> Result, F::Error> { - let StmtImportFrom { - module, - names, - level, - range, - } = node; - let context = folder.will_map_user(&range); - - let module = Foldable::fold(module, folder)?; - let names = Foldable::fold(names, folder)?; - let level = Foldable::fold(level, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtImportFrom { - module, - names, - level, - range, - }) -} -impl Foldable for StmtGlobal { - type Mapped = StmtGlobal; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_global(self) - } -} -pub fn fold_stmt_global + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtGlobal, -) -> Result, F::Error> { - let StmtGlobal { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtGlobal { names, range }) -} -impl Foldable for StmtNonlocal { - type Mapped = StmtNonlocal; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_nonlocal(self) - } -} -pub fn fold_stmt_nonlocal + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtNonlocal, -) -> Result, F::Error> { - let StmtNonlocal { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtNonlocal { names, range }) -} -impl Foldable for StmtExpr { - type Mapped = StmtExpr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_expr(self) - } -} -pub fn fold_stmt_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtExpr, -) -> Result, F::Error> { - let StmtExpr { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtExpr { value, range }) -} -impl Foldable for StmtPass { - type Mapped = StmtPass; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_pass(self) - } -} -pub fn fold_stmt_pass + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtPass, -) -> Result, F::Error> { - let StmtPass { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtPass { range }) -} -impl Foldable for StmtBreak { - type Mapped = StmtBreak; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_break(self) - } -} -pub fn fold_stmt_break + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtBreak, -) -> Result, F::Error> { - let StmtBreak { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtBreak { range }) -} -impl Foldable for StmtContinue { - type Mapped = StmtContinue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_continue(self) - } -} -pub fn fold_stmt_continue + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtContinue, -) -> Result, F::Error> { - let StmtContinue { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtContinue { range }) -} -impl Foldable for Expr { - type Mapped = Expr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr(self) - } -} -pub fn fold_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Expr, -) -> Result, F::Error> { - let folded = match node { - Expr::BoolOp(cons) => Expr::BoolOp(Foldable::fold(cons, folder)?), - Expr::NamedExpr(cons) => Expr::NamedExpr(Foldable::fold(cons, folder)?), - Expr::BinOp(cons) => Expr::BinOp(Foldable::fold(cons, folder)?), - Expr::UnaryOp(cons) => Expr::UnaryOp(Foldable::fold(cons, folder)?), - Expr::Lambda(cons) => Expr::Lambda(Foldable::fold(cons, folder)?), - Expr::IfExp(cons) => Expr::IfExp(Foldable::fold(cons, folder)?), - Expr::Dict(cons) => Expr::Dict(Foldable::fold(cons, folder)?), - Expr::Set(cons) => Expr::Set(Foldable::fold(cons, folder)?), - Expr::ListComp(cons) => Expr::ListComp(Foldable::fold(cons, folder)?), - Expr::SetComp(cons) => Expr::SetComp(Foldable::fold(cons, folder)?), - Expr::DictComp(cons) => Expr::DictComp(Foldable::fold(cons, folder)?), - Expr::GeneratorExp(cons) => Expr::GeneratorExp(Foldable::fold(cons, folder)?), - Expr::Await(cons) => Expr::Await(Foldable::fold(cons, folder)?), - Expr::Yield(cons) => Expr::Yield(Foldable::fold(cons, folder)?), - Expr::YieldFrom(cons) => Expr::YieldFrom(Foldable::fold(cons, folder)?), - Expr::Compare(cons) => Expr::Compare(Foldable::fold(cons, folder)?), - Expr::Call(cons) => Expr::Call(Foldable::fold(cons, folder)?), - Expr::FormattedValue(cons) => Expr::FormattedValue(Foldable::fold(cons, folder)?), - Expr::JoinedStr(cons) => Expr::JoinedStr(Foldable::fold(cons, folder)?), - Expr::Constant(cons) => Expr::Constant(Foldable::fold(cons, folder)?), - Expr::Attribute(cons) => Expr::Attribute(Foldable::fold(cons, folder)?), - Expr::Subscript(cons) => Expr::Subscript(Foldable::fold(cons, folder)?), - Expr::Starred(cons) => Expr::Starred(Foldable::fold(cons, folder)?), - Expr::Name(cons) => Expr::Name(Foldable::fold(cons, folder)?), - Expr::List(cons) => Expr::List(Foldable::fold(cons, folder)?), - Expr::Tuple(cons) => Expr::Tuple(Foldable::fold(cons, folder)?), - Expr::Slice(cons) => Expr::Slice(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for ExprBoolOp { - type Mapped = ExprBoolOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_bool_op(self) - } -} -pub fn fold_expr_bool_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprBoolOp, -) -> Result, F::Error> { - let ExprBoolOp { op, values, range } = node; - let context = folder.will_map_user(&range); - - let op = Foldable::fold(op, folder)?; - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprBoolOp { op, values, range }) -} -impl Foldable for ExprNamedExpr { - type Mapped = ExprNamedExpr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_named_expr(self) - } -} -pub fn fold_expr_named_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprNamedExpr, -) -> Result, F::Error> { - let ExprNamedExpr { - target, - value, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprNamedExpr { - target, - value, - range, - }) -} -impl Foldable for ExprBinOp { - type Mapped = ExprBinOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_bin_op(self) - } -} -pub fn fold_expr_bin_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprBinOp, -) -> Result, F::Error> { - let ExprBinOp { - left, - op, - right, - range, - } = node; - let context = folder.will_map_user(&range); - - let left = Foldable::fold(left, folder)?; - let op = Foldable::fold(op, folder)?; - let right = Foldable::fold(right, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprBinOp { - left, - op, - right, - range, - }) -} -impl Foldable for ExprUnaryOp { - type Mapped = ExprUnaryOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_unary_op(self) - } -} -pub fn fold_expr_unary_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprUnaryOp, -) -> Result, F::Error> { - let ExprUnaryOp { op, operand, range } = node; - let context = folder.will_map_user(&range); - - let op = Foldable::fold(op, folder)?; - let operand = Foldable::fold(operand, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprUnaryOp { op, operand, range }) -} -impl Foldable for ExprLambda { - type Mapped = ExprLambda; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_lambda(self) - } -} -pub fn fold_expr_lambda + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprLambda, -) -> Result, F::Error> { - let ExprLambda { args, body, range } = node; - let context = folder.will_map_user(&range); - - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprLambda { args, body, range }) -} -impl Foldable for ExprIfExp { - type Mapped = ExprIfExp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_if_exp(self) - } -} -pub fn fold_expr_if_exp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprIfExp, -) -> Result, F::Error> { - let ExprIfExp { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprIfExp { - test, - body, - orelse, - range, - }) -} -impl Foldable for ExprDict { - type Mapped = ExprDict; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_dict(self) - } -} -pub fn fold_expr_dict + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprDict, -) -> Result, F::Error> { - let ExprDict { - keys, - values, - range, - } = node; - let context = folder.will_map_user(&range); - - let keys = Foldable::fold(keys, folder)?; - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprDict { - keys, - values, - range, - }) -} -impl Foldable for ExprSet { - type Mapped = ExprSet; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_set(self) - } -} -pub fn fold_expr_set + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSet, -) -> Result, F::Error> { - let ExprSet { elts, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSet { elts, range }) -} -impl Foldable for ExprListComp { - type Mapped = ExprListComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_list_comp(self) - } -} -pub fn fold_expr_list_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprListComp, -) -> Result, F::Error> { - let ExprListComp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprListComp { - elt, - generators, - range, - }) -} -impl Foldable for ExprSetComp { - type Mapped = ExprSetComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_set_comp(self) - } -} -pub fn fold_expr_set_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSetComp, -) -> Result, F::Error> { - let ExprSetComp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSetComp { - elt, - generators, - range, - }) -} -impl Foldable for ExprDictComp { - type Mapped = ExprDictComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_dict_comp(self) - } -} -pub fn fold_expr_dict_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprDictComp, -) -> Result, F::Error> { - let ExprDictComp { - key, - value, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let key = Foldable::fold(key, folder)?; - let value = Foldable::fold(value, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprDictComp { - key, - value, - generators, - range, - }) -} -impl Foldable for ExprGeneratorExp { - type Mapped = ExprGeneratorExp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_generator_exp(self) - } -} -pub fn fold_expr_generator_exp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprGeneratorExp, -) -> Result, F::Error> { - let ExprGeneratorExp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprGeneratorExp { - elt, - generators, - range, - }) -} -impl Foldable for ExprAwait { - type Mapped = ExprAwait; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_await(self) - } -} -pub fn fold_expr_await + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprAwait, -) -> Result, F::Error> { - let ExprAwait { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprAwait { value, range }) -} -impl Foldable for ExprYield { - type Mapped = ExprYield; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_yield(self) - } -} -pub fn fold_expr_yield + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprYield, -) -> Result, F::Error> { - let ExprYield { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprYield { value, range }) -} -impl Foldable for ExprYieldFrom { - type Mapped = ExprYieldFrom; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_yield_from(self) - } -} -pub fn fold_expr_yield_from + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprYieldFrom, -) -> Result, F::Error> { - let ExprYieldFrom { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprYieldFrom { value, range }) -} -impl Foldable for ExprCompare { - type Mapped = ExprCompare; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_compare(self) - } -} -pub fn fold_expr_compare + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprCompare, -) -> Result, F::Error> { - let ExprCompare { - left, - ops, - comparators, - range, - } = node; - let context = folder.will_map_user(&range); - - let left = Foldable::fold(left, folder)?; - let ops = Foldable::fold(ops, folder)?; - let comparators = Foldable::fold(comparators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprCompare { - left, - ops, - comparators, - range, - }) -} -impl Foldable for ExprCall { - type Mapped = ExprCall; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_call(self) - } -} -pub fn fold_expr_call + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprCall, -) -> Result, F::Error> { - let ExprCall { - func, - args, - keywords, - range, - } = node; - let context = folder.will_map_user(&range); - - let func = Foldable::fold(func, folder)?; - let args = Foldable::fold(args, folder)?; - let keywords = Foldable::fold(keywords, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprCall { - func, - args, - keywords, - range, - }) -} -impl Foldable for ExprFormattedValue { - type Mapped = ExprFormattedValue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_formatted_value(self) - } -} -pub fn fold_expr_formatted_value + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprFormattedValue, -) -> Result, F::Error> { - let ExprFormattedValue { - value, - conversion, - format_spec, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let conversion = Foldable::fold(conversion, folder)?; - let format_spec = Foldable::fold(format_spec, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprFormattedValue { - value, - conversion, - format_spec, - range, - }) -} -impl Foldable for ExprJoinedStr { - type Mapped = ExprJoinedStr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_joined_str(self) - } -} -pub fn fold_expr_joined_str + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprJoinedStr, -) -> Result, F::Error> { - let ExprJoinedStr { values, range } = node; - let context = folder.will_map_user(&range); - - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprJoinedStr { values, range }) -} -impl Foldable for ExprConstant { - type Mapped = ExprConstant; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_constant(self) - } -} -pub fn fold_expr_constant + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprConstant, -) -> Result, F::Error> { - let ExprConstant { value, kind, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let kind = Foldable::fold(kind, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprConstant { value, kind, range }) -} -impl Foldable for ExprAttribute { - type Mapped = ExprAttribute; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_attribute(self) - } -} -pub fn fold_expr_attribute + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprAttribute, -) -> Result, F::Error> { - let ExprAttribute { - value, - attr, - ctx, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let attr = Foldable::fold(attr, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprAttribute { - value, - attr, - ctx, - range, - }) -} -impl Foldable for ExprSubscript { - type Mapped = ExprSubscript; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_subscript(self) - } -} -pub fn fold_expr_subscript + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSubscript, -) -> Result, F::Error> { - let ExprSubscript { - value, - slice, - ctx, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let slice = Foldable::fold(slice, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSubscript { - value, - slice, - ctx, - range, - }) -} -impl Foldable for ExprStarred { - type Mapped = ExprStarred; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_starred(self) - } -} -pub fn fold_expr_starred + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprStarred, -) -> Result, F::Error> { - let ExprStarred { value, ctx, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprStarred { value, ctx, range }) -} -impl Foldable for ExprName { - type Mapped = ExprName; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_name(self) - } -} -pub fn fold_expr_name + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprName, -) -> Result, F::Error> { - let ExprName { id, ctx, range } = node; - let context = folder.will_map_user(&range); - - let id = Foldable::fold(id, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprName { id, ctx, range }) -} -impl Foldable for ExprList { - type Mapped = ExprList; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_list(self) - } -} -pub fn fold_expr_list + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprList, -) -> Result, F::Error> { - let ExprList { elts, ctx, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprList { elts, ctx, range }) -} -impl Foldable for ExprTuple { - type Mapped = ExprTuple; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_tuple(self) - } -} -pub fn fold_expr_tuple + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprTuple, -) -> Result, F::Error> { - let ExprTuple { elts, ctx, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprTuple { elts, ctx, range }) -} -impl Foldable for ExprSlice { - type Mapped = ExprSlice; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_slice(self) - } -} -pub fn fold_expr_slice + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSlice, -) -> Result, F::Error> { - let ExprSlice { - lower, - upper, - step, - range, - } = node; - let context = folder.will_map_user(&range); - - let lower = Foldable::fold(lower, folder)?; - let upper = Foldable::fold(upper, folder)?; - let step = Foldable::fold(step, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSlice { - lower, - upper, - step, - range, - }) -} -impl Foldable for ExprContext { - type Mapped = ExprContext; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_context(self) - } -} -pub fn fold_expr_context + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprContext, -) -> Result { - Ok(node) -} -impl Foldable for BoolOp { - type Mapped = BoolOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_boolop(self) - } -} -pub fn fold_boolop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: BoolOp, -) -> Result { - Ok(node) -} -impl Foldable for Operator { - type Mapped = Operator; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_operator(self) - } -} -pub fn fold_operator + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Operator, -) -> Result { - Ok(node) -} -impl Foldable for UnaryOp { - type Mapped = UnaryOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_unaryop(self) - } -} -pub fn fold_unaryop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: UnaryOp, -) -> Result { - Ok(node) -} -impl Foldable for CmpOp { - type Mapped = CmpOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_cmpop(self) - } -} -pub fn fold_cmpop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: CmpOp, -) -> Result { - Ok(node) -} -impl Foldable for Comprehension { - type Mapped = Comprehension; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_comprehension(self) - } -} -pub fn fold_comprehension + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Comprehension, -) -> Result, F::Error> { - let Comprehension { - target, - iter, - ifs, - is_async, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let ifs = Foldable::fold(ifs, folder)?; - let is_async = Foldable::fold(is_async, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(Comprehension { - target, - iter, - ifs, - is_async, - range, - }) -} -impl Foldable for ExceptHandler { - type Mapped = ExceptHandler; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_excepthandler(self) - } -} -pub fn fold_excepthandler + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExceptHandler, -) -> Result, F::Error> { - let folded = match node { - ExceptHandler::ExceptHandler(cons) => { - ExceptHandler::ExceptHandler(Foldable::fold(cons, folder)?) - } - }; - Ok(folded) -} -impl Foldable for ExceptHandlerExceptHandler { - type Mapped = ExceptHandlerExceptHandler; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_excepthandler_except_handler(self) - } -} -pub fn fold_excepthandler_except_handler + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExceptHandlerExceptHandler, -) -> Result, F::Error> { - let ExceptHandlerExceptHandler { - type_, - name, - body, - range, - } = node; - let context = folder.will_map_user(&range); - - let type_ = Foldable::fold(type_, folder)?; - let name = Foldable::fold(name, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExceptHandlerExceptHandler { - type_, - name, - body, - range, - }) -} -impl Foldable for Arguments { - type Mapped = Arguments; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arguments(self) - } -} -pub fn fold_arguments + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Arguments, -) -> Result, F::Error> { - let Arguments { - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let posonlyargs = Foldable::fold(posonlyargs, folder)?; - let args = Foldable::fold(args, folder)?; - let vararg = Foldable::fold(vararg, folder)?; - let kwonlyargs = Foldable::fold(kwonlyargs, folder)?; - let kwarg = Foldable::fold(kwarg, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(Arguments { - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - range, - }) -} -impl Foldable for Arg { - type Mapped = Arg; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arg(self) - } -} -pub fn fold_arg + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Arg, -) -> Result, F::Error> { - let Arg { - arg, - annotation, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - let arg = Foldable::fold(arg, folder)?; - let annotation = Foldable::fold(annotation, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(Arg { - arg, - annotation, - type_comment, - range, - }) -} -impl Foldable for Keyword { - type Mapped = Keyword; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_keyword(self) - } -} -pub fn fold_keyword + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Keyword, -) -> Result, F::Error> { - let Keyword { arg, value, range } = node; - let context = folder.will_map_user(&range); - let arg = Foldable::fold(arg, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(Keyword { arg, value, range }) -} -impl Foldable for Alias { - type Mapped = Alias; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_alias(self) - } -} -pub fn fold_alias + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Alias, -) -> Result, F::Error> { - let Alias { - name, - asname, - range, - } = node; - let context = folder.will_map_user(&range); - let name = Foldable::fold(name, folder)?; - let asname = Foldable::fold(asname, folder)?; - let range = folder.map_user(range, context)?; - Ok(Alias { - name, - asname, - range, - }) -} -impl Foldable for WithItem { - type Mapped = WithItem; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_withitem(self) - } -} -pub fn fold_withitem + ?Sized>( - #[allow(unused)] folder: &mut F, - node: WithItem, -) -> Result, F::Error> { - let WithItem { - context_expr, - optional_vars, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let context_expr = Foldable::fold(context_expr, folder)?; - let optional_vars = Foldable::fold(optional_vars, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(WithItem { - context_expr, - optional_vars, - range, - }) -} -impl Foldable for MatchCase { - type Mapped = MatchCase; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_match_case(self) - } -} -pub fn fold_match_case + ?Sized>( - #[allow(unused)] folder: &mut F, - node: MatchCase, -) -> Result, F::Error> { - let MatchCase { - pattern, - guard, - body, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let pattern = Foldable::fold(pattern, folder)?; - let guard = Foldable::fold(guard, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(MatchCase { - pattern, - guard, - body, - range, - }) -} -impl Foldable for Pattern { - type Mapped = Pattern; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern(self) - } -} -pub fn fold_pattern + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Pattern, -) -> Result, F::Error> { - let folded = match node { - Pattern::MatchValue(cons) => Pattern::MatchValue(Foldable::fold(cons, folder)?), - Pattern::MatchSingleton(cons) => Pattern::MatchSingleton(Foldable::fold(cons, folder)?), - Pattern::MatchSequence(cons) => Pattern::MatchSequence(Foldable::fold(cons, folder)?), - Pattern::MatchMapping(cons) => Pattern::MatchMapping(Foldable::fold(cons, folder)?), - Pattern::MatchClass(cons) => Pattern::MatchClass(Foldable::fold(cons, folder)?), - Pattern::MatchStar(cons) => Pattern::MatchStar(Foldable::fold(cons, folder)?), - Pattern::MatchAs(cons) => Pattern::MatchAs(Foldable::fold(cons, folder)?), - Pattern::MatchOr(cons) => Pattern::MatchOr(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for PatternMatchValue { - type Mapped = PatternMatchValue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_value(self) - } -} -pub fn fold_pattern_match_value + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchValue, -) -> Result, F::Error> { - let PatternMatchValue { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchValue { value, range }) -} -impl Foldable for PatternMatchSingleton { - type Mapped = PatternMatchSingleton; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_singleton(self) - } -} -pub fn fold_pattern_match_singleton + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchSingleton, -) -> Result, F::Error> { - let PatternMatchSingleton { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchSingleton { value, range }) -} -impl Foldable for PatternMatchSequence { - type Mapped = PatternMatchSequence; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_sequence(self) - } -} -pub fn fold_pattern_match_sequence + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchSequence, -) -> Result, F::Error> { - let PatternMatchSequence { patterns, range } = node; - let context = folder.will_map_user(&range); - - let patterns = Foldable::fold(patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchSequence { patterns, range }) -} -impl Foldable for PatternMatchMapping { - type Mapped = PatternMatchMapping; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_mapping(self) - } -} -pub fn fold_pattern_match_mapping + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchMapping, -) -> Result, F::Error> { - let PatternMatchMapping { - keys, - patterns, - rest, - range, - } = node; - let context = folder.will_map_user(&range); - - let keys = Foldable::fold(keys, folder)?; - let patterns = Foldable::fold(patterns, folder)?; - let rest = Foldable::fold(rest, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchMapping { - keys, - patterns, - rest, - range, - }) -} -impl Foldable for PatternMatchClass { - type Mapped = PatternMatchClass; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_class(self) - } -} -pub fn fold_pattern_match_class + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchClass, -) -> Result, F::Error> { - let PatternMatchClass { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range, - } = node; - let context = folder.will_map_user(&range); - - let cls = Foldable::fold(cls, folder)?; - let patterns = Foldable::fold(patterns, folder)?; - let kwd_attrs = Foldable::fold(kwd_attrs, folder)?; - let kwd_patterns = Foldable::fold(kwd_patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchClass { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range, - }) -} -impl Foldable for PatternMatchStar { - type Mapped = PatternMatchStar; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_star(self) - } -} -pub fn fold_pattern_match_star + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchStar, -) -> Result, F::Error> { - let PatternMatchStar { name, range } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchStar { name, range }) -} -impl Foldable for PatternMatchAs { - type Mapped = PatternMatchAs; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_as(self) - } -} -pub fn fold_pattern_match_as + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchAs, -) -> Result, F::Error> { - let PatternMatchAs { - pattern, - name, - range, - } = node; - let context = folder.will_map_user(&range); - - let pattern = Foldable::fold(pattern, folder)?; - let name = Foldable::fold(name, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchAs { - pattern, - name, - range, - }) -} -impl Foldable for PatternMatchOr { - type Mapped = PatternMatchOr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_or(self) - } -} -pub fn fold_pattern_match_or + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchOr, -) -> Result, F::Error> { - let PatternMatchOr { patterns, range } = node; - let context = folder.will_map_user(&range); - - let patterns = Foldable::fold(patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchOr { patterns, range }) -} -impl Foldable for TypeIgnore { - type Mapped = TypeIgnore; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_type_ignore(self) - } -} -pub fn fold_type_ignore + ?Sized>( - #[allow(unused)] folder: &mut F, - node: TypeIgnore, -) -> Result, F::Error> { - let folded = match node { - TypeIgnore::TypeIgnore(cons) => TypeIgnore::TypeIgnore(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for TypeIgnoreTypeIgnore { - type Mapped = TypeIgnoreTypeIgnore; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_type_ignore_type_ignore(self) - } -} -pub fn fold_type_ignore_type_ignore + ?Sized>( - #[allow(unused)] folder: &mut F, - node: TypeIgnoreTypeIgnore, -) -> Result, F::Error> { - let TypeIgnoreTypeIgnore { lineno, tag, range } = node; - let context = folder.will_map_user_cfg(&range); - - let lineno = Foldable::fold(lineno, folder)?; - let tag = Foldable::fold(tag, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(TypeIgnoreTypeIgnore { lineno, tag, range }) -} -impl Foldable for Decorator { - type Mapped = Decorator; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_decorator(self) - } -} -pub fn fold_decorator + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Decorator, -) -> Result, F::Error> { - let Decorator { expression, range } = node; - let context = folder.will_map_user_cfg(&range); - let expression = Foldable::fold(expression, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(Decorator { expression, range }) -} -impl Foldable for ArgWithDefault { - type Mapped = ArgWithDefault; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arg_with_default(self) - } -} -pub fn fold_arg_with_default + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ArgWithDefault, -) -> Result, F::Error> { - let ArgWithDefault { - def, - default, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let def = Foldable::fold(def, folder)?; - let default = Foldable::fold(default, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ArgWithDefault { - def, - default, - range, - }) -} diff --git a/ast/src/gen/located.rs b/ast/src/gen/located.rs deleted file mode 100644 index b80b7163..00000000 --- a/ast/src/gen/located.rs +++ /dev/null @@ -1,1413 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -pub type Mod = crate::generic::Mod; - -pub type ModModule = crate::generic::ModModule; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModModule { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModModule { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModInteractive = crate::generic::ModInteractive; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModInteractive { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModInteractive { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModExpression = crate::generic::ModExpression; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModExpression { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModExpression { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModFunctionType = crate::generic::ModFunctionType; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModFunctionType { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModFunctionType { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Mod { - fn range(&self) -> SourceRange { - match self { - Self::Module(node) => node.range(), - Self::Interactive(node) => node.range(), - Self::Expression(node) => node.range(), - Self::FunctionType(node) => node.range(), - } - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Mod { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::Module(node) => node.range_mut(), - Self::Interactive(node) => node.range_mut(), - Self::Expression(node) => node.range_mut(), - Self::FunctionType(node) => node.range_mut(), - } - } -} - -pub type Stmt = crate::generic::Stmt; - -pub type StmtFunctionDef = crate::generic::StmtFunctionDef; - -impl Located for StmtFunctionDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtFunctionDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncFunctionDef = crate::generic::StmtAsyncFunctionDef; - -impl Located for StmtAsyncFunctionDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncFunctionDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtClassDef = crate::generic::StmtClassDef; - -impl Located for StmtClassDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtClassDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtReturn = crate::generic::StmtReturn; - -impl Located for StmtReturn { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtReturn { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtDelete = crate::generic::StmtDelete; - -impl Located for StmtDelete { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtDelete { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAssign = crate::generic::StmtAssign; - -impl Located for StmtAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAugAssign = crate::generic::StmtAugAssign; - -impl Located for StmtAugAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAugAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAnnAssign = crate::generic::StmtAnnAssign; - -impl Located for StmtAnnAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAnnAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtFor = crate::generic::StmtFor; - -impl Located for StmtFor { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtFor { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncFor = crate::generic::StmtAsyncFor; - -impl Located for StmtAsyncFor { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncFor { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtWhile = crate::generic::StmtWhile; - -impl Located for StmtWhile { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtWhile { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtIf = crate::generic::StmtIf; - -impl Located for StmtIf { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtIf { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtWith = crate::generic::StmtWith; - -impl Located for StmtWith { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtWith { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncWith = crate::generic::StmtAsyncWith; - -impl Located for StmtAsyncWith { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncWith { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtMatch = crate::generic::StmtMatch; - -impl Located for StmtMatch { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtMatch { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtRaise = crate::generic::StmtRaise; - -impl Located for StmtRaise { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtRaise { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtTry = crate::generic::StmtTry; - -impl Located for StmtTry { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtTry { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtTryStar = crate::generic::StmtTryStar; - -impl Located for StmtTryStar { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtTryStar { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAssert = crate::generic::StmtAssert; - -impl Located for StmtAssert { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAssert { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtImport = crate::generic::StmtImport; - -impl Located for StmtImport { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtImport { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtImportFrom = crate::generic::StmtImportFrom; - -impl Located for StmtImportFrom { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtImportFrom { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtGlobal = crate::generic::StmtGlobal; - -impl Located for StmtGlobal { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtGlobal { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtNonlocal = crate::generic::StmtNonlocal; - -impl Located for StmtNonlocal { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtNonlocal { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtExpr = crate::generic::StmtExpr; - -impl Located for StmtExpr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtExpr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtPass = crate::generic::StmtPass; - -impl Located for StmtPass { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtPass { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtBreak = crate::generic::StmtBreak; - -impl Located for StmtBreak { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtBreak { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtContinue = crate::generic::StmtContinue; - -impl Located for StmtContinue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtContinue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Stmt { - fn range(&self) -> SourceRange { - match self { - Self::FunctionDef(node) => node.range(), - Self::AsyncFunctionDef(node) => node.range(), - Self::ClassDef(node) => node.range(), - Self::Return(node) => node.range(), - Self::Delete(node) => node.range(), - Self::Assign(node) => node.range(), - Self::AugAssign(node) => node.range(), - Self::AnnAssign(node) => node.range(), - Self::For(node) => node.range(), - Self::AsyncFor(node) => node.range(), - Self::While(node) => node.range(), - Self::If(node) => node.range(), - Self::With(node) => node.range(), - Self::AsyncWith(node) => node.range(), - Self::Match(node) => node.range(), - Self::Raise(node) => node.range(), - Self::Try(node) => node.range(), - Self::TryStar(node) => node.range(), - Self::Assert(node) => node.range(), - Self::Import(node) => node.range(), - Self::ImportFrom(node) => node.range(), - Self::Global(node) => node.range(), - Self::Nonlocal(node) => node.range(), - Self::Expr(node) => node.range(), - Self::Pass(node) => node.range(), - Self::Break(node) => node.range(), - Self::Continue(node) => node.range(), - } - } -} - -impl LocatedMut for Stmt { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::FunctionDef(node) => node.range_mut(), - Self::AsyncFunctionDef(node) => node.range_mut(), - Self::ClassDef(node) => node.range_mut(), - Self::Return(node) => node.range_mut(), - Self::Delete(node) => node.range_mut(), - Self::Assign(node) => node.range_mut(), - Self::AugAssign(node) => node.range_mut(), - Self::AnnAssign(node) => node.range_mut(), - Self::For(node) => node.range_mut(), - Self::AsyncFor(node) => node.range_mut(), - Self::While(node) => node.range_mut(), - Self::If(node) => node.range_mut(), - Self::With(node) => node.range_mut(), - Self::AsyncWith(node) => node.range_mut(), - Self::Match(node) => node.range_mut(), - Self::Raise(node) => node.range_mut(), - Self::Try(node) => node.range_mut(), - Self::TryStar(node) => node.range_mut(), - Self::Assert(node) => node.range_mut(), - Self::Import(node) => node.range_mut(), - Self::ImportFrom(node) => node.range_mut(), - Self::Global(node) => node.range_mut(), - Self::Nonlocal(node) => node.range_mut(), - Self::Expr(node) => node.range_mut(), - Self::Pass(node) => node.range_mut(), - Self::Break(node) => node.range_mut(), - Self::Continue(node) => node.range_mut(), - } - } -} - -pub type Expr = crate::generic::Expr; - -pub type ExprBoolOp = crate::generic::ExprBoolOp; - -impl Located for ExprBoolOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprBoolOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprNamedExpr = crate::generic::ExprNamedExpr; - -impl Located for ExprNamedExpr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprNamedExpr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprBinOp = crate::generic::ExprBinOp; - -impl Located for ExprBinOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprBinOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprUnaryOp = crate::generic::ExprUnaryOp; - -impl Located for ExprUnaryOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprUnaryOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprLambda = crate::generic::ExprLambda; - -impl Located for ExprLambda { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprLambda { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprIfExp = crate::generic::ExprIfExp; - -impl Located for ExprIfExp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprIfExp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprDict = crate::generic::ExprDict; - -impl Located for ExprDict { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprDict { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSet = crate::generic::ExprSet; - -impl Located for ExprSet { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSet { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprListComp = crate::generic::ExprListComp; - -impl Located for ExprListComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprListComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSetComp = crate::generic::ExprSetComp; - -impl Located for ExprSetComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSetComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprDictComp = crate::generic::ExprDictComp; - -impl Located for ExprDictComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprDictComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprGeneratorExp = crate::generic::ExprGeneratorExp; - -impl Located for ExprGeneratorExp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprGeneratorExp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprAwait = crate::generic::ExprAwait; - -impl Located for ExprAwait { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprAwait { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprYield = crate::generic::ExprYield; - -impl Located for ExprYield { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprYield { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprYieldFrom = crate::generic::ExprYieldFrom; - -impl Located for ExprYieldFrom { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprYieldFrom { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprCompare = crate::generic::ExprCompare; - -impl Located for ExprCompare { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprCompare { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprCall = crate::generic::ExprCall; - -impl Located for ExprCall { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprCall { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprFormattedValue = crate::generic::ExprFormattedValue; - -impl Located for ExprFormattedValue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprFormattedValue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprJoinedStr = crate::generic::ExprJoinedStr; - -impl Located for ExprJoinedStr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprJoinedStr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprConstant = crate::generic::ExprConstant; - -impl Located for ExprConstant { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprConstant { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprAttribute = crate::generic::ExprAttribute; - -impl Located for ExprAttribute { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprAttribute { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSubscript = crate::generic::ExprSubscript; - -impl Located for ExprSubscript { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSubscript { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprStarred = crate::generic::ExprStarred; - -impl Located for ExprStarred { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprStarred { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprName = crate::generic::ExprName; - -impl Located for ExprName { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprName { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprList = crate::generic::ExprList; - -impl Located for ExprList { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprList { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprTuple = crate::generic::ExprTuple; - -impl Located for ExprTuple { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprTuple { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSlice = crate::generic::ExprSlice; - -impl Located for ExprSlice { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSlice { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Expr { - fn range(&self) -> SourceRange { - match self { - Self::BoolOp(node) => node.range(), - Self::NamedExpr(node) => node.range(), - Self::BinOp(node) => node.range(), - Self::UnaryOp(node) => node.range(), - Self::Lambda(node) => node.range(), - Self::IfExp(node) => node.range(), - Self::Dict(node) => node.range(), - Self::Set(node) => node.range(), - Self::ListComp(node) => node.range(), - Self::SetComp(node) => node.range(), - Self::DictComp(node) => node.range(), - Self::GeneratorExp(node) => node.range(), - Self::Await(node) => node.range(), - Self::Yield(node) => node.range(), - Self::YieldFrom(node) => node.range(), - Self::Compare(node) => node.range(), - Self::Call(node) => node.range(), - Self::FormattedValue(node) => node.range(), - Self::JoinedStr(node) => node.range(), - Self::Constant(node) => node.range(), - Self::Attribute(node) => node.range(), - Self::Subscript(node) => node.range(), - Self::Starred(node) => node.range(), - Self::Name(node) => node.range(), - Self::List(node) => node.range(), - Self::Tuple(node) => node.range(), - Self::Slice(node) => node.range(), - } - } -} - -impl LocatedMut for Expr { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::BoolOp(node) => node.range_mut(), - Self::NamedExpr(node) => node.range_mut(), - Self::BinOp(node) => node.range_mut(), - Self::UnaryOp(node) => node.range_mut(), - Self::Lambda(node) => node.range_mut(), - Self::IfExp(node) => node.range_mut(), - Self::Dict(node) => node.range_mut(), - Self::Set(node) => node.range_mut(), - Self::ListComp(node) => node.range_mut(), - Self::SetComp(node) => node.range_mut(), - Self::DictComp(node) => node.range_mut(), - Self::GeneratorExp(node) => node.range_mut(), - Self::Await(node) => node.range_mut(), - Self::Yield(node) => node.range_mut(), - Self::YieldFrom(node) => node.range_mut(), - Self::Compare(node) => node.range_mut(), - Self::Call(node) => node.range_mut(), - Self::FormattedValue(node) => node.range_mut(), - Self::JoinedStr(node) => node.range_mut(), - Self::Constant(node) => node.range_mut(), - Self::Attribute(node) => node.range_mut(), - Self::Subscript(node) => node.range_mut(), - Self::Starred(node) => node.range_mut(), - Self::Name(node) => node.range_mut(), - Self::List(node) => node.range_mut(), - Self::Tuple(node) => node.range_mut(), - Self::Slice(node) => node.range_mut(), - } - } -} - -pub type ExprContext = crate::generic::ExprContext; - -pub type ExprContextLoad = crate::generic::ExprContextLoad; - -pub type ExprContextStore = crate::generic::ExprContextStore; - -pub type ExprContextDel = crate::generic::ExprContextDel; - -pub type BoolOp = crate::generic::BoolOp; - -pub type BoolOpAnd = crate::generic::BoolOpAnd; - -pub type BoolOpOr = crate::generic::BoolOpOr; - -pub type Operator = crate::generic::Operator; - -pub type OperatorAdd = crate::generic::OperatorAdd; - -pub type OperatorSub = crate::generic::OperatorSub; - -pub type OperatorMult = crate::generic::OperatorMult; - -pub type OperatorMatMult = crate::generic::OperatorMatMult; - -pub type OperatorDiv = crate::generic::OperatorDiv; - -pub type OperatorMod = crate::generic::OperatorMod; - -pub type OperatorPow = crate::generic::OperatorPow; - -pub type OperatorLShift = crate::generic::OperatorLShift; - -pub type OperatorRShift = crate::generic::OperatorRShift; - -pub type OperatorBitOr = crate::generic::OperatorBitOr; - -pub type OperatorBitXor = crate::generic::OperatorBitXor; - -pub type OperatorBitAnd = crate::generic::OperatorBitAnd; - -pub type OperatorFloorDiv = crate::generic::OperatorFloorDiv; - -pub type UnaryOp = crate::generic::UnaryOp; - -pub type UnaryOpInvert = crate::generic::UnaryOpInvert; - -pub type UnaryOpNot = crate::generic::UnaryOpNot; - -pub type UnaryOpUAdd = crate::generic::UnaryOpUAdd; - -pub type UnaryOpUSub = crate::generic::UnaryOpUSub; - -pub type CmpOp = crate::generic::CmpOp; - -pub type CmpOpEq = crate::generic::CmpOpEq; - -pub type CmpOpNotEq = crate::generic::CmpOpNotEq; - -pub type CmpOpLt = crate::generic::CmpOpLt; - -pub type CmpOpLtE = crate::generic::CmpOpLtE; - -pub type CmpOpGt = crate::generic::CmpOpGt; - -pub type CmpOpGtE = crate::generic::CmpOpGtE; - -pub type CmpOpIs = crate::generic::CmpOpIs; - -pub type CmpOpIsNot = crate::generic::CmpOpIsNot; - -pub type CmpOpIn = crate::generic::CmpOpIn; - -pub type CmpOpNotIn = crate::generic::CmpOpNotIn; - -pub type Comprehension = crate::generic::Comprehension; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Comprehension { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Comprehension { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExceptHandler = crate::generic::ExceptHandler; - -pub type ExceptHandlerExceptHandler = crate::generic::ExceptHandlerExceptHandler; - -impl Located for ExceptHandlerExceptHandler { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExceptHandlerExceptHandler { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for ExceptHandler { - fn range(&self) -> SourceRange { - match self { - Self::ExceptHandler(node) => node.range(), - } - } -} - -impl LocatedMut for ExceptHandler { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::ExceptHandler(node) => node.range_mut(), - } - } -} - -pub type PythonArguments = crate::generic::PythonArguments; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for PythonArguments { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for PythonArguments { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Arg = crate::generic::Arg; - -impl Located for Arg { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Arg { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Keyword = crate::generic::Keyword; - -impl Located for Keyword { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Keyword { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Alias = crate::generic::Alias; - -impl Located for Alias { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Alias { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type WithItem = crate::generic::WithItem; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for WithItem { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for WithItem { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type MatchCase = crate::generic::MatchCase; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for MatchCase { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for MatchCase { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Pattern = crate::generic::Pattern; - -pub type PatternMatchValue = crate::generic::PatternMatchValue; - -impl Located for PatternMatchValue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchValue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchSingleton = crate::generic::PatternMatchSingleton; - -impl Located for PatternMatchSingleton { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchSingleton { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchSequence = crate::generic::PatternMatchSequence; - -impl Located for PatternMatchSequence { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchSequence { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchMapping = crate::generic::PatternMatchMapping; - -impl Located for PatternMatchMapping { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchMapping { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchClass = crate::generic::PatternMatchClass; - -impl Located for PatternMatchClass { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchClass { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchStar = crate::generic::PatternMatchStar; - -impl Located for PatternMatchStar { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchStar { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchAs = crate::generic::PatternMatchAs; - -impl Located for PatternMatchAs { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchAs { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchOr = crate::generic::PatternMatchOr; - -impl Located for PatternMatchOr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchOr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Pattern { - fn range(&self) -> SourceRange { - match self { - Self::MatchValue(node) => node.range(), - Self::MatchSingleton(node) => node.range(), - Self::MatchSequence(node) => node.range(), - Self::MatchMapping(node) => node.range(), - Self::MatchClass(node) => node.range(), - Self::MatchStar(node) => node.range(), - Self::MatchAs(node) => node.range(), - Self::MatchOr(node) => node.range(), - } - } -} - -impl LocatedMut for Pattern { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::MatchValue(node) => node.range_mut(), - Self::MatchSingleton(node) => node.range_mut(), - Self::MatchSequence(node) => node.range_mut(), - Self::MatchMapping(node) => node.range_mut(), - Self::MatchClass(node) => node.range_mut(), - Self::MatchStar(node) => node.range_mut(), - Self::MatchAs(node) => node.range_mut(), - Self::MatchOr(node) => node.range_mut(), - } - } -} - -pub type TypeIgnore = crate::generic::TypeIgnore; - -pub type TypeIgnoreTypeIgnore = crate::generic::TypeIgnoreTypeIgnore; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for TypeIgnoreTypeIgnore { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for TypeIgnoreTypeIgnore { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for TypeIgnore { - fn range(&self) -> SourceRange { - match self { - Self::TypeIgnore(node) => node.range(), - } - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for TypeIgnore { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::TypeIgnore(node) => node.range_mut(), - } - } -} - -pub type Decorator = crate::generic::Decorator; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Decorator { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Decorator { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Arguments = crate::generic::Arguments; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Arguments { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Arguments { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ArgWithDefault = crate::generic::ArgWithDefault; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ArgWithDefault { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ArgWithDefault { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} diff --git a/ast/src/gen/visitor.rs b/ast/src/gen/visitor.rs deleted file mode 100644 index b7be1122..00000000 --- a/ast/src/gen/visitor.rs +++ /dev/null @@ -1,817 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[allow(unused_variables)] -pub trait Visitor { - fn visit_stmt(&mut self, node: Stmt) { - self.generic_visit_stmt(node) - } - fn generic_visit_stmt(&mut self, node: Stmt) { - match node { - Stmt::FunctionDef(data) => self.visit_stmt_function_def(data), - Stmt::AsyncFunctionDef(data) => self.visit_stmt_async_function_def(data), - Stmt::ClassDef(data) => self.visit_stmt_class_def(data), - Stmt::Return(data) => self.visit_stmt_return(data), - Stmt::Delete(data) => self.visit_stmt_delete(data), - Stmt::Assign(data) => self.visit_stmt_assign(data), - Stmt::AugAssign(data) => self.visit_stmt_aug_assign(data), - Stmt::AnnAssign(data) => self.visit_stmt_ann_assign(data), - Stmt::For(data) => self.visit_stmt_for(data), - Stmt::AsyncFor(data) => self.visit_stmt_async_for(data), - Stmt::While(data) => self.visit_stmt_while(data), - Stmt::If(data) => self.visit_stmt_if(data), - Stmt::With(data) => self.visit_stmt_with(data), - Stmt::AsyncWith(data) => self.visit_stmt_async_with(data), - Stmt::Match(data) => self.visit_stmt_match(data), - Stmt::Raise(data) => self.visit_stmt_raise(data), - Stmt::Try(data) => self.visit_stmt_try(data), - Stmt::TryStar(data) => self.visit_stmt_try_star(data), - Stmt::Assert(data) => self.visit_stmt_assert(data), - Stmt::Import(data) => self.visit_stmt_import(data), - Stmt::ImportFrom(data) => self.visit_stmt_import_from(data), - Stmt::Global(data) => self.visit_stmt_global(data), - Stmt::Nonlocal(data) => self.visit_stmt_nonlocal(data), - Stmt::Expr(data) => self.visit_stmt_expr(data), - Stmt::Pass(data) => self.visit_stmt_pass(data), - Stmt::Break(data) => self.visit_stmt_break(data), - Stmt::Continue(data) => self.visit_stmt_continue(data), - } - } - fn visit_stmt_function_def(&mut self, node: StmtFunctionDef) { - self.generic_visit_stmt_function_def(node) - } - fn generic_visit_stmt_function_def(&mut self, node: StmtFunctionDef) { - { - let value = node.args; - self.visit_arguments(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_decorator(value); - } - if let Some(value) = node.returns { - self.visit_expr(*value); - } - } - fn visit_stmt_async_function_def(&mut self, node: StmtAsyncFunctionDef) { - self.generic_visit_stmt_async_function_def(node) - } - fn generic_visit_stmt_async_function_def(&mut self, node: StmtAsyncFunctionDef) { - { - let value = node.args; - self.visit_arguments(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_decorator(value); - } - if let Some(value) = node.returns { - self.visit_expr(*value); - } - } - fn visit_stmt_class_def(&mut self, node: StmtClassDef) { - self.generic_visit_stmt_class_def(node) - } - fn generic_visit_stmt_class_def(&mut self, node: StmtClassDef) { - for value in node.bases { - self.visit_expr(value); - } - for value in node.keywords { - self.visit_keyword(value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_decorator(value); - } - } - fn visit_stmt_return(&mut self, node: StmtReturn) { - self.generic_visit_stmt_return(node) - } - fn generic_visit_stmt_return(&mut self, node: StmtReturn) { - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_stmt_delete(&mut self, node: StmtDelete) { - self.generic_visit_stmt_delete(node) - } - fn generic_visit_stmt_delete(&mut self, node: StmtDelete) { - for value in node.targets { - self.visit_expr(value); - } - } - fn visit_stmt_assign(&mut self, node: StmtAssign) { - self.generic_visit_stmt_assign(node) - } - fn generic_visit_stmt_assign(&mut self, node: StmtAssign) { - for value in node.targets { - self.visit_expr(value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_aug_assign(&mut self, node: StmtAugAssign) { - self.generic_visit_stmt_aug_assign(node) - } - fn generic_visit_stmt_aug_assign(&mut self, node: StmtAugAssign) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_ann_assign(&mut self, node: StmtAnnAssign) { - self.generic_visit_stmt_ann_assign(node) - } - fn generic_visit_stmt_ann_assign(&mut self, node: StmtAnnAssign) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.annotation; - self.visit_expr(*value); - } - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_stmt_for(&mut self, node: StmtFor) { - self.generic_visit_stmt_for(node) - } - fn generic_visit_stmt_for(&mut self, node: StmtFor) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.iter; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_async_for(&mut self, node: StmtAsyncFor) { - self.generic_visit_stmt_async_for(node) - } - fn generic_visit_stmt_async_for(&mut self, node: StmtAsyncFor) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.iter; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_while(&mut self, node: StmtWhile) { - self.generic_visit_stmt_while(node) - } - fn generic_visit_stmt_while(&mut self, node: StmtWhile) { - { - let value = node.test; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_if(&mut self, node: StmtIf) { - self.generic_visit_stmt_if(node) - } - fn generic_visit_stmt_if(&mut self, node: StmtIf) { - { - let value = node.test; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_with(&mut self, node: StmtWith) { - self.generic_visit_stmt_with(node) - } - fn generic_visit_stmt_with(&mut self, node: StmtWith) { - for value in node.items { - self.visit_withitem(value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_stmt_async_with(&mut self, node: StmtAsyncWith) { - self.generic_visit_stmt_async_with(node) - } - fn generic_visit_stmt_async_with(&mut self, node: StmtAsyncWith) { - for value in node.items { - self.visit_withitem(value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_stmt_match(&mut self, node: StmtMatch) { - self.generic_visit_stmt_match(node) - } - fn generic_visit_stmt_match(&mut self, node: StmtMatch) { - { - let value = node.subject; - self.visit_expr(*value); - } - for value in node.cases { - self.visit_match_case(value); - } - } - fn visit_stmt_raise(&mut self, node: StmtRaise) { - self.generic_visit_stmt_raise(node) - } - fn generic_visit_stmt_raise(&mut self, node: StmtRaise) { - if let Some(value) = node.exc { - self.visit_expr(*value); - } - if let Some(value) = node.cause { - self.visit_expr(*value); - } - } - fn visit_stmt_try(&mut self, node: StmtTry) { - self.generic_visit_stmt_try(node) - } - fn generic_visit_stmt_try(&mut self, node: StmtTry) { - for value in node.body { - self.visit_stmt(value); - } - for value in node.handlers { - self.visit_excepthandler(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - for value in node.finalbody { - self.visit_stmt(value); - } - } - fn visit_stmt_try_star(&mut self, node: StmtTryStar) { - self.generic_visit_stmt_try_star(node) - } - fn generic_visit_stmt_try_star(&mut self, node: StmtTryStar) { - for value in node.body { - self.visit_stmt(value); - } - for value in node.handlers { - self.visit_excepthandler(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - for value in node.finalbody { - self.visit_stmt(value); - } - } - fn visit_stmt_assert(&mut self, node: StmtAssert) { - self.generic_visit_stmt_assert(node) - } - fn generic_visit_stmt_assert(&mut self, node: StmtAssert) { - { - let value = node.test; - self.visit_expr(*value); - } - if let Some(value) = node.msg { - self.visit_expr(*value); - } - } - fn visit_stmt_import(&mut self, node: StmtImport) { - self.generic_visit_stmt_import(node) - } - fn generic_visit_stmt_import(&mut self, node: StmtImport) { - for value in node.names { - self.visit_alias(value); - } - } - fn visit_stmt_import_from(&mut self, node: StmtImportFrom) { - self.generic_visit_stmt_import_from(node) - } - fn generic_visit_stmt_import_from(&mut self, node: StmtImportFrom) { - for value in node.names { - self.visit_alias(value); - } - } - fn visit_stmt_global(&mut self, node: StmtGlobal) { - self.generic_visit_stmt_global(node) - } - fn generic_visit_stmt_global(&mut self, node: StmtGlobal) {} - fn visit_stmt_nonlocal(&mut self, node: StmtNonlocal) { - self.generic_visit_stmt_nonlocal(node) - } - fn generic_visit_stmt_nonlocal(&mut self, node: StmtNonlocal) {} - fn visit_stmt_expr(&mut self, node: StmtExpr) { - self.generic_visit_stmt_expr(node) - } - fn generic_visit_stmt_expr(&mut self, node: StmtExpr) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_pass(&mut self, node: StmtPass) {} - fn visit_stmt_break(&mut self, node: StmtBreak) {} - fn visit_stmt_continue(&mut self, node: StmtContinue) {} - fn visit_expr(&mut self, node: Expr) { - self.generic_visit_expr(node) - } - fn generic_visit_expr(&mut self, node: Expr) { - match node { - Expr::BoolOp(data) => self.visit_expr_bool_op(data), - Expr::NamedExpr(data) => self.visit_expr_named_expr(data), - Expr::BinOp(data) => self.visit_expr_bin_op(data), - Expr::UnaryOp(data) => self.visit_expr_unary_op(data), - Expr::Lambda(data) => self.visit_expr_lambda(data), - Expr::IfExp(data) => self.visit_expr_if_exp(data), - Expr::Dict(data) => self.visit_expr_dict(data), - Expr::Set(data) => self.visit_expr_set(data), - Expr::ListComp(data) => self.visit_expr_list_comp(data), - Expr::SetComp(data) => self.visit_expr_set_comp(data), - Expr::DictComp(data) => self.visit_expr_dict_comp(data), - Expr::GeneratorExp(data) => self.visit_expr_generator_exp(data), - Expr::Await(data) => self.visit_expr_await(data), - Expr::Yield(data) => self.visit_expr_yield(data), - Expr::YieldFrom(data) => self.visit_expr_yield_from(data), - Expr::Compare(data) => self.visit_expr_compare(data), - Expr::Call(data) => self.visit_expr_call(data), - Expr::FormattedValue(data) => self.visit_expr_formatted_value(data), - Expr::JoinedStr(data) => self.visit_expr_joined_str(data), - Expr::Constant(data) => self.visit_expr_constant(data), - Expr::Attribute(data) => self.visit_expr_attribute(data), - Expr::Subscript(data) => self.visit_expr_subscript(data), - Expr::Starred(data) => self.visit_expr_starred(data), - Expr::Name(data) => self.visit_expr_name(data), - Expr::List(data) => self.visit_expr_list(data), - Expr::Tuple(data) => self.visit_expr_tuple(data), - Expr::Slice(data) => self.visit_expr_slice(data), - } - } - fn visit_expr_bool_op(&mut self, node: ExprBoolOp) { - self.generic_visit_expr_bool_op(node) - } - fn generic_visit_expr_bool_op(&mut self, node: ExprBoolOp) { - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_named_expr(&mut self, node: ExprNamedExpr) { - self.generic_visit_expr_named_expr(node) - } - fn generic_visit_expr_named_expr(&mut self, node: ExprNamedExpr) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_bin_op(&mut self, node: ExprBinOp) { - self.generic_visit_expr_bin_op(node) - } - fn generic_visit_expr_bin_op(&mut self, node: ExprBinOp) { - { - let value = node.left; - self.visit_expr(*value); - } - { - let value = node.right; - self.visit_expr(*value); - } - } - fn visit_expr_unary_op(&mut self, node: ExprUnaryOp) { - self.generic_visit_expr_unary_op(node) - } - fn generic_visit_expr_unary_op(&mut self, node: ExprUnaryOp) { - { - let value = node.operand; - self.visit_expr(*value); - } - } - fn visit_expr_lambda(&mut self, node: ExprLambda) { - self.generic_visit_expr_lambda(node) - } - fn generic_visit_expr_lambda(&mut self, node: ExprLambda) { - { - let value = node.args; - self.visit_arguments(*value); - } - { - let value = node.body; - self.visit_expr(*value); - } - } - fn visit_expr_if_exp(&mut self, node: ExprIfExp) { - self.generic_visit_expr_if_exp(node) - } - fn generic_visit_expr_if_exp(&mut self, node: ExprIfExp) { - { - let value = node.test; - self.visit_expr(*value); - } - { - let value = node.body; - self.visit_expr(*value); - } - { - let value = node.orelse; - self.visit_expr(*value); - } - } - fn visit_expr_dict(&mut self, node: ExprDict) { - self.generic_visit_expr_dict(node) - } - fn generic_visit_expr_dict(&mut self, node: ExprDict) { - for value in node.keys.into_iter().flatten() { - self.visit_expr(value); - } - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_set(&mut self, node: ExprSet) { - self.generic_visit_expr_set(node) - } - fn generic_visit_expr_set(&mut self, node: ExprSet) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_list_comp(&mut self, node: ExprListComp) { - self.generic_visit_expr_list_comp(node) - } - fn generic_visit_expr_list_comp(&mut self, node: ExprListComp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_set_comp(&mut self, node: ExprSetComp) { - self.generic_visit_expr_set_comp(node) - } - fn generic_visit_expr_set_comp(&mut self, node: ExprSetComp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_dict_comp(&mut self, node: ExprDictComp) { - self.generic_visit_expr_dict_comp(node) - } - fn generic_visit_expr_dict_comp(&mut self, node: ExprDictComp) { - { - let value = node.key; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_generator_exp(&mut self, node: ExprGeneratorExp) { - self.generic_visit_expr_generator_exp(node) - } - fn generic_visit_expr_generator_exp(&mut self, node: ExprGeneratorExp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_await(&mut self, node: ExprAwait) { - self.generic_visit_expr_await(node) - } - fn generic_visit_expr_await(&mut self, node: ExprAwait) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_yield(&mut self, node: ExprYield) { - self.generic_visit_expr_yield(node) - } - fn generic_visit_expr_yield(&mut self, node: ExprYield) { - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_expr_yield_from(&mut self, node: ExprYieldFrom) { - self.generic_visit_expr_yield_from(node) - } - fn generic_visit_expr_yield_from(&mut self, node: ExprYieldFrom) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_compare(&mut self, node: ExprCompare) { - self.generic_visit_expr_compare(node) - } - fn generic_visit_expr_compare(&mut self, node: ExprCompare) { - { - let value = node.left; - self.visit_expr(*value); - } - for value in node.comparators { - self.visit_expr(value); - } - } - fn visit_expr_call(&mut self, node: ExprCall) { - self.generic_visit_expr_call(node) - } - fn generic_visit_expr_call(&mut self, node: ExprCall) { - { - let value = node.func; - self.visit_expr(*value); - } - for value in node.args { - self.visit_expr(value); - } - for value in node.keywords { - self.visit_keyword(value); - } - } - fn visit_expr_formatted_value(&mut self, node: ExprFormattedValue) { - self.generic_visit_expr_formatted_value(node) - } - fn generic_visit_expr_formatted_value(&mut self, node: ExprFormattedValue) { - { - let value = node.value; - self.visit_expr(*value); - } - if let Some(value) = node.format_spec { - self.visit_expr(*value); - } - } - fn visit_expr_joined_str(&mut self, node: ExprJoinedStr) { - self.generic_visit_expr_joined_str(node) - } - fn generic_visit_expr_joined_str(&mut self, node: ExprJoinedStr) { - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_constant(&mut self, node: ExprConstant) { - self.generic_visit_expr_constant(node) - } - fn generic_visit_expr_constant(&mut self, node: ExprConstant) {} - fn visit_expr_attribute(&mut self, node: ExprAttribute) { - self.generic_visit_expr_attribute(node) - } - fn generic_visit_expr_attribute(&mut self, node: ExprAttribute) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_subscript(&mut self, node: ExprSubscript) { - self.generic_visit_expr_subscript(node) - } - fn generic_visit_expr_subscript(&mut self, node: ExprSubscript) { - { - let value = node.value; - self.visit_expr(*value); - } - { - let value = node.slice; - self.visit_expr(*value); - } - } - fn visit_expr_starred(&mut self, node: ExprStarred) { - self.generic_visit_expr_starred(node) - } - fn generic_visit_expr_starred(&mut self, node: ExprStarred) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_name(&mut self, node: ExprName) { - self.generic_visit_expr_name(node) - } - fn generic_visit_expr_name(&mut self, node: ExprName) {} - fn visit_expr_list(&mut self, node: ExprList) { - self.generic_visit_expr_list(node) - } - fn generic_visit_expr_list(&mut self, node: ExprList) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_tuple(&mut self, node: ExprTuple) { - self.generic_visit_expr_tuple(node) - } - fn generic_visit_expr_tuple(&mut self, node: ExprTuple) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_slice(&mut self, node: ExprSlice) { - self.generic_visit_expr_slice(node) - } - fn generic_visit_expr_slice(&mut self, node: ExprSlice) { - if let Some(value) = node.lower { - self.visit_expr(*value); - } - if let Some(value) = node.upper { - self.visit_expr(*value); - } - if let Some(value) = node.step { - self.visit_expr(*value); - } - } - fn visit_expr_context(&mut self, node: ExprContext) { - self.generic_visit_expr_context(node) - } - fn generic_visit_expr_context(&mut self, node: ExprContext) {} - fn visit_boolop(&mut self, node: BoolOp) { - self.generic_visit_boolop(node) - } - fn generic_visit_boolop(&mut self, node: BoolOp) {} - fn visit_operator(&mut self, node: Operator) { - self.generic_visit_operator(node) - } - fn generic_visit_operator(&mut self, node: Operator) {} - fn visit_unaryop(&mut self, node: UnaryOp) { - self.generic_visit_unaryop(node) - } - fn generic_visit_unaryop(&mut self, node: UnaryOp) {} - fn visit_cmpop(&mut self, node: CmpOp) { - self.generic_visit_cmpop(node) - } - fn generic_visit_cmpop(&mut self, node: CmpOp) {} - fn visit_comprehension(&mut self, node: Comprehension) { - self.generic_visit_comprehension(node) - } - fn generic_visit_comprehension(&mut self, node: Comprehension) {} - fn visit_excepthandler(&mut self, node: ExceptHandler) { - self.generic_visit_excepthandler(node) - } - fn generic_visit_excepthandler(&mut self, node: ExceptHandler) { - match node { - ExceptHandler::ExceptHandler(data) => self.visit_excepthandler_except_handler(data), - } - } - fn visit_excepthandler_except_handler(&mut self, node: ExceptHandlerExceptHandler) { - self.generic_visit_excepthandler_except_handler(node) - } - fn generic_visit_excepthandler_except_handler(&mut self, node: ExceptHandlerExceptHandler) { - if let Some(value) = node.type_ { - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_arguments(&mut self, node: Arguments) { - self.generic_visit_arguments(node) - } - fn generic_visit_arguments(&mut self, node: Arguments) {} - fn visit_arg(&mut self, node: Arg) { - self.generic_visit_arg(node) - } - fn generic_visit_arg(&mut self, node: Arg) {} - fn visit_keyword(&mut self, node: Keyword) { - self.generic_visit_keyword(node) - } - fn generic_visit_keyword(&mut self, node: Keyword) {} - fn visit_alias(&mut self, node: Alias) { - self.generic_visit_alias(node) - } - fn generic_visit_alias(&mut self, node: Alias) {} - fn visit_withitem(&mut self, node: WithItem) { - self.generic_visit_withitem(node) - } - fn generic_visit_withitem(&mut self, node: WithItem) {} - fn visit_match_case(&mut self, node: MatchCase) { - self.generic_visit_match_case(node) - } - fn generic_visit_match_case(&mut self, node: MatchCase) {} - fn visit_pattern(&mut self, node: Pattern) { - self.generic_visit_pattern(node) - } - fn generic_visit_pattern(&mut self, node: Pattern) { - match node { - Pattern::MatchValue(data) => self.visit_pattern_match_value(data), - Pattern::MatchSingleton(data) => self.visit_pattern_match_singleton(data), - Pattern::MatchSequence(data) => self.visit_pattern_match_sequence(data), - Pattern::MatchMapping(data) => self.visit_pattern_match_mapping(data), - Pattern::MatchClass(data) => self.visit_pattern_match_class(data), - Pattern::MatchStar(data) => self.visit_pattern_match_star(data), - Pattern::MatchAs(data) => self.visit_pattern_match_as(data), - Pattern::MatchOr(data) => self.visit_pattern_match_or(data), - } - } - fn visit_pattern_match_value(&mut self, node: PatternMatchValue) { - self.generic_visit_pattern_match_value(node) - } - fn generic_visit_pattern_match_value(&mut self, node: PatternMatchValue) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_pattern_match_singleton(&mut self, node: PatternMatchSingleton) { - self.generic_visit_pattern_match_singleton(node) - } - fn generic_visit_pattern_match_singleton(&mut self, node: PatternMatchSingleton) {} - fn visit_pattern_match_sequence(&mut self, node: PatternMatchSequence) { - self.generic_visit_pattern_match_sequence(node) - } - fn generic_visit_pattern_match_sequence(&mut self, node: PatternMatchSequence) { - for value in node.patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_mapping(&mut self, node: PatternMatchMapping) { - self.generic_visit_pattern_match_mapping(node) - } - fn generic_visit_pattern_match_mapping(&mut self, node: PatternMatchMapping) { - for value in node.keys { - self.visit_expr(value); - } - for value in node.patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_class(&mut self, node: PatternMatchClass) { - self.generic_visit_pattern_match_class(node) - } - fn generic_visit_pattern_match_class(&mut self, node: PatternMatchClass) { - { - let value = node.cls; - self.visit_expr(*value); - } - for value in node.patterns { - self.visit_pattern(value); - } - for value in node.kwd_patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_star(&mut self, node: PatternMatchStar) { - self.generic_visit_pattern_match_star(node) - } - fn generic_visit_pattern_match_star(&mut self, node: PatternMatchStar) {} - fn visit_pattern_match_as(&mut self, node: PatternMatchAs) { - self.generic_visit_pattern_match_as(node) - } - fn generic_visit_pattern_match_as(&mut self, node: PatternMatchAs) { - if let Some(value) = node.pattern { - self.visit_pattern(*value); - } - } - fn visit_pattern_match_or(&mut self, node: PatternMatchOr) { - self.generic_visit_pattern_match_or(node) - } - fn generic_visit_pattern_match_or(&mut self, node: PatternMatchOr) { - for value in node.patterns { - self.visit_pattern(value); - } - } - fn visit_decorator(&mut self, node: Decorator) { - self.generic_visit_decorator(node) - } - fn generic_visit_decorator(&mut self, node: Decorator) {} -} diff --git a/ast/src/lib.rs b/ast/src/lib.rs index 4e5d3715..9aa6da1d 100644 --- a/ast/src/lib.rs +++ b/ast/src/lib.rs @@ -19,8 +19,6 @@ mod builtin; mod generic; mod impls; mod ranged; -#[cfg(feature = "unparse")] -mod unparse; #[cfg(feature = "malachite-bigint")] pub use malachite_bigint as bigint; @@ -36,30 +34,3 @@ pub trait Node { const NAME: &'static str; const FIELD_NAMES: &'static [&'static str]; } - -#[cfg(feature = "fold")] -pub mod fold; -#[cfg(feature = "fold")] -pub use fold::Fold; - -#[cfg(feature = "visitor")] -mod visitor { - use super::generic::*; - - include!("gen/visitor.rs"); -} - -#[cfg(feature = "location")] -pub mod located; -#[cfg(feature = "location")] -mod source_locator; -#[cfg(feature = "location")] -pub use rustpython_parser_core::source_code; - -#[cfg(feature = "visitor")] -pub use visitor::Visitor; - -#[cfg(feature = "constant-optimization")] -mod optimizer; -#[cfg(feature = "constant-optimization")] -pub use optimizer::ConstantOptimizer; diff --git a/ast/src/located.rs b/ast/src/located.rs deleted file mode 100644 index bf252617..00000000 --- a/ast/src/located.rs +++ /dev/null @@ -1,23 +0,0 @@ -#![allow(clippy::derive_partial_eq_without_eq)] -use crate::source_code::{SourceLocation, SourceRange}; - -pub trait Located { - fn range(&self) -> SourceRange; - - fn location(&self) -> SourceLocation { - self.range().start - } - - fn end_location(&self) -> Option { - self.range().end - } -} - -pub trait LocatedMut: Located { - fn range_mut(&mut self) -> &mut SourceRange; -} - -pub type Suite = Vec; - -pub use crate::builtin::*; -include!("gen/located.rs"); diff --git a/ast/src/optimizer.rs b/ast/src/optimizer.rs deleted file mode 100644 index 42a6dddc..00000000 --- a/ast/src/optimizer.rs +++ /dev/null @@ -1,131 +0,0 @@ -use crate::builtin::Constant; - -#[non_exhaustive] -#[derive(Default)] -pub struct ConstantOptimizer {} - -impl ConstantOptimizer { - #[inline] - pub fn new() -> Self { - Self {} - } -} - -#[cfg(feature = "constant-optimization")] -impl crate::fold::Fold for ConstantOptimizer { - type TargetU = U; - type Error = std::convert::Infallible; - type UserContext = (); - - #[inline(always)] - fn will_map_user(&mut self, _user: &U) -> Self::UserContext {} - #[inline] - fn map_user(&mut self, user: U, _context: ()) -> Result { - Ok(user) - } - fn fold_expr(&mut self, node: crate::Expr) -> Result, Self::Error> { - match node { - crate::Expr::Tuple(crate::ExprTuple { elts, ctx, range }) => { - let elts = elts - .into_iter() - .map(|x| self.fold_expr(x)) - .collect::, _>>()?; - let expr = if elts.iter().all(|e| e.is_constant_expr()) { - let tuple = elts - .into_iter() - .map(|e| match e { - crate::Expr::Constant(crate::ExprConstant { value, .. }) => value, - _ => unreachable!(), - }) - .collect(); - crate::Expr::Constant(crate::ExprConstant { - value: Constant::Tuple(tuple), - kind: None, - range, - }) - } else { - crate::Expr::Tuple(crate::ExprTuple { elts, ctx, range }) - }; - Ok(expr) - } - _ => crate::fold::fold_expr(self, node), - } - } -} - -#[cfg(test)] -mod tests { - use crate::bigint::BigInt; - use rustpython_parser_core::text_size::TextRange; - - #[cfg(feature = "constant-optimization")] - #[test] - fn test_constant_opt() { - use crate::{fold::Fold, *}; - - let range = TextRange::default(); - let ast = ExprTuple { - ctx: ExprContext::Load, - elts: vec![ - ExprConstant { - value: BigInt::from(1).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(2).into(), - kind: None, - range, - } - .into(), - ExprTuple { - ctx: ExprContext::Load, - elts: vec![ - ExprConstant { - value: BigInt::from(3).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(4).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(5).into(), - kind: None, - range, - } - .into(), - ], - range, - } - .into(), - ], - range, - }; - let new_ast = ConstantOptimizer::new() - .fold_expr(ast.into()) - .unwrap_or_else(|e| match e {}); - assert_eq!( - new_ast, - ExprConstant { - value: Constant::Tuple(vec![ - BigInt::from(1).into(), - BigInt::from(2).into(), - Constant::Tuple(vec![ - BigInt::from(3).into(), - BigInt::from(4).into(), - BigInt::from(5).into(), - ]) - ]), - kind: None, - range, - } - .into(), - ); - } -} diff --git a/ast/src/source_locator.rs b/ast/src/source_locator.rs deleted file mode 100644 index 366c32bb..00000000 --- a/ast/src/source_locator.rs +++ /dev/null @@ -1,288 +0,0 @@ -use crate::Fold; -use rustpython_parser_core::{ - source_code::{LinearLocator, RandomLocator, SourceLocation, SourceRange}, - text_size::TextRange, -}; -use std::{convert::Infallible, unreachable}; - -impl crate::fold::Fold for RandomLocator<'_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.locate(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.locate(user.end()); - Ok((start..end).into()) - } -} - -fn linear_locate_expr_joined_str( - locator: &mut LinearLocator<'_>, - node: crate::ExprJoinedStr, - location: SourceRange, -) -> Result, Infallible> { - let crate::ExprJoinedStr { range: _, values } = node; - - let mut located_values = Vec::with_capacity(values.len()); - for value in values.into_iter() { - let located = match value { - crate::Expr::Constant(constant) => { - let node = crate::ExprConstant { - range: location, - value: constant.value, - kind: constant.kind, - }; - crate::Expr::Constant(node) - } - crate::Expr::FormattedValue(formatted) => { - let node = crate::ExprFormattedValue { - range: location, - value: locator.fold(formatted.value)?, - conversion: formatted.conversion, - format_spec: formatted - .format_spec - .map(|spec| match *spec { - crate::Expr::JoinedStr(joined_str) => { - let node = - linear_locate_expr_joined_str(locator, joined_str, location)?; - Ok(crate::Expr::JoinedStr(node)) - } - expr => locator.fold(expr), - }) - .transpose()? - .map(Box::new), - }; - crate::Expr::FormattedValue(node) - } - _ => unreachable!("missing expr type for joined_str?"), - }; - located_values.push(located); - } - - Ok(crate::ExprJoinedStr { - range: location, - values: located_values, - }) -} - -impl crate::fold::Fold for LinearLocator<'_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.locate(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.locate(user.end()); - Ok((start..end).into()) - } - - fn fold_expr_dict( - &mut self, - node: crate::ExprDict, - ) -> Result, Self::Error> { - let crate::ExprDict { - range, - keys, - values, - } = node; - let context = self.will_map_user(&range); - assert_eq!(keys.len(), values.len()); - let mut located_keys = Vec::with_capacity(keys.len()); - let mut located_values = Vec::with_capacity(values.len()); - for (key, value) in keys.into_iter().zip(values.into_iter()) { - located_keys.push(self.fold(key)?); - located_values.push(self.fold(value)?); - } - let range = self.map_user(range, context)?; - Ok(crate::ExprDict { - range, - keys: located_keys, - values: located_values, - }) - } - - fn fold_expr_if_exp( - &mut self, - node: crate::ExprIfExp, - ) -> Result, Self::Error> { - let crate::ExprIfExp { - range, - test, - body, - orelse, - } = node; - let context = self.will_map_user(&range); - let body = self.fold(body)?; - let test = self.fold(test)?; - let orelse = self.fold(orelse)?; - let range = self.map_user(range, context)?; - Ok(crate::ExprIfExp { - range, - test, - body, - orelse, - }) - } - - fn fold_stmt_class_def( - &mut self, - node: crate::StmtClassDef, - ) -> Result, Self::Error> { - let crate::StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let bases = self.fold(bases)?; - let keywords = self.fold(keywords)?; - let body = self.fold(body)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - }) - } - fn fold_stmt_function_def( - &mut self, - node: crate::StmtFunctionDef, - ) -> Result, Self::Error> { - let crate::StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let args: Box> = self.fold(args)?; - let returns = self.fold(returns)?; - let body = self.fold(body)?; - let type_comment = self.fold(type_comment)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) - } - fn fold_stmt_async_function_def( - &mut self, - node: crate::StmtAsyncFunctionDef, - ) -> Result, Self::Error> { - let crate::StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let args: Box> = self.fold(args)?; - let returns = self.fold(returns)?; - let body = self.fold(body)?; - let type_comment = self.fold(type_comment)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) - } - fn fold_expr_joined_str( - &mut self, - node: crate::ExprJoinedStr, - ) -> Result, Self::Error> { - let start = self.locate(node.range.start()); - let end = self.locate_only(node.range.end()); - let location = SourceRange::new(start, end); - linear_locate_expr_joined_str(self, node, location) - } - - fn fold_expr_call( - &mut self, - node: crate::ExprCall, - ) -> Result, Self::Error> { - let crate::ExprCall { - range, - func, - args, - keywords, - } = node; - let context = self.will_map_user(&range); - let func = self.fold(func)?; - let keywords = LinearLookaheadLocator(self).fold(keywords)?; - let args = self.fold(args)?; - let range = self.map_user(range, context)?; - Ok(crate::ExprCall { - range, - func, - args, - keywords, - }) - } -} - -struct LinearLookaheadLocator<'a, 'b>(&'b mut LinearLocator<'a>); - -impl crate::fold::Fold for LinearLookaheadLocator<'_, '_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.0.locate_only(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.0.locate_only(user.end()); - Ok((start..end).into()) - } -} diff --git a/ast/src/unparse.rs b/ast/src/unparse.rs deleted file mode 100644 index 95c0ba5b..00000000 --- a/ast/src/unparse.rs +++ /dev/null @@ -1,638 +0,0 @@ -use crate::{ - Arg, ArgWithDefault, Arguments, BoolOp, Comprehension, Constant, ConversionFlag, Expr, - Identifier, Operator, PythonArguments, -}; -use std::fmt; - -mod precedence { - macro_rules! precedence { - ($($op:ident,)*) => { - precedence!(@0, $($op,)*); - }; - (@$i:expr, $op1:ident, $($op:ident,)*) => { - pub const $op1: u8 = $i; - precedence!(@$i + 1, $($op,)*); - }; - (@$i:expr,) => {}; - } - precedence!( - TUPLE, TEST, OR, AND, NOT, CMP, // "EXPR" = - BOR, BXOR, BAND, SHIFT, ARITH, TERM, FACTOR, POWER, AWAIT, ATOM, - ); - pub const EXPR: u8 = BOR; -} - -#[repr(transparent)] -struct Unparser<'a> { - f: fmt::Formatter<'a>, -} -impl<'a> Unparser<'a> { - fn new<'b>(f: &'b mut fmt::Formatter<'a>) -> &'b mut Unparser<'a> { - unsafe { &mut *(f as *mut fmt::Formatter<'a> as *mut Unparser<'a>) } - } - - fn p(&mut self, s: &str) -> fmt::Result { - self.f.write_str(s) - } - fn p_id(&mut self, s: &Identifier) -> fmt::Result { - self.f.write_str(s.as_str()) - } - fn p_if(&mut self, cond: bool, s: &str) -> fmt::Result { - if cond { - self.f.write_str(s)?; - } - Ok(()) - } - fn p_delim(&mut self, first: &mut bool, s: &str) -> fmt::Result { - self.p_if(!std::mem::take(first), s) - } - fn write_fmt(&mut self, f: fmt::Arguments<'_>) -> fmt::Result { - self.f.write_fmt(f) - } - - fn unparse_expr(&mut self, ast: &Expr, level: u8) -> fmt::Result { - macro_rules! op_prec { - ($op_ty:ident, $x:expr, $enu:path, $($var:ident($op:literal, $prec:ident)),*$(,)?) => { - match $x { - $(<$enu>::$var => (op_prec!(@space $op_ty, $op), precedence::$prec),)* - } - }; - (@space bin, $op:literal) => { - concat!(" ", $op, " ") - }; - (@space un, $op:literal) => { - $op - }; - } - macro_rules! group_if { - ($lvl:expr, $body:block) => {{ - let group = level > $lvl; - self.p_if(group, "(")?; - let ret = $body; - self.p_if(group, ")")?; - ret - }}; - } - match &ast { - Expr::BoolOp(crate::ExprBoolOp { - op, - values, - range: _range, - }) => { - let (op, prec) = op_prec!(bin, op, BoolOp, And("and", AND), Or("or", OR)); - group_if!(prec, { - let mut first = true; - for val in values { - self.p_delim(&mut first, op)?; - self.unparse_expr(val, prec + 1)?; - } - }) - } - Expr::NamedExpr(crate::ExprNamedExpr { - target, - value, - range: _range, - }) => { - group_if!(precedence::TUPLE, { - self.unparse_expr(target, precedence::ATOM)?; - self.p(" := ")?; - self.unparse_expr(value, precedence::ATOM)?; - }) - } - Expr::BinOp(crate::ExprBinOp { - left, - op, - right, - range: _range, - }) => { - let right_associative = matches!(op, Operator::Pow); - let (op, prec) = op_prec!( - bin, - op, - Operator, - Add("+", ARITH), - Sub("-", ARITH), - Mult("*", TERM), - MatMult("@", TERM), - Div("/", TERM), - Mod("%", TERM), - Pow("**", POWER), - LShift("<<", SHIFT), - RShift(">>", SHIFT), - BitOr("|", BOR), - BitXor("^", BXOR), - BitAnd("&", BAND), - FloorDiv("//", TERM), - ); - group_if!(prec, { - self.unparse_expr(left, prec + right_associative as u8)?; - self.p(op)?; - self.unparse_expr(right, prec + !right_associative as u8)?; - }) - } - Expr::UnaryOp(crate::ExprUnaryOp { - op, - operand, - range: _range, - }) => { - let (op, prec) = op_prec!( - un, - op, - crate::UnaryOp, - Invert("~", FACTOR), - Not("not ", NOT), - UAdd("+", FACTOR), - USub("-", FACTOR) - ); - group_if!(prec, { - self.p(op)?; - self.unparse_expr(operand, prec)?; - }) - } - Expr::Lambda(crate::ExprLambda { - args, - body, - range: _range, - }) => { - group_if!(precedence::TEST, { - let pos = args.args.len() + args.posonlyargs.len(); - self.p(if pos > 0 { "lambda " } else { "lambda" })?; - self.unparse_arguments(args)?; - write!(self, ": {}", **body)?; - }) - } - Expr::IfExp(crate::ExprIfExp { - test, - body, - orelse, - range: _range, - }) => { - group_if!(precedence::TEST, { - self.unparse_expr(body, precedence::TEST + 1)?; - self.p(" if ")?; - self.unparse_expr(test, precedence::TEST + 1)?; - self.p(" else ")?; - self.unparse_expr(orelse, precedence::TEST)?; - }) - } - Expr::Dict(crate::ExprDict { - keys, - values, - range: _range, - }) => { - self.p("{")?; - let mut first = true; - let (packed, unpacked) = values.split_at(keys.len()); - for (k, v) in keys.iter().zip(packed) { - self.p_delim(&mut first, ", ")?; - if let Some(k) = k { - write!(self, "{}: {}", *k, *v)?; - } else { - write!(self, "**{}", *v)?; - } - } - for d in unpacked { - self.p_delim(&mut first, ", ")?; - write!(self, "**{}", *d)?; - } - self.p("}")?; - } - Expr::Set(crate::ExprSet { - elts, - range: _range, - }) => { - self.p("{")?; - let mut first = true; - for v in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(v, precedence::TEST)?; - } - self.p("}")?; - } - Expr::ListComp(crate::ExprListComp { - elt, - generators, - range: _range, - }) => { - self.p("[")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("]")?; - } - Expr::SetComp(crate::ExprSetComp { - elt, - generators, - range: _range, - }) => { - self.p("{")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("}")?; - } - Expr::DictComp(crate::ExprDictComp { - key, - value, - generators, - range: _range, - }) => { - self.p("{")?; - self.unparse_expr(key, precedence::TEST)?; - self.p(": ")?; - self.unparse_expr(value, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("}")?; - } - Expr::GeneratorExp(crate::ExprGeneratorExp { - elt, - generators, - range: _range, - }) => { - self.p("(")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p(")")?; - } - Expr::Await(crate::ExprAwait { - value, - range: _range, - }) => { - group_if!(precedence::AWAIT, { - self.p("await ")?; - self.unparse_expr(value, precedence::ATOM)?; - }) - } - Expr::Yield(crate::ExprYield { - value, - range: _range, - }) => { - if let Some(value) = value { - write!(self, "(yield {})", **value)?; - } else { - self.p("(yield)")?; - } - } - Expr::YieldFrom(crate::ExprYieldFrom { - value, - range: _range, - }) => { - write!(self, "(yield from {})", **value)?; - } - Expr::Compare(crate::ExprCompare { - left, - ops, - comparators, - range: _range, - }) => { - group_if!(precedence::CMP, { - let new_lvl = precedence::CMP + 1; - self.unparse_expr(left, new_lvl)?; - for (op, cmp) in ops.iter().zip(comparators) { - self.p(" ")?; - self.p(op.as_str())?; - self.p(" ")?; - self.unparse_expr(cmp, new_lvl)?; - } - }) - } - Expr::Call(crate::ExprCall { - func, - args, - keywords, - range: _range, - }) => { - self.unparse_expr(func, precedence::ATOM)?; - self.p("(")?; - if let ( - [Expr::GeneratorExp(crate::ExprGeneratorExp { - elt, - generators, - range: _range, - })], - [], - ) = (&**args, &**keywords) - { - // make sure a single genexpr doesn't get double parens - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - } else { - let mut first = true; - for arg in args { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(arg, precedence::TEST)?; - } - for kw in keywords { - self.p_delim(&mut first, ", ")?; - if let Some(arg) = &kw.arg { - self.p_id(arg)?; - self.p("=")?; - } else { - self.p("**")?; - } - self.unparse_expr(&kw.value, precedence::TEST)?; - } - } - self.p(")")?; - } - Expr::FormattedValue(crate::ExprFormattedValue { - value, - conversion, - format_spec, - range: _range, - }) => self.unparse_formatted(value, *conversion, format_spec.as_deref())?, - Expr::JoinedStr(crate::ExprJoinedStr { - values, - range: _range, - }) => self.unparse_joined_str(values, false)?, - Expr::Constant(crate::ExprConstant { - value, - kind, - range: _range, - }) => { - if let Some(kind) = kind { - self.p(kind)?; - } - assert_eq!(f64::MAX_10_EXP, 308); - let inf_str = "1e309"; - match value { - Constant::Float(f) if f.is_infinite() => self.p(inf_str)?, - Constant::Complex { real, imag } - if real.is_infinite() || imag.is_infinite() => - { - self.p(&value.to_string().replace("inf", inf_str))? - } - _ => fmt::Display::fmt(value, &mut self.f)?, - } - } - Expr::Attribute(crate::ExprAttribute { value, attr, .. }) => { - self.unparse_expr(value, precedence::ATOM)?; - let period = if let Expr::Constant(crate::ExprConstant { - value: Constant::Int(_), - .. - }) = value.as_ref() - { - " ." - } else { - "." - }; - self.p(period)?; - self.p_id(attr)?; - } - Expr::Subscript(crate::ExprSubscript { value, slice, .. }) => { - self.unparse_expr(value, precedence::ATOM)?; - let mut lvl = precedence::TUPLE; - if let Expr::Tuple(crate::ExprTuple { elts, .. }) = slice.as_ref() { - if elts.iter().any(|expr| expr.is_starred_expr()) { - lvl += 1 - } - } - self.p("[")?; - self.unparse_expr(slice, lvl)?; - self.p("]")?; - } - Expr::Starred(crate::ExprStarred { value, .. }) => { - self.p("*")?; - self.unparse_expr(value, precedence::EXPR)?; - } - Expr::Name(crate::ExprName { id, .. }) => self.p_id(id)?, - Expr::List(crate::ExprList { elts, .. }) => { - self.p("[")?; - let mut first = true; - for elt in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(elt, precedence::TEST)?; - } - self.p("]")?; - } - Expr::Tuple(crate::ExprTuple { elts, .. }) => { - if elts.is_empty() { - self.p("()")?; - } else { - group_if!(precedence::TUPLE, { - let mut first = true; - for elt in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(elt, precedence::TEST)?; - } - self.p_if(elts.len() == 1, ",")?; - }) - } - } - Expr::Slice(crate::ExprSlice { - lower, - upper, - step, - range: _range, - }) => { - if let Some(lower) = lower { - self.unparse_expr(lower, precedence::TEST)?; - } - self.p(":")?; - if let Some(upper) = upper { - self.unparse_expr(upper, precedence::TEST)?; - } - if let Some(step) = step { - self.p(":")?; - self.unparse_expr(step, precedence::TEST)?; - } - } - } - Ok(()) - } - - fn unparse_arguments(&mut self, args: &Arguments) -> fmt::Result { - let mut first = true; - for (i, arg) in args.posonlyargs.iter().chain(&args.args).enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_function_arg(arg)?; - self.p_if(i + 1 == args.posonlyargs.len(), ", /")?; - } - if args.vararg.is_some() || !args.kwonlyargs.is_empty() { - self.p_delim(&mut first, ", ")?; - self.p("*")?; - } - if let Some(vararg) = &args.vararg { - self.unparse_arg(vararg)?; - } - for kwarg in args.kwonlyargs.iter() { - self.p_delim(&mut first, ", ")?; - self.unparse_function_arg(kwarg)?; - } - if let Some(kwarg) = &args.kwarg { - self.p_delim(&mut first, ", ")?; - self.p("**")?; - self.unparse_arg(kwarg)?; - } - Ok(()) - } - fn unparse_function_arg(&mut self, arg: &ArgWithDefault) -> fmt::Result { - self.p_id(&arg.def.arg)?; - if let Some(ann) = &arg.def.annotation { - write!(self, ": {}", **ann)?; - } - if let Some(default) = &arg.default { - write!(self, "={}", default)?; - } - Ok(()) - } - - #[allow(dead_code)] - fn unparse_python_arguments(&mut self, args: &PythonArguments) -> fmt::Result { - let mut first = true; - let defaults_start = args.posonlyargs.len() + args.args.len() - args.defaults.len(); - for (i, arg) in args.posonlyargs.iter().chain(&args.args).enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_arg(arg)?; - if let Some(i) = i.checked_sub(defaults_start) { - write!(self, "={}", &args.defaults[i])?; - } - self.p_if(i + 1 == args.posonlyargs.len(), ", /")?; - } - if args.vararg.is_some() || !args.kwonlyargs.is_empty() { - self.p_delim(&mut first, ", ")?; - self.p("*")?; - } - if let Some(vararg) = &args.vararg { - self.unparse_arg(vararg)?; - } - let defaults_start = args.kwonlyargs.len() - args.kw_defaults.len(); - for (i, kwarg) in args.kwonlyargs.iter().enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_arg(kwarg)?; - if let Some(default) = i - .checked_sub(defaults_start) - .and_then(|i| args.kw_defaults.get(i)) - { - write!(self, "={default}")?; - } - } - if let Some(kwarg) = &args.kwarg { - self.p_delim(&mut first, ", ")?; - self.p("**")?; - self.unparse_arg(kwarg)?; - } - Ok(()) - } - fn unparse_arg(&mut self, arg: &Arg) -> fmt::Result { - self.p_id(&arg.arg)?; - if let Some(ann) = &arg.annotation { - write!(self, ": {}", **ann)?; - } - Ok(()) - } - - fn unparse_comp(&mut self, generators: &[Comprehension]) -> fmt::Result { - for comp in generators { - self.p(if comp.is_async { - " async for " - } else { - " for " - })?; - self.unparse_expr(&comp.target, precedence::TUPLE)?; - self.p(" in ")?; - self.unparse_expr(&comp.iter, precedence::TEST + 1)?; - for cond in &comp.ifs { - self.p(" if ")?; - self.unparse_expr(cond, precedence::TEST + 1)?; - } - } - Ok(()) - } - - fn unparse_fstring_body(&mut self, values: &[Expr], is_spec: bool) -> fmt::Result { - for value in values { - self.unparse_fstring_elem(value, is_spec)?; - } - Ok(()) - } - - fn unparse_formatted( - &mut self, - val: &Expr, - conversion: ConversionFlag, - spec: Option<&Expr>, - ) -> fmt::Result { - let buffered = to_string_fmt(|f| Unparser::new(f).unparse_expr(val, precedence::TEST + 1)); - let brace = if buffered.starts_with('{') { - // put a space to avoid escaping the bracket - "{ " - } else { - "{" - }; - self.p(brace)?; - self.p(&buffered)?; - drop(buffered); - - if conversion != ConversionFlag::None { - self.p("!")?; - let buf = &[conversion as u8]; - let c = std::str::from_utf8(buf).unwrap(); - self.p(c)?; - } - - if let Some(spec) = spec { - self.p(":")?; - self.unparse_fstring_elem(spec, true)?; - } - - self.p("}")?; - - Ok(()) - } - - fn unparse_fstring_elem(&mut self, expr: &Expr, is_spec: bool) -> fmt::Result { - match &expr { - Expr::Constant(crate::ExprConstant { value, .. }) => { - if let Constant::Str(s) = value { - self.unparse_fstring_str(s) - } else { - unreachable!() - } - } - Expr::JoinedStr(crate::ExprJoinedStr { - values, - range: _range, - }) => self.unparse_joined_str(values, is_spec), - Expr::FormattedValue(crate::ExprFormattedValue { - value, - conversion, - format_spec, - range: _range, - }) => self.unparse_formatted(value, *conversion, format_spec.as_deref()), - _ => unreachable!(), - } - } - - fn unparse_fstring_str(&mut self, s: &str) -> fmt::Result { - let s = s.replace('{', "{{").replace('}', "}}"); - self.p(&s) - } - - fn unparse_joined_str(&mut self, values: &[Expr], is_spec: bool) -> fmt::Result { - if is_spec { - self.unparse_fstring_body(values, is_spec) - } else { - self.p("f")?; - let body = to_string_fmt(|f| Unparser::new(f).unparse_fstring_body(values, is_spec)); - rustpython_literal::escape::UnicodeEscape::new_repr(&body) - .str_repr() - .write(&mut self.f) - } - } -} - -impl fmt::Display for Expr { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - Unparser::new(f).unparse_expr(self, precedence::TEST) - } -} - -fn to_string_fmt(f: impl FnOnce(&mut fmt::Formatter) -> fmt::Result) -> String { - use std::cell::Cell; - struct Fmt(Cell>); - impl fmt::Result> fmt::Display for Fmt { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - self.0.take().unwrap()(f) - } - } - Fmt(Cell::new(Some(f))).to_string() -} diff --git a/core/Cargo.toml b/core/Cargo.toml index 867a146a..82e1cae5 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -10,7 +10,6 @@ license = "MIT" [dependencies] # ruff dependency shouldn't be placed out of this crate ruff_text_size = { path = "../ruff_text_size" } -ruff_source_location = { path = "../ruff_source_location", optional = true } serde = { version = "1.0.133", optional = true, default-features = false, features = ["derive"] } is-macro.workspace = true @@ -18,4 +17,3 @@ memchr.workspace = true [features] default = [] -location = ["dep:ruff_source_location"] diff --git a/core/src/lib.rs b/core/src/lib.rs index 06b2d3bf..47dc115c 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -4,8 +4,6 @@ mod error; mod format; pub mod mode; -#[cfg(feature = "location")] -pub mod source_code; pub use error::BaseError; pub use format::ConversionFlag; diff --git a/core/src/source_code.rs b/core/src/source_code.rs deleted file mode 100644 index b45f2006..00000000 --- a/core/src/source_code.rs +++ /dev/null @@ -1,347 +0,0 @@ -// re-export our public interface -use crate::text_size::{TextLen, TextSize}; -use memchr::memrchr2; - -pub use ruff_source_location::{ - newlines::{find_newline, UniversalNewlineIterator}, - LineIndex, OneIndexed, SourceCode, SourceLocation, -}; -pub type LineNumber = OneIndexed; - -#[derive(Debug, Copy, Clone, Default)] -pub struct SourceRange { - pub start: SourceLocation, - pub end: Option, -} - -impl SourceRange { - pub fn new(start: SourceLocation, end: SourceLocation) -> Self { - Self { - start, - end: Some(end), - } - } - pub fn unwrap_end(&self) -> SourceLocation { - self.end.unwrap() - } -} - -impl From> for SourceRange { - fn from(value: std::ops::Range) -> Self { - Self { - start: value.start, - end: Some(value.end), - } - } -} - -/// Converts source code byte-offset to Python convention line and column numbers. -pub struct RandomLocator<'a> { - pub source: &'a str, - index: LineIndex, -} - -impl<'a> RandomLocator<'a> { - #[inline] - pub fn new(source: &'a str) -> Self { - let index = LineIndex::from_source_text(source); - Self { source, index } - } - - pub fn to_source_code(&self) -> SourceCode { - SourceCode::new(self.source, &self.index) - } - - pub fn locate(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - let offset = offset.to_u32().into(); - self.to_source_code().source_location(offset) - } - - pub fn locate_error(&mut self, base: crate::error::BaseError) -> LocatedError - where - T: Into, - { - let location = self.locate(base.offset); - LocatedError { - error: base.error.into(), - location: Some(location), - source_path: base.source_path, - } - } -} - -/// Converts source code byte-offset to Python convention line and column numbers. -pub struct LinearLocator<'a> { - pub source: &'a str, - state: LinearLocatorState, - #[cfg(debug_assertions)] - index: LineIndex, -} - -struct LinearLocatorState { - line_start: TextSize, - line_end: Option, - line_number: OneIndexed, - cursor: TextSize, - is_ascii: bool, -} - -impl LinearLocatorState { - fn init(source: &str) -> Self { - let mut line_start = TextSize::default(); - if source.starts_with('\u{feff}') { - line_start += '\u{feff}'.text_len(); - } - let (line_end, is_ascii) = if let Some((position, line_ending)) = find_newline(source) { - let is_ascii = source[..position].is_ascii(); - ( - Some(TextSize::new(position as u32 + line_ending.len() as u32)), - is_ascii, - ) - } else { - (None, source.is_ascii()) - }; - let line_number = OneIndexed::MIN; - Self { - line_start, - line_end, - line_number, - cursor: line_start, - is_ascii, - } - } - - fn new_line_start(&self, next_offset: TextSize) -> Option { - if let Some(new_line_start) = self.line_end { - if new_line_start <= next_offset { - return Some(new_line_start); - } - } - None - } -} - -impl<'a> LinearLocator<'a> { - // nl = newline - - #[inline] - pub fn new(source: &'a str) -> Self { - let state = LinearLocatorState::init(source); - Self { - source, - state, - #[cfg(debug_assertions)] - index: LineIndex::from_source_text(source), - } - } - - pub fn locate(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - debug_assert!( - self.state.cursor <= offset, - "{:?} -> {:?} {}", - self.state.cursor, - offset, - &self.source[offset.to_usize()..self.state.cursor.to_usize()] - ); - let (column, new_state) = self.locate_inner(offset); - if let Some(state) = new_state { - self.state = state; - } else { - self.state.cursor = offset; - } - SourceLocation { - row: self.state.line_number, - column, - } - } - - pub fn locate_only(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - let (column, new_state) = self.locate_inner(offset); - let state = new_state.as_ref().unwrap_or(&self.state); - SourceLocation { - row: state.line_number, - column, - } - } - - fn locate_inner( - &mut self, - offset: crate::text_size::TextSize, - ) -> (OneIndexed, Option) { - let (column, new_state) = if let Some(new_line_start) = self.state.new_line_start(offset) { - // not fit in current line - let focused = &self.source[new_line_start.to_usize()..offset.to_usize()]; - let (lines, line_start, column) = - if let Some(last_newline) = memrchr2(b'\r', b'\n', focused.as_bytes()) { - let last_newline = new_line_start.to_usize() + last_newline; - let lines = UniversalNewlineIterator::from( - &self.source[self.state.cursor.to_usize()..last_newline + 1], - ) - .count(); - let line_start = last_newline as u32 + 1; - let column = offset.to_u32() - line_start; - (lines as u32, line_start, column) - } else { - let column = (offset - new_line_start).to_u32(); - (1, new_line_start.to_u32(), column) - }; - let line_number = self.state.line_number.saturating_add(lines); - let (line_end, is_ascii) = if let Some((newline, line_ending)) = - find_newline(&self.source[line_start as usize..]) - { - let newline = line_start as usize + newline; - let is_ascii = self.source[line_start as usize..newline].is_ascii(); - ( - Some(TextSize::new(newline as u32 + line_ending.len() as u32)), - is_ascii, - ) - } else { - let is_ascii = self.source[line_start as usize..].is_ascii(); - (None, is_ascii) - }; - let line_start = TextSize::new(line_start); - let state = LinearLocatorState { - line_start, - line_end, - line_number, - cursor: offset, - is_ascii, - }; - (column, Some(state)) - } else { - let column = (offset - self.state.line_start).to_u32(); - (column, None) - }; - let state = new_state.as_ref().unwrap_or(&self.state); - let column = if state.is_ascii { - column - } else { - self.source[state.line_start.to_usize()..][..column as usize] - .chars() - .count() as u32 - }; - let column = OneIndexed::from_zero_indexed(column); - #[cfg(debug_assertions)] - { - let location = SourceLocation { - row: state.line_number, - column, - }; - let source_code = SourceCode::new(self.source, &self.index); - assert_eq!( - location, - source_code.source_location(offset), - "input: {} -> {} {}", - self.state.cursor.to_usize(), - offset.to_usize(), - &self.source[self.state.cursor.to_usize()..offset.to_usize()] - ); - } - (column, new_state) - } - - pub fn locate_error(&mut self, base: crate::error::BaseError) -> LocatedError - where - T: Into, - { - let location = self.locate(base.offset); - LocatedError { - error: base.error.into(), - location: Some(location), - source_path: base.source_path, - } - } -} - -#[derive(Debug, PartialEq, Eq)] -pub struct LocatedError { - pub error: T, - pub location: Option, - pub source_path: String, -} - -impl LocatedError { - pub fn error(self) -> T { - self.error - } - - pub fn from(obj: LocatedError) -> Self - where - U: Into, - { - Self { - error: obj.error.into(), - location: obj.location, - source_path: obj.source_path, - } - } - - pub fn into(self) -> LocatedError - where - T: Into, - { - LocatedError::from(self) - } - - pub fn python_location(&self) -> (usize, usize) { - if let Some(location) = self.location { - (location.row.to_usize(), location.column.to_usize()) - } else { - (0, 0) - } - } -} - -impl std::fmt::Display for LocatedError -where - T: std::fmt::Display, -{ - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - let (row, column) = self - .location - .map_or((0, 0), |l| (l.row.to_usize(), l.column.to_usize())); - write!(f, "{} at row {} col {}", &self.error, row, column,) - } -} - -impl std::error::Error for LocatedError -where - T: std::error::Error + 'static, -{ - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - Some(&self.error) - } -} - -#[test] -fn test_linear_locator() { - let source = r#" -123456789 -abcdefghi - -유니코드 - "# - .strip_prefix(char::is_whitespace) - .unwrap(); - let mut locator = LinearLocator::new(source); - let mut random_locator = RandomLocator::new(source); - - let mut test = |(row, col), offset| { - let input = TextSize::from(offset); - let expected: SourceLocation = SourceLocation { - row: OneIndexed::new(row).unwrap(), - column: OneIndexed::new(col).unwrap(), - }; - let actual = locator.locate(input); - let actual2 = random_locator.locate(input); - assert_eq!(expected, actual); - assert_eq!(expected, actual2); - }; - - test((1, 1), 0); - test((1, 6), 5); - test((1, 9), 8); - test((2, 1), 10); - test((4, 1), 21); - test((4, 3), 27); -} diff --git a/parser/Cargo.toml b/parser/Cargo.toml index 863a28a5..0ce4b3cc 100644 --- a/parser/Cargo.toml +++ b/parser/Cargo.toml @@ -9,8 +9,7 @@ license = "MIT" edition = "2021" [features] -default = ["location", "malachite-bigint"] -location = ["rustpython-ast/location", "rustpython-parser-core/location"] +default = ["malachite-bigint"] serde = ["dep:serde", "rustpython-parser-core/serde"] all-nodes-with-ranges = ["rustpython-ast/all-nodes-with-ranges"] full-lexer = [] diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 53cec986..5b56e54a 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -113,8 +113,6 @@ #![doc(html_root_url = "https://docs.rs/rustpython-parser/")] pub use rustpython_ast as ast; -#[cfg(feature = "location")] -pub use rustpython_parser_core::source_code; pub use rustpython_parser_core::{text_size, Mode}; mod function; diff --git a/ruff_source_location/Cargo.toml b/ruff_source_location/Cargo.toml deleted file mode 100644 index 35123075..00000000 --- a/ruff_source_location/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -# NOTE: RUSTPYTHON -# This crate is not a real crate of ruff, but cut off a part of `ruff_python_ast` and vendored it to avoid cross dependency - -[package] -name = "ruff_source_location" -version = "0.0.0" -publish = false -edition = { workspace = true } -rust-version = { workspace = true } - -[lib] - -[dependencies] -ruff_text_size = { path = "../ruff_text_size" } - -memchr = { workspace = true } -once_cell = { workspace = true } diff --git a/ruff_source_location/src/lib.rs b/ruff_source_location/src/lib.rs deleted file mode 100644 index c7e8b9f6..00000000 --- a/ruff_source_location/src/lib.rs +++ /dev/null @@ -1,227 +0,0 @@ -mod line_index; -// mod locator; -pub mod newlines; - -pub use crate::line_index::{LineIndex, OneIndexed}; -// TODO: RUSTPYTHON; import it later -// pub use locator::Locator; -use ruff_text_size::{TextRange, TextSize}; -#[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; -use std::fmt::{Debug, Formatter}; -use std::sync::Arc; - -/// Gives access to the source code of a file and allows mapping between [`TextSize`] and [`SourceLocation`]. -#[derive(Debug)] -pub struct SourceCode<'src, 'index> { - text: &'src str, - index: &'index LineIndex, -} - -impl<'src, 'index> SourceCode<'src, 'index> { - pub fn new(content: &'src str, index: &'index LineIndex) -> Self { - Self { - text: content, - index, - } - } - - /// Computes the one indexed row and column numbers for `offset`. - #[inline] - pub fn source_location(&self, offset: TextSize) -> SourceLocation { - self.index.source_location(offset, self.text) - } - - #[inline] - pub fn line_index(&self, offset: TextSize) -> OneIndexed { - self.index.line_index(offset) - } - - /// Take the source code up to the given [`TextSize`]. - #[inline] - pub fn up_to(&self, offset: TextSize) -> &'src str { - &self.text[TextRange::up_to(offset)] - } - - /// Take the source code after the given [`TextSize`]. - #[inline] - pub fn after(&self, offset: TextSize) -> &'src str { - &self.text[usize::from(offset)..] - } - - /// Take the source code between the given [`TextRange`]. - pub fn slice(&self, range: TextRange) -> &'src str { - &self.text[range] - } - - pub fn line_start(&self, line: OneIndexed) -> TextSize { - self.index.line_start(line, self.text) - } - - pub fn line_end(&self, line: OneIndexed) -> TextSize { - self.index.line_end(line, self.text) - } - - pub fn line_range(&self, line: OneIndexed) -> TextRange { - self.index.line_range(line, self.text) - } - - /// Returns the source text of the line with the given index - #[inline] - pub fn line_text(&self, index: OneIndexed) -> &'src str { - let range = self.index.line_range(index, self.text); - &self.text[range] - } - - /// Returns the source text - pub fn text(&self) -> &'src str { - self.text - } - - /// Returns the number of lines - #[inline] - pub fn line_count(&self) -> usize { - self.index.line_count() - } -} - -impl PartialEq for SourceCode<'_, '_> { - fn eq(&self, other: &Self) -> bool { - self.text == other.text - } -} - -impl Eq for SourceCode<'_, '_> {} - -/// A Builder for constructing a [`SourceFile`] -pub struct SourceFileBuilder { - name: Box, - code: Box, - index: Option, -} - -impl SourceFileBuilder { - /// Creates a new builder for a file named `name`. - pub fn new>, Code: Into>>(name: Name, code: Code) -> Self { - Self { - name: name.into(), - code: code.into(), - index: None, - } - } - - #[must_use] - pub fn line_index(mut self, index: LineIndex) -> Self { - self.index = Some(index); - self - } - - pub fn set_line_index(&mut self, index: LineIndex) { - self.index = Some(index); - } - - /// Consumes `self` and returns the [`SourceFile`]. - pub fn finish(self) -> SourceFile { - let index = if let Some(index) = self.index { - once_cell::sync::OnceCell::with_value(index) - } else { - once_cell::sync::OnceCell::new() - }; - - SourceFile { - inner: Arc::new(SourceFileInner { - name: self.name, - code: self.code, - line_index: index, - }), - } - } -} - -/// A source file that is identified by its name. Optionally stores the source code and [`LineIndex`]. -/// -/// Cloning a [`SourceFile`] is cheap, because it only requires bumping a reference count. -#[derive(Clone, Eq, PartialEq)] -pub struct SourceFile { - inner: Arc, -} - -impl Debug for SourceFile { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("SourceFile") - .field("name", &self.name()) - .field("code", &self.source_text()) - .finish() - } -} - -impl SourceFile { - /// Returns the name of the source file (filename). - #[inline] - pub fn name(&self) -> &str { - &self.inner.name - } - - #[inline] - pub fn slice(&self, range: TextRange) -> &str { - &self.source_text()[range] - } - - pub fn to_source_code(&self) -> SourceCode { - SourceCode { - text: self.source_text(), - index: self.index(), - } - } - - fn index(&self) -> &LineIndex { - self.inner - .line_index - .get_or_init(|| LineIndex::from_source_text(self.source_text())) - } - - /// Returns `Some` with the source text if set, or `None`. - #[inline] - pub fn source_text(&self) -> &str { - &self.inner.code - } -} - -struct SourceFileInner { - name: Box, - code: Box, - line_index: once_cell::sync::OnceCell, -} - -impl PartialEq for SourceFileInner { - fn eq(&self, other: &Self) -> bool { - self.name == other.name && self.code == other.code - } -} - -impl Eq for SourceFileInner {} - -#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Copy)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct SourceLocation { - pub row: OneIndexed, - pub column: OneIndexed, -} - -impl Default for SourceLocation { - fn default() -> Self { - Self { - row: OneIndexed::MIN, - column: OneIndexed::MIN, - } - } -} - -impl Debug for SourceLocation { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("SourceLocation") - .field("row", &self.row.get()) - .field("column", &self.column.get()) - .finish() - } -} diff --git a/ruff_source_location/src/line_index.rs b/ruff_source_location/src/line_index.rs deleted file mode 100644 index 35041b00..00000000 --- a/ruff_source_location/src/line_index.rs +++ /dev/null @@ -1,630 +0,0 @@ -use crate::SourceLocation; -use ruff_text_size::{TextLen, TextRange, TextSize}; -#[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; -use std::fmt; -use std::fmt::{Debug, Formatter}; -use std::num::NonZeroU32; -use std::ops::Deref; -use std::sync::Arc; - -/// Index for fast [byte offset](TextSize) to [`SourceLocation`] conversions. -/// -/// Cloning a [`LineIndex`] is cheap because it only requires bumping a reference count. -#[derive(Clone)] -pub struct LineIndex { - inner: Arc, -} - -struct LineIndexInner { - line_starts: Vec, - kind: IndexKind, -} - -impl LineIndex { - /// Builds the [`LineIndex`] from the source text of a file. - pub fn from_source_text(text: &str) -> Self { - let mut line_starts: Vec = Vec::with_capacity(text.len() / 88); - line_starts.push(TextSize::default()); - - let bytes = text.as_bytes(); - let mut utf8 = false; - - assert!(u32::try_from(bytes.len()).is_ok()); - - for (i, byte) in bytes.iter().enumerate() { - utf8 |= !byte.is_ascii(); - - match byte { - // Only track one line break for `\r\n`. - b'\r' if bytes.get(i + 1) == Some(&b'\n') => continue, - b'\n' | b'\r' => { - // SAFETY: Assertion above guarantees `i <= u32::MAX` - #[allow(clippy::cast_possible_truncation)] - line_starts.push(TextSize::from(i as u32) + TextSize::from(1)); - } - _ => {} - } - } - - let kind = if utf8 { - IndexKind::Utf8 - } else { - IndexKind::Ascii - }; - - Self { - inner: Arc::new(LineIndexInner { line_starts, kind }), - } - } - - fn kind(&self) -> IndexKind { - self.inner.kind - } - - /// Returns the row and column index for an offset. - /// - /// ## Examples - /// - /// ``` - /// # use ruff_text_size::TextSize; - /// # use ruff_source_location::{LineIndex, OneIndexed, SourceLocation}; - /// let source = "def a():\n pass"; - /// let index = LineIndex::from_source_text(source); - /// - /// assert_eq!( - /// index.source_location(TextSize::from(0), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(0), column: OneIndexed::from_zero_indexed(0) } - /// ); - /// - /// assert_eq!( - /// index.source_location(TextSize::from(4), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(0), column: OneIndexed::from_zero_indexed(4) } - /// ); - /// assert_eq!( - /// index.source_location(TextSize::from(13), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(1), column: OneIndexed::from_zero_indexed(4) } - /// ); - /// ``` - /// - /// ## Panics - /// - /// If the offset is out of bounds. - pub fn source_location(&self, offset: TextSize, content: &str) -> SourceLocation { - match self.binary_search_line(&offset) { - // Offset is at the start of a line - Ok(row) => SourceLocation { - row: OneIndexed::from_zero_indexed(row), - column: OneIndexed::from_zero_indexed(0), - }, - Err(next_row) => { - // SAFETY: Safe because the index always contains an entry for the offset 0 - let row = next_row - 1; - let mut line_start = self.line_starts()[row as usize]; - - let column = if self.kind().is_ascii() { - u32::from(offset - line_start) - } else { - // Don't count the BOM character as a column. - if line_start == TextSize::from(0) && content.starts_with('\u{feff}') { - line_start = '\u{feff}'.text_len(); - } - - let range = TextRange::new(line_start, offset); - content[range].chars().count().try_into().unwrap() - }; - - SourceLocation { - row: OneIndexed::from_zero_indexed(row), - column: OneIndexed::from_zero_indexed(column), - } - } - } - } - - /// Return the number of lines in the source code. - pub(crate) fn line_count(&self) -> usize { - self.line_starts().len() - } - - /// Returns the row number for a given offset. - /// - /// ## Examples - /// - /// ``` - /// # use ruff_text_size::TextSize; - /// # use ruff_source_location::{LineIndex, OneIndexed, SourceLocation}; - /// let source = "def a():\n pass"; - /// let index = LineIndex::from_source_text(source); - /// - /// assert_eq!(index.line_index(TextSize::from(0)), OneIndexed::from_zero_indexed(0)); - /// assert_eq!(index.line_index(TextSize::from(4)), OneIndexed::from_zero_indexed(0)); - /// assert_eq!(index.line_index(TextSize::from(13)), OneIndexed::from_zero_indexed(1)); - /// ``` - /// - /// ## Panics - /// - /// If the offset is out of bounds. - pub fn line_index(&self, offset: TextSize) -> OneIndexed { - match self.binary_search_line(&offset) { - // Offset is at the start of a line - Ok(row) => OneIndexed::from_zero_indexed(row), - Err(row) => { - // SAFETY: Safe because the index always contains an entry for the offset 0 - OneIndexed::from_zero_indexed(row - 1) - } - } - } - - /// Returns the [byte offset](TextSize) for the `line` with the given index. - pub(crate) fn line_start(&self, line: OneIndexed, contents: &str) -> TextSize { - let row_index = line.to_zero_indexed_usize(); - let starts = self.line_starts(); - - // If start-of-line position after last line - if row_index == starts.len() { - contents.text_len() - } else { - starts[row_index] - } - } - - /// Returns the [byte offset](TextSize) of the `line`'s end. - /// The offset is the end of the line, up to and including the newline character ending the line (if any). - pub(crate) fn line_end(&self, line: OneIndexed, contents: &str) -> TextSize { - let row_index = line.to_zero_indexed_usize(); - let starts = self.line_starts(); - - // If start-of-line position after last line - if row_index.saturating_add(1) >= starts.len() { - contents.text_len() - } else { - starts[row_index + 1] - } - } - - /// Returns the [`TextRange`] of the `line` with the given index. - /// The start points to the first character's [byte offset](TextSize), the end up to, and including - /// the newline character ending the line (if any). - pub(crate) fn line_range(&self, line: OneIndexed, contents: &str) -> TextRange { - let starts = self.line_starts(); - - if starts.len() == line.to_zero_indexed_usize() { - TextRange::empty(contents.text_len()) - } else { - TextRange::new( - self.line_start(line, contents), - self.line_start(line.saturating_add(1), contents), - ) - } - } - - /// Returns the [byte offsets](TextSize) for every line - pub fn line_starts(&self) -> &[TextSize] { - &self.inner.line_starts - } - - #[allow(clippy::trivially_copy_pass_by_ref)] // to keep same interface as `[T]::binary_search` - fn binary_search_line(&self, offset: &TextSize) -> Result { - // `try_into()` always success as long as TextSize is u32 - match self.line_starts().binary_search(offset) { - Ok(index) => Ok(index.try_into().unwrap()), - Err(index) => Err(index.try_into().unwrap()), - } - } -} - -impl Deref for LineIndex { - type Target = [TextSize]; - - fn deref(&self) -> &Self::Target { - self.line_starts() - } -} - -impl Debug for LineIndex { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - f.debug_list().entries(self.line_starts()).finish() - } -} - -#[derive(Debug, Clone, Copy)] -enum IndexKind { - /// Optimized index for an ASCII only document - Ascii, - - /// Index for UTF8 documents - Utf8, -} - -impl IndexKind { - const fn is_ascii(self) -> bool { - matches!(self, IndexKind::Ascii) - } -} - -/// Type-safe wrapper for a value whose logical range starts at `1`, for -/// instance the line or column numbers in a file -/// -/// Internally this is represented as a [`NonZeroU32`], this enables some -/// memory optimizations -#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct OneIndexed(NonZeroU32); - -#[allow(clippy::cast_possible_truncation)] // manually checked -const fn try_to_u32(value: usize) -> Result { - if value <= u32::MAX as usize { - Ok(value as u32) - } else { - Err(value) - } -} - -impl OneIndexed { - // SAFETY: These constants are being initialized with non-zero values - /// The smallest value that can be represented by this integer type. - pub const MIN: Self = unwrap(Self::new(1)); - /// The largest value that can be represented by this integer type - pub const MAX: Self = unwrap(Self::new(u32::MAX)); - - const ONE: NonZeroU32 = unwrap(NonZeroU32::new(1)); - - /// Creates a non-zero if the given value is not zero. - pub const fn new(value: u32) -> Option { - match NonZeroU32::new(value) { - Some(value) => Some(Self(value)), - None => None, - } - } - - /// Construct a new [`OneIndexed`] from a zero-indexed value - pub const fn from_zero_indexed(value: u32) -> Self { - Self(Self::ONE.saturating_add(value)) - } - - /// Construct a new [`OneIndexed`] from a zero-indexed usize value - pub const fn try_from_zero_indexed(value: usize) -> Result { - match try_to_u32(value) { - Ok(value) => Ok(Self(Self::ONE.saturating_add(value))), - Err(value) => Err(value), - } - } - - /// Returns the value as a primitive type. - pub const fn get(self) -> u32 { - self.0.get() - } - - /// Return the usize value for this [`OneIndexed`] - pub const fn to_usize(self) -> usize { - self.get() as _ - } - - /// Return the zero-indexed primitive value for this [`OneIndexed`] - pub const fn to_zero_indexed(self) -> u32 { - self.0.get() - 1 - } - - /// Return the zero-indexed usize value for this [`OneIndexed`] - pub const fn to_zero_indexed_usize(self) -> usize { - self.to_zero_indexed() as _ - } - - /// Saturating integer addition. Computes `self + rhs`, saturating at - /// the numeric bounds instead of overflowing. - #[must_use] - pub const fn saturating_add(self, rhs: u32) -> Self { - match NonZeroU32::new(self.0.get().saturating_add(rhs)) { - Some(value) => Self(value), - None => Self::MAX, - } - } - - /// Saturating integer subtraction. Computes `self - rhs`, saturating - /// at the numeric bounds instead of overflowing. - #[must_use] - pub const fn saturating_sub(self, rhs: u32) -> Self { - match NonZeroU32::new(self.0.get().saturating_sub(rhs)) { - Some(value) => Self(value), - None => Self::MIN, - } - } -} - -impl std::fmt::Display for OneIndexed { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - std::fmt::Debug::fmt(&self.0.get(), f) - } -} - -/// A const `Option::unwrap` without nightly features: -/// [Tracking issue](https://github.com/rust-lang/rust/issues/67441) -const fn unwrap(option: Option) -> T { - match option { - Some(value) => value, - None => panic!("unwrapping None"), - } -} - -#[cfg(test)] -mod tests { - use crate::line_index::LineIndex; - use crate::{OneIndexed, SourceLocation}; - use ruff_text_size::TextSize; - - #[test] - fn ascii_index() { - let index = LineIndex::from_source_text(""); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = 1"); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = 1\n"); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(6)]); - - let index = LineIndex::from_source_text("x = 1\ny = 2\nz = x + y\n"); - assert_eq!( - index.line_starts(), - &[ - TextSize::from(0), - TextSize::from(6), - TextSize::from(12), - TextSize::from(22) - ] - ); - } - - #[test] - fn ascii_source_location() { - let contents = "x = 1\ny = 2"; - let index = LineIndex::from_source_text(contents); - - // First row. - let loc = index.source_location(TextSize::from(2), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(2) - } - ); - - // Second row. - let loc = index.source_location(TextSize::from(6), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - - let loc = index.source_location(TextSize::from(11), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(5) - } - ); - } - - #[test] - fn ascii_carriage_return() { - let contents = "x = 4\ry = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(6)]); - - assert_eq!( - index.source_location(TextSize::from(4), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(4) - } - ); - assert_eq!( - index.source_location(TextSize::from(6), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(7), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn ascii_carriage_return_newline() { - let contents = "x = 4\r\ny = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(7)]); - - assert_eq!( - index.source_location(TextSize::from(4), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(4) - } - ); - assert_eq!( - index.source_location(TextSize::from(7), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(8), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_index() { - let index = LineIndex::from_source_text("x = '🫣'"); - assert_eq!(index.line_count(), 1); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = '🫣'\n"); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(11)] - ); - - let index = LineIndex::from_source_text("x = '🫣'\ny = 2\nz = x + y\n"); - assert_eq!(index.line_count(), 4); - assert_eq!( - index.line_starts(), - &[ - TextSize::from(0), - TextSize::from(11), - TextSize::from(17), - TextSize::from(27) - ] - ); - - let index = LineIndex::from_source_text("# 🫣\nclass Foo:\n \"\"\".\"\"\""); - assert_eq!(index.line_count(), 3); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(7), TextSize::from(18)] - ); - } - - #[test] - fn utf8_carriage_return() { - let contents = "x = '🫣'\ry = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(11)] - ); - - // Second ' - assert_eq!( - index.source_location(TextSize::from(9), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - assert_eq!( - index.source_location(TextSize::from(11), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(12), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_carriage_return_newline() { - let contents = "x = '🫣'\r\ny = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(12)] - ); - - // Second ' - assert_eq!( - index.source_location(TextSize::from(9), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - assert_eq!( - index.source_location(TextSize::from(12), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(13), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_byte_offset() { - let contents = "x = '☃'\ny = 2"; - let index = LineIndex::from_source_text(contents); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(10)] - ); - - // First row. - let loc = index.source_location(TextSize::from(0), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(0) - } - ); - - let loc = index.source_location(TextSize::from(5), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(5) - } - ); - - let loc = index.source_location(TextSize::from(8), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - - // Second row. - let loc = index.source_location(TextSize::from(10), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - - // One-past-the-end. - let loc = index.source_location(TextSize::from(15), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(5) - } - ); - } -} diff --git a/ruff_source_location/src/newlines.rs b/ruff_source_location/src/newlines.rs deleted file mode 100644 index 75d778b8..00000000 --- a/ruff_source_location/src/newlines.rs +++ /dev/null @@ -1,446 +0,0 @@ -use memchr::{memchr2, memrchr2}; -use ruff_text_size::{TextLen, TextRange, TextSize}; -use std::iter::FusedIterator; -use std::ops::Deref; - -/// Extension trait for [`str`] that provides a [`UniversalNewlineIterator`]. -pub trait StrExt { - fn universal_newlines(&self) -> UniversalNewlineIterator<'_>; -} - -impl StrExt for str { - fn universal_newlines(&self) -> UniversalNewlineIterator<'_> { - UniversalNewlineIterator::from(self) - } -} - -/// Like [`str#lines`], but accommodates LF, CRLF, and CR line endings, -/// the latter of which are not supported by [`str#lines`]. -/// -/// ## Examples -/// -/// ```rust -/// # use ruff_text_size::TextSize; -/// # use ruff_source_location::newlines::{Line, UniversalNewlineIterator}; -/// let mut lines = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop"); -/// -/// assert_eq!(lines.next_back(), Some(Line::new("bop", TextSize::from(14)))); -/// assert_eq!(lines.next(), Some(Line::new("foo\n", TextSize::from(0)))); -/// assert_eq!(lines.next_back(), Some(Line::new("baz\r", TextSize::from(10)))); -/// assert_eq!(lines.next(), Some(Line::new("bar\n", TextSize::from(4)))); -/// assert_eq!(lines.next_back(), Some(Line::new("\r\n", TextSize::from(8)))); -/// assert_eq!(lines.next(), None); -/// ``` -pub struct UniversalNewlineIterator<'a> { - text: &'a str, - offset: TextSize, - offset_back: TextSize, -} - -impl<'a> UniversalNewlineIterator<'a> { - pub fn with_offset(text: &'a str, offset: TextSize) -> UniversalNewlineIterator<'a> { - UniversalNewlineIterator { - text, - offset, - offset_back: offset + text.text_len(), - } - } - - pub fn from(text: &'a str) -> UniversalNewlineIterator<'a> { - Self::with_offset(text, TextSize::default()) - } -} - -/// Finds the next newline character. Returns its position and the [`LineEnding`]. -#[inline] -pub fn find_newline(text: &str) -> Option<(usize, LineEnding)> { - let bytes = text.as_bytes(); - if let Some(position) = memchr2(b'\n', b'\r', bytes) { - // SAFETY: memchr guarantees to return valid positions - #[allow(unsafe_code)] - let newline_character = unsafe { *bytes.get_unchecked(position) }; - - let line_ending = match newline_character { - // Explicit branch for `\n` as this is the most likely path - b'\n' => LineEnding::Lf, - // '\r\n' - b'\r' if bytes.get(position.saturating_add(1)) == Some(&b'\n') => LineEnding::CrLf, - // '\r' - _ => LineEnding::Cr, - }; - - Some((position, line_ending)) - } else { - None - } -} - -impl<'a> Iterator for UniversalNewlineIterator<'a> { - type Item = Line<'a>; - - #[inline] - fn next(&mut self) -> Option> { - if self.text.is_empty() { - return None; - } - - let line = if let Some((newline_position, line_ending)) = find_newline(self.text) { - let (text, remainder) = self.text.split_at(newline_position + line_ending.len()); - - let line = Line { - offset: self.offset, - text, - }; - - self.text = remainder; - self.offset += text.text_len(); - - line - } - // Last line - else { - Line { - offset: self.offset, - text: std::mem::take(&mut self.text), - } - }; - - Some(line) - } - - fn last(mut self) -> Option { - self.next_back() - } -} - -impl DoubleEndedIterator for UniversalNewlineIterator<'_> { - #[inline] - fn next_back(&mut self) -> Option { - if self.text.is_empty() { - return None; - } - - let len = self.text.len(); - - // Trim any trailing newlines. - let haystack = match self.text.as_bytes()[len - 1] { - b'\n' if len > 1 && self.text.as_bytes()[len - 2] == b'\r' => &self.text[..len - 2], - b'\n' | b'\r' => &self.text[..len - 1], - _ => self.text, - }; - - // Find the end of the previous line. The previous line is the text up to, but not including - // the newline character. - let line = if let Some(line_end) = memrchr2(b'\n', b'\r', haystack.as_bytes()) { - // '\n' or '\r' or '\r\n' - let (remainder, line) = self.text.split_at(line_end + 1); - self.text = remainder; - self.offset_back -= line.text_len(); - - Line { - text: line, - offset: self.offset_back, - } - } else { - // Last line - let offset = self.offset_back - self.text.text_len(); - Line { - text: std::mem::take(&mut self.text), - offset, - } - }; - - Some(line) - } -} - -impl FusedIterator for UniversalNewlineIterator<'_> {} - -/// Like [`UniversalNewlineIterator`], but includes a trailing newline as an empty line. -pub struct NewlineWithTrailingNewline<'a> { - trailing: Option>, - underlying: UniversalNewlineIterator<'a>, -} - -impl<'a> NewlineWithTrailingNewline<'a> { - pub fn from(input: &'a str) -> NewlineWithTrailingNewline<'a> { - Self::with_offset(input, TextSize::default()) - } - - pub fn with_offset(input: &'a str, offset: TextSize) -> Self { - NewlineWithTrailingNewline { - underlying: UniversalNewlineIterator::with_offset(input, offset), - trailing: if input.ends_with(['\r', '\n']) { - Some(Line { - text: "", - offset: offset + input.text_len(), - }) - } else { - None - }, - } - } -} - -impl<'a> Iterator for NewlineWithTrailingNewline<'a> { - type Item = Line<'a>; - - #[inline] - fn next(&mut self) -> Option> { - self.underlying.next().or_else(|| self.trailing.take()) - } -} - -#[derive(Debug, Clone, Eq, PartialEq)] -pub struct Line<'a> { - text: &'a str, - offset: TextSize, -} - -impl<'a> Line<'a> { - pub fn new(text: &'a str, offset: TextSize) -> Self { - Self { text, offset } - } - - #[inline] - pub const fn start(&self) -> TextSize { - self.offset - } - - /// Returns the byte offset where the line ends, including its terminating new line character. - #[inline] - pub fn full_end(&self) -> TextSize { - self.offset + self.full_text_len() - } - - /// Returns the byte offset where the line ends, excluding its new line character - #[inline] - pub fn end(&self) -> TextSize { - self.offset + self.as_str().text_len() - } - - /// Returns the range of the line, including its terminating new line character. - #[inline] - pub fn full_range(&self) -> TextRange { - TextRange::at(self.offset, self.text.text_len()) - } - - /// Returns the range of the line, excluding its terminating new line character - #[inline] - pub fn range(&self) -> TextRange { - TextRange::new(self.start(), self.end()) - } - - /// Returns the text of the line, excluding the terminating new line character. - #[inline] - pub fn as_str(&self) -> &'a str { - let mut bytes = self.text.bytes().rev(); - - let newline_len = match bytes.next() { - Some(b'\n') => { - if bytes.next() == Some(b'\r') { - 2 - } else { - 1 - } - } - Some(b'\r') => 1, - _ => 0, - }; - - &self.text[..self.text.len() - newline_len] - } - - /// Returns the line's text, including the terminating new line character. - #[inline] - pub fn as_full_str(&self) -> &'a str { - self.text - } - - #[inline] - pub fn full_text_len(&self) -> TextSize { - self.text.text_len() - } -} - -impl Deref for Line<'_> { - type Target = str; - - fn deref(&self) -> &Self::Target { - self.as_str() - } -} - -impl PartialEq<&str> for Line<'_> { - fn eq(&self, other: &&str) -> bool { - self.as_str() == *other - } -} - -impl PartialEq> for &str { - fn eq(&self, other: &Line<'_>) -> bool { - *self == other.as_str() - } -} - -/// The line ending style used in Python source code. -/// See -#[derive(Debug, PartialEq, Eq, Copy, Clone)] -pub enum LineEnding { - Lf, - Cr, - CrLf, -} - -impl Default for LineEnding { - fn default() -> Self { - if cfg!(windows) { - LineEnding::CrLf - } else { - LineEnding::Lf - } - } -} - -impl LineEnding { - pub const fn as_str(&self) -> &'static str { - match self { - LineEnding::Lf => "\n", - LineEnding::CrLf => "\r\n", - LineEnding::Cr => "\r", - } - } - - #[allow(clippy::len_without_is_empty)] - pub const fn len(&self) -> usize { - match self { - LineEnding::Lf | LineEnding::Cr => 1, - LineEnding::CrLf => 2, - } - } - - pub const fn text_len(&self) -> TextSize { - match self { - LineEnding::Lf | LineEnding::Cr => TextSize::new(1), - LineEnding::CrLf => TextSize::new(2), - } - } -} - -impl Deref for LineEnding { - type Target = str; - - fn deref(&self) -> &Self::Target { - self.as_str() - } -} - -#[cfg(test)] -mod tests { - use super::UniversalNewlineIterator; - use crate::newlines::Line; - use ruff_text_size::TextSize; - - #[test] - fn universal_newlines_empty_str() { - let lines: Vec<_> = UniversalNewlineIterator::from("").collect(); - assert_eq!(lines, Vec::::new()); - - let lines: Vec<_> = UniversalNewlineIterator::from("").rev().collect(); - assert_eq!(lines, Vec::::new()); - } - - #[test] - fn universal_newlines_forward() { - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop", TextSize::from(14)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop\n").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop\n", TextSize::from(14)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop\n\n").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop\n", TextSize::from(14)), - Line::new("\n", TextSize::from(18)), - ] - ); - } - - #[test] - fn universal_newlines_backwards() { - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop") - .rev() - .collect(); - assert_eq!( - lines, - vec![ - Line::new("bop", TextSize::from(14)), - Line::new("baz\r", TextSize::from(10)), - Line::new("\r\n", TextSize::from(8)), - Line::new("bar\n", TextSize::from(4)), - Line::new("foo\n", TextSize::from(0)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\nbaz\rbop\n") - .rev() - .map(|line| line.as_str()) - .collect(); - - assert_eq!( - lines, - vec![ - Line::new("bop\n", TextSize::from(13)), - Line::new("baz\r", TextSize::from(9)), - Line::new("\n", TextSize::from(8)), - Line::new("bar\n", TextSize::from(4)), - Line::new("foo\n", TextSize::from(0)), - ] - ); - } - - #[test] - fn universal_newlines_mixed() { - let mut lines = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop"); - - assert_eq!( - lines.next_back(), - Some(Line::new("bop", TextSize::from(14))) - ); - assert_eq!(lines.next(), Some(Line::new("foo\n", TextSize::from(0)))); - assert_eq!( - lines.next_back(), - Some(Line::new("baz\r", TextSize::from(10))) - ); - assert_eq!(lines.next(), Some(Line::new("bar\n", TextSize::from(4)))); - assert_eq!( - lines.next_back(), - Some(Line::new("\r\n", TextSize::from(8))) - ); - assert_eq!(lines.next(), None); - } -} diff --git a/scripts/update_asdl.sh b/scripts/update_asdl.sh index c7115a51..985d780e 100755 --- a/scripts/update_asdl.sh +++ b/scripts/update_asdl.sh @@ -4,5 +4,5 @@ set -e cd "$(dirname "$(dirname "$0")")" # rm ast/src/gen/*.rs -python ast/asdl_rs.py --ast-dir ast/src/gen/ --parser-dir parser/src/gen/ --ast-pyo3-dir ast-pyo3/src/gen/ --module-file ../RustPython/vm/src/stdlib/ast/gen.rs ast/Python.asdl -rustfmt ast/src/gen/*.rs parser/src/gen/*.rs ast-pyo3/src/gen/*.rs ../RustPython/vm/src/stdlib/ast/gen.rs +python ast/asdl_rs.py --ast-dir ast/src/gen/ --parser-dir parser/src/gen/ ast/Python.asdl +rustfmt ast/src/gen/*.rs parser/src/gen/*.rs From 361e19bd87660002498e253b5724d732f19f7f16 Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:51:20 -0500 Subject: [PATCH 09/15] Add `TextRange` to `Identifier` (#8) This PR adds `TextRange` to `Identifier`. Right now, the AST only includes ranges for identifiers in certain cases (`Expr::Name`, `Keyword`, etc.), namely when the identifier comprises an entire AST node. In Ruff, we do additional ad-hoc lexing to extract identifiers from source code. One frequent example: given a function `def f(): ...`, we lex to find the range of `f`, for use in diagnostics. Another: `except ValueError as e`, for which the AST doesn't include a range for `e`. Note that, as an optimization, we avoid storing the `TextRange` for `Expr::Name`, since it's already included. --- ast/asdl_rs.py | 6 + ast/src/builtin.rs | 52 +- ast/src/gen/generic.rs | 2 +- ast/src/impls.rs | 4 +- parser/src/function.rs | 4 +- parser/src/parser.rs | 5 +- parser/src/python.lalrpop | 20 +- parser/src/python.rs | 5916 +++++++++-------- ...rser__context__tests__ann_assign_name.snap | 8 +- ...ser__context__tests__assign_attribute.snap | 11 +- ...on_parser__context__tests__assign_for.snap | 4 +- ...n_parser__context__tests__assign_list.snap | 8 +- ...ser__context__tests__assign_list_comp.snap | 12 +- ...n_parser__context__tests__assign_name.snap | 4 +- ...er__context__tests__assign_named_expr.snap | 4 +- ...rser__context__tests__assign_set_comp.snap | 12 +- ...arser__context__tests__assign_starred.snap | 8 +- ...ser__context__tests__assign_subscript.snap | 8 +- ..._parser__context__tests__assign_tuple.snap | 8 +- ...n_parser__context__tests__assign_with.snap | 4 +- ..._context__tests__aug_assign_attribute.snap | 11 +- ...rser__context__tests__aug_assign_name.snap | 4 +- ..._context__tests__aug_assign_subscript.snap | 8 +- ...parser__context__tests__del_attribute.snap | 11 +- ...thon_parser__context__tests__del_name.snap | 4 +- ...parser__context__tests__del_subscript.snap | 8 +- ...unction__tests__function_kw_only_args.snap | 28 +- ...__function_kw_only_args_with_defaults.snap | 28 +- ...er__function__tests__function_no_args.snap | 7 +- ...__tests__function_no_args_with_ranges.snap | 7 +- ..._tests__function_pos_and_kw_only_args.snap | 49 +- ...on_pos_and_kw_only_args_with_defaults.snap | 49 +- ...w_only_args_with_defaults_and_varargs.snap | 56 +- ..._with_defaults_and_varargs_and_kwargs.snap | 63 +- ...r__function__tests__function_pos_args.snap | 28 +- ...ests__function_pos_args_with_defaults.snap | 28 +- ..._tests__function_pos_args_with_ranges.snap | 28 +- ..._function__tests__lambda_kw_only_args.snap | 21 +- ...ts__lambda_kw_only_args_with_defaults.snap | 21 +- ...n__tests__lambda_pos_and_kw_only_args.snap | 35 +- ...ser__function__tests__lambda_pos_args.snap | 21 +- ..._tests__lambda_pos_args_with_defaults.snap | 21 +- ...parser__parser__tests__dict_unpacking.snap | 4 +- ..._tests__generator_expression_argument.snap | 31 +- ...stpython_parser__parser__tests__match.snap | 58 +- ...r__parser__tests__match_as_identifier.snap | 221 +- ...ser__parser__tests__parse_bool_op_and.snap | 8 +- ...rser__parser__tests__parse_bool_op_or.snap | 8 +- ...on_parser__parser__tests__parse_class.snap | 50 +- ...rser__tests__parse_dict_comprehension.snap | 16 +- ...ests__parse_double_list_comprehension.snap | 32 +- ..._tests__parse_generator_comprehension.snap | 12 +- ...parse_if_else_generator_comprehension.snap | 20 +- ...n_parser__parser__tests__parse_kwargs.snap | 11 +- ...n_parser__parser__tests__parse_lambda.snap | 22 +- ...rser__tests__parse_list_comprehension.snap | 12 +- ...ed_expression_generator_comprehension.snap | 16 +- ..._parser__parser__tests__parse_print_2.snap | 4 +- ...ser__parser__tests__parse_print_hello.snap | 4 +- ...n_parser__parser__tests__parse_tuples.snap | 10 +- ...stpython_parser__parser__tests__patma.snap | 504 +- ...stpython_parser__parser__tests__slice.snap | 4 +- ...hon_parser__parser__tests__star_index.snap | 44 +- ...rustpython_parser__parser__tests__try.snap | 50 +- ...ython_parser__parser__tests__try_star.snap | 88 +- ...ser__parser__tests__variadic_generics.snap | 26 +- ...parser__parser__tests__with_statement.snap | 112 +- ...ing__tests__fstring_escaped_character.snap | 4 +- ...tring__tests__fstring_escaped_newline.snap | 4 +- ...ing__tests__fstring_line_continuation.snap | 4 +- ...__fstring_parse_self_documenting_base.snap | 4 +- ...ring_parse_self_documenting_base_more.snap | 8 +- ...fstring_parse_self_documenting_format.snap | 4 +- ...ing__tests__fstring_unescaped_newline.snap | 4 +- ..._parser__string__tests__parse_fstring.snap | 8 +- ...ing__tests__parse_fstring_nested_spec.snap | 8 +- ..._tests__parse_fstring_not_nested_spec.snap | 4 +- ...ts__parse_fstring_self_doc_prec_space.snap | 4 +- ...parse_fstring_self_doc_trailing_space.snap | 4 +- ...on_parser__string__tests__raw_fstring.snap | 4 +- ...ing__tests__triple_quoted_raw_fstring.snap | 4 +- 81 files changed, 3870 insertions(+), 4201 deletions(-) diff --git a/ast/asdl_rs.py b/ast/asdl_rs.py index 39bfdf36..7e51da78 100755 --- a/ast/asdl_rs.py +++ b/ast/asdl_rs.py @@ -630,6 +630,12 @@ def visitField(self, field, parent, vis, depth, constructor=None): if typ == "Int": typ = BUILTIN_INT_NAMES.get(field.name, typ) name = rust_field(field.name) + + # Use a String, rather than an Identifier, for the `id` field of `Expr::Name`. + # Names already include a range, so there's no need to duplicate the span. + if name == "id": + typ = "String" + self.emit(f"{vis}{name}: {typ},", depth) def visitProduct(self, product, type, depth): diff --git a/ast/src/builtin.rs b/ast/src/builtin.rs index 1a64efb8..dbca926a 100644 --- a/ast/src/builtin.rs +++ b/ast/src/builtin.rs @@ -1,37 +1,46 @@ //! `builtin_types` in asdl.py and Attributed +use rustpython_parser_core::text_size::TextRange; + use crate::bigint::BigInt; +use crate::Ranged; pub type String = std::string::String; #[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub struct Identifier(String); +pub struct Identifier { + id: String, + range: TextRange, +} impl Identifier { #[inline] - pub fn new(s: impl Into) -> Self { - Self(s.into()) + pub fn new(id: impl Into, range: TextRange) -> Self { + Self { + id: id.into(), + range, + } } } impl Identifier { #[inline] pub fn as_str(&self) -> &str { - self.0.as_str() + self.id.as_str() } } -impl std::cmp::PartialEq for Identifier { +impl PartialEq for Identifier { #[inline] fn eq(&self, other: &str) -> bool { - self.0 == other + self.id == other } } -impl std::cmp::PartialEq for Identifier { +impl PartialEq for Identifier { #[inline] fn eq(&self, other: &String) -> bool { - &self.0 == other + &self.id == other } } @@ -39,48 +48,40 @@ impl std::ops::Deref for Identifier { type Target = str; #[inline] fn deref(&self) -> &Self::Target { - self.0.as_str() + self.id.as_str() } } impl AsRef for Identifier { #[inline] fn as_ref(&self) -> &str { - self.0.as_str() + self.id.as_str() } } impl AsRef for Identifier { #[inline] fn as_ref(&self) -> &String { - &self.0 + &self.id } } impl std::fmt::Display for Identifier { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - self.0.fmt(f) + self.id.fmt(f) } } impl From for String { #[inline] - fn from(id: Identifier) -> String { - id.0 + fn from(identifier: Identifier) -> String { + identifier.id } } -impl From for Identifier { - #[inline] - fn from(id: String) -> Self { - Self(id) - } -} - -impl<'a> From<&'a str> for Identifier { - #[inline] - fn from(id: &'a str) -> Identifier { - id.to_owned().into() +impl Ranged for Identifier { + fn range(&self) -> TextRange { + self.range } } @@ -207,6 +208,7 @@ impl std::fmt::Display for Constant { #[cfg(test)] mod tests { use super::*; + #[test] fn test_is_macro() { let none = Constant::None; diff --git a/ast/src/gen/generic.rs b/ast/src/gen/generic.rs index 6a9ee7dc..87217eb2 100644 --- a/ast/src/gen/generic.rs +++ b/ast/src/gen/generic.rs @@ -1563,7 +1563,7 @@ impl From> for Ast { #[derive(Clone, Debug, PartialEq)] pub struct ExprName { pub range: R, - pub id: Identifier, + pub id: String, pub ctx: ExprContext, } diff --git a/ast/src/impls.rs b/ast/src/impls.rs index 3c267e85..fb8cc7b6 100644 --- a/ast/src/impls.rs +++ b/ast/src/impls.rs @@ -57,8 +57,8 @@ impl Expr { #[cfg(target_arch = "x86_64")] static_assertions::assert_eq_size!(crate::Expr, [u8; 72]); #[cfg(target_arch = "x86_64")] -static_assertions::assert_eq_size!(crate::Stmt, [u8; 136]); +static_assertions::assert_eq_size!(crate::Stmt, [u8; 144]); #[cfg(target_arch = "x86_64")] static_assertions::assert_eq_size!(crate::Pattern, [u8; 96]); #[cfg(target_arch = "x86_64")] -static_assertions::assert_eq_size!(crate::ExceptHandler, [u8; 64]); +static_assertions::assert_eq_size!(crate::ExceptHandler, [u8; 72]); diff --git a/parser/src/function.rs b/parser/src/function.rs index 201a43b1..e68eed1f 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -90,7 +90,7 @@ pub(crate) fn parse_args(func_args: Vec) -> Result { // Check for duplicate keyword arguments in the call. if let Some(keyword_name) = &name { - if !keyword_names.insert(keyword_name.clone()) { + if !keyword_names.insert(keyword_name.to_string()) { return Err(LexicalError { error: LexicalErrorType::DuplicateKeywordArgumentError( keyword_name.to_string(), @@ -103,7 +103,7 @@ pub(crate) fn parse_args(func_args: Vec) -> Result Result { let expr = ast::Expr::parse_tokens(lxr, source_path)?; match expr { - ast::Expr::Name(name) => Ok(name.id), + ast::Expr::Name(name) => { + let range = name.range(); + Ok(ast::Identifier::new(name.id, range)) + } expr => Err(ParseError { error: ParseErrorType::InvalidToken, offset: expr.range().start(), diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index b1401d45..dde1f94e 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -266,7 +266,7 @@ ImportAsNames: Vec = { "(" >> ","? ")" => i, "*" => { // Star import all - vec![ast::Alias { name: ast::Identifier::new("*"), asname: None, range: (location..end_location).into() }] + vec![ast::Alias { name: ast::Identifier::new("*", (location..end_location).into()), asname: None, range: (location..end_location).into() }] }, }; @@ -278,14 +278,14 @@ ImportAsAlias: ast::Alias = { // A name like abc or abc.def.ghi DottedName: ast::Identifier = { - => ast::Identifier::new(n), - => { + => ast::Identifier::new(n, (location..end_location).into()), + => { let mut r = n.to_string(); for x in n2 { r.push('.'); r.push_str(x.1.as_str()); } - ast::Identifier::new(r) + ast::Identifier::new(r, (location..end_location).into()) }, }; @@ -563,8 +563,8 @@ CapturePattern: ast::Pattern = { } MatchName: ast::Expr = { - => ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + => ast::Expr::Name( + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, ), } @@ -1189,7 +1189,7 @@ NamedExpression: ast::Expr = { ast::Expr::NamedExpr( ast::ExprNamedExpr { target: Box::new(ast::Expr::Name( - ast::ExprName { id, ctx: ast::ExprContext::Store, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Store, range: (location..end_location).into() }, )), range: (location..value.end()).into(), value: Box::new(value), @@ -1405,8 +1405,8 @@ Atom: ast::Expr = { => ast::Expr::Constant( ast::ExprConstant { value, kind: None, range: (location..end_location).into() } ), - => ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + => ast::Expr::Name( + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ), "[" "]" => { let elts = e.unwrap_or_default(); @@ -1641,7 +1641,7 @@ Constant: ast::Constant = { }; Identifier: ast::Identifier = { - => ast::Identifier::new(s) + => ast::Identifier::new(s, (location..end_location).into()) }; // Hook external lexer: diff --git a/parser/src/python.rs b/parser/src/python.rs index dea672f3..68150798 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: 92ca230320ea7accf7008dbd11a0a45bbf94a004e6e869cf44e6486fe8f0216f +// sha3: 14e81ae63fc1bc518b1a33a3fc6271ec1586361626d59701a3688b51fbb96c46 use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -11073,7 +11073,7 @@ mod __parse__Top { __reduce24(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 25 => { - // ("," >) = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(916); + // ("," >) = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(919); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11082,7 +11082,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action916::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action919::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11090,7 +11090,7 @@ mod __parse__Top { (5, 15) } 26 => { - // ("," >) = ",", "*", ",", KwargParameter => ActionFn(917); + // ("," >) = ",", "*", ",", KwargParameter => ActionFn(920); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11098,7 +11098,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action917::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action920::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11106,7 +11106,7 @@ mod __parse__Top { (4, 15) } 27 => { - // ("," >) = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(918); + // ("," >) = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(921); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -11116,7 +11116,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action918::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action921::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11124,7 +11124,7 @@ mod __parse__Top { (6, 15) } 28 => { - // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(919); + // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(922); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11133,7 +11133,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action919::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action922::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11141,14 +11141,14 @@ mod __parse__Top { (5, 15) } 29 => { - // ("," >) = ",", "*", StarTypedParameter => ActionFn(920); + // ("," >) = ",", "*", StarTypedParameter => ActionFn(923); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action920::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action923::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11156,13 +11156,13 @@ mod __parse__Top { (3, 15) } 30 => { - // ("," >) = ",", "*" => ActionFn(921); + // ("," >) = ",", "*" => ActionFn(924); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action921::<>(__sym0, __sym1) { + let __nt = match super::__action924::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11170,7 +11170,7 @@ mod __parse__Top { (2, 15) } 31 => { - // ("," >) = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(922); + // ("," >) = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(925); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant61(__symbols); @@ -11178,7 +11178,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action922::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action925::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11186,14 +11186,14 @@ mod __parse__Top { (4, 15) } 32 => { - // ("," >) = ",", "*", ("," >)+ => ActionFn(923); + // ("," >) = ",", "*", ("," >)+ => ActionFn(926); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action923::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action926::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11201,7 +11201,7 @@ mod __parse__Top { (3, 15) } 33 => { - // ("," >)? = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(940); + // ("," >)? = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(943); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11210,7 +11210,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action940::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action943::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11218,7 +11218,7 @@ mod __parse__Top { (5, 16) } 34 => { - // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(941); + // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(944); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11226,7 +11226,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action941::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action944::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11234,7 +11234,7 @@ mod __parse__Top { (4, 16) } 35 => { - // ("," >)? = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(942); + // ("," >)? = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(945); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -11244,7 +11244,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action942::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action945::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11252,7 +11252,7 @@ mod __parse__Top { (6, 16) } 36 => { - // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(943); + // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(946); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11261,7 +11261,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action943::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action946::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11269,14 +11269,14 @@ mod __parse__Top { (5, 16) } 37 => { - // ("," >)? = ",", "*", StarTypedParameter => ActionFn(944); + // ("," >)? = ",", "*", StarTypedParameter => ActionFn(947); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action944::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action947::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11284,13 +11284,13 @@ mod __parse__Top { (3, 16) } 38 => { - // ("," >)? = ",", "*" => ActionFn(945); + // ("," >)? = ",", "*" => ActionFn(948); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action945::<>(__sym0, __sym1) { + let __nt = match super::__action948::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11298,7 +11298,7 @@ mod __parse__Top { (2, 16) } 39 => { - // ("," >)? = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(946); + // ("," >)? = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(949); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant61(__symbols); @@ -11306,7 +11306,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action946::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action949::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11314,14 +11314,14 @@ mod __parse__Top { (4, 16) } 40 => { - // ("," >)? = ",", "*", ("," >)+ => ActionFn(947); + // ("," >)? = ",", "*", ("," >)+ => ActionFn(950); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action947::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action950::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11332,7 +11332,7 @@ mod __parse__Top { __reduce41(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 42 => { - // ("," >) = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(976); + // ("," >) = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(979); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11341,7 +11341,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action976::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action979::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11349,7 +11349,7 @@ mod __parse__Top { (5, 17) } 43 => { - // ("," >) = ",", "*", ",", KwargParameter => ActionFn(977); + // ("," >) = ",", "*", ",", KwargParameter => ActionFn(980); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11357,7 +11357,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action977::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action980::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11365,7 +11365,7 @@ mod __parse__Top { (4, 17) } 44 => { - // ("," >) = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(978); + // ("," >) = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(981); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -11375,7 +11375,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action978::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action981::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11383,7 +11383,7 @@ mod __parse__Top { (6, 17) } 45 => { - // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(979); + // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(982); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11392,7 +11392,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action979::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action982::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11400,14 +11400,14 @@ mod __parse__Top { (5, 17) } 46 => { - // ("," >) = ",", "*", StarUntypedParameter => ActionFn(980); + // ("," >) = ",", "*", StarUntypedParameter => ActionFn(983); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action980::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action983::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11415,13 +11415,13 @@ mod __parse__Top { (3, 17) } 47 => { - // ("," >) = ",", "*" => ActionFn(981); + // ("," >) = ",", "*" => ActionFn(984); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action981::<>(__sym0, __sym1) { + let __nt = match super::__action984::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11429,7 +11429,7 @@ mod __parse__Top { (2, 17) } 48 => { - // ("," >) = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(982); + // ("," >) = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(985); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant61(__symbols); @@ -11437,7 +11437,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action982::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action985::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11445,14 +11445,14 @@ mod __parse__Top { (4, 17) } 49 => { - // ("," >) = ",", "*", ("," >)+ => ActionFn(983); + // ("," >) = ",", "*", ("," >)+ => ActionFn(986); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action983::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action986::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11460,7 +11460,7 @@ mod __parse__Top { (3, 17) } 50 => { - // ("," >)? = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1000); + // ("," >)? = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1003); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11469,7 +11469,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1000::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1003::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11477,7 +11477,7 @@ mod __parse__Top { (5, 18) } 51 => { - // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(1001); + // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(1004); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11485,7 +11485,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1001::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1004::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11493,7 +11493,7 @@ mod __parse__Top { (4, 18) } 52 => { - // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1002); + // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1005); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -11503,7 +11503,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1002::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1005::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11511,7 +11511,7 @@ mod __parse__Top { (6, 18) } 53 => { - // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1003); + // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1006); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11520,7 +11520,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1003::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1006::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11528,14 +11528,14 @@ mod __parse__Top { (5, 18) } 54 => { - // ("," >)? = ",", "*", StarUntypedParameter => ActionFn(1004); + // ("," >)? = ",", "*", StarUntypedParameter => ActionFn(1007); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1004::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1007::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11543,13 +11543,13 @@ mod __parse__Top { (3, 18) } 55 => { - // ("," >)? = ",", "*" => ActionFn(1005); + // ("," >)? = ",", "*" => ActionFn(1008); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1005::<>(__sym0, __sym1) { + let __nt = match super::__action1008::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11557,7 +11557,7 @@ mod __parse__Top { (2, 18) } 56 => { - // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1006); + // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1009); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant61(__symbols); @@ -11565,7 +11565,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1006::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1009::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11573,14 +11573,14 @@ mod __parse__Top { (4, 18) } 57 => { - // ("," >)? = ",", "*", ("," >)+ => ActionFn(1007); + // ("," >)? = ",", "*", ("," >)+ => ActionFn(1010); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1007::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1010::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11891,11 +11891,11 @@ mod __parse__Top { __reduce158(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 159 => { - // ArgumentList = FunctionArgument => ActionFn(1463); + // ArgumentList = FunctionArgument => ActionFn(1469); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1463::<>(__sym0) { + let __nt = match super::__action1469::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11903,10 +11903,10 @@ mod __parse__Top { (1, 83) } 160 => { - // ArgumentList = => ActionFn(1464); + // ArgumentList = => ActionFn(1470); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = match super::__action1464::<>(&__start, &__end) { + let __nt = match super::__action1470::<>(&__start, &__end) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11914,13 +11914,13 @@ mod __parse__Top { (0, 83) } 161 => { - // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1465); + // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1471); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1465::<>(__sym0, __sym1) { + let __nt = match super::__action1471::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11928,11 +11928,11 @@ mod __parse__Top { (2, 83) } 162 => { - // ArgumentList = ( ",")+ => ActionFn(1466); + // ArgumentList = ( ",")+ => ActionFn(1472); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1466::<>(__sym0) { + let __nt = match super::__action1472::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11952,14 +11952,14 @@ mod __parse__Top { __reduce166(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 167 => { - // AsPattern = OrPattern, "as", Identifier => ActionFn(1158); + // AsPattern = OrPattern, "as", Identifier => ActionFn(1161); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1158::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1161::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12027,7 +12027,7 @@ mod __parse__Top { __reduce184(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 185 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1167); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1170); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -12037,7 +12037,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1167::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1170::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12045,7 +12045,7 @@ mod __parse__Top { (6, 92) } 186 => { - // Atom<"all"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1168); + // Atom<"all"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1171); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -12053,7 +12053,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1168::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1171::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12061,7 +12061,7 @@ mod __parse__Top { (4, 92) } 187 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1169); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1172); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -12072,7 +12072,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1169::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1172::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12080,7 +12080,7 @@ mod __parse__Top { (7, 92) } 188 => { - // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1170); + // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1173); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -12089,7 +12089,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1170::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1173::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12097,7 +12097,7 @@ mod __parse__Top { (5, 92) } 189 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1171); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1174); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -12106,7 +12106,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1171::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1174::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12114,14 +12114,14 @@ mod __parse__Top { (5, 92) } 190 => { - // Atom<"all"> = "(", NamedOrStarExpr, ")" => ActionFn(1172); + // Atom<"all"> = "(", NamedOrStarExpr, ")" => ActionFn(1175); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1172::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1175::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12129,7 +12129,7 @@ mod __parse__Top { (3, 92) } 191 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1173); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1176); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant17(__symbols); @@ -12139,7 +12139,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1173::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1176::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12147,7 +12147,7 @@ mod __parse__Top { (6, 92) } 192 => { - // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1174); + // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1177); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant17(__symbols); @@ -12155,7 +12155,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1174::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1177::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12172,7 +12172,7 @@ mod __parse__Top { __reduce195(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 196 => { - // Atom<"all"> = "(", "**", Expression<"all">, ")" => ActionFn(1177); + // Atom<"all"> = "(", "**", Expression<"all">, ")" => ActionFn(1180); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -12180,7 +12180,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1177::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1180::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12242,7 +12242,7 @@ mod __parse__Top { __reduce211(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 212 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1190); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1193); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -12252,7 +12252,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1190::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1193::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12260,7 +12260,7 @@ mod __parse__Top { (6, 93) } 213 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1191); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1194); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -12268,7 +12268,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1191::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1194::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12276,7 +12276,7 @@ mod __parse__Top { (4, 93) } 214 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1192); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1195); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -12287,7 +12287,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1192::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1195::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12295,7 +12295,7 @@ mod __parse__Top { (7, 93) } 215 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1193); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1196); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -12304,7 +12304,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1193::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1196::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12312,7 +12312,7 @@ mod __parse__Top { (5, 93) } 216 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1194); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1197); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -12321,7 +12321,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1194::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1197::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12329,14 +12329,14 @@ mod __parse__Top { (5, 93) } 217 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ")" => ActionFn(1195); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ")" => ActionFn(1198); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1195::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1198::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12344,7 +12344,7 @@ mod __parse__Top { (3, 93) } 218 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1196); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1199); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant17(__symbols); @@ -12354,7 +12354,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1196::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1199::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12362,7 +12362,7 @@ mod __parse__Top { (6, 93) } 219 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1197); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1200); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant17(__symbols); @@ -12370,7 +12370,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1197::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1200::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12387,7 +12387,7 @@ mod __parse__Top { __reduce222(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 223 => { - // Atom<"no-withitems"> = "(", "**", Expression<"all">, ")" => ActionFn(1200); + // Atom<"no-withitems"> = "(", "**", Expression<"all">, ")" => ActionFn(1203); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -12395,7 +12395,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1200::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1203::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13033,7 +13033,7 @@ mod __parse__Top { __reduce433(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 434 => { - // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1633); + // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1639); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13041,7 +13041,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1639::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13049,14 +13049,14 @@ mod __parse__Top { (4, 162) } 435 => { - // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1634); + // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1640); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1640::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13091,11 +13091,11 @@ mod __parse__Top { __reduce444(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 445 => { - // LiteralPattern = (@L string @R)+ => ActionFn(1276); + // LiteralPattern = (@L string @R)+ => ActionFn(1282); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1276::<>(__sym0) { + let __nt = match super::__action1282::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13121,11 +13121,11 @@ mod __parse__Top { __reduce451(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 452 => { - // MappingKey = (@L string @R)+ => ActionFn(810); + // MappingKey = (@L string @R)+ => ActionFn(813); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action810::<>(__sym0) { + let __nt = match super::__action813::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13376,7 +13376,7 @@ mod __parse__Top { __reduce533(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 534 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1513); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1519); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13387,7 +13387,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1513::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13395,7 +13395,7 @@ mod __parse__Top { (7, 202) } 535 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1514); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1520); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13408,7 +13408,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1514::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13416,7 +13416,7 @@ mod __parse__Top { (9, 202) } 536 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1515); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1521); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13430,7 +13430,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1515::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13438,7 +13438,7 @@ mod __parse__Top { (10, 202) } 537 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1516); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1522); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -13448,7 +13448,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1516::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13456,7 +13456,7 @@ mod __parse__Top { (6, 202) } 538 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1517); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1523); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13468,7 +13468,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1517::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13476,7 +13476,7 @@ mod __parse__Top { (8, 202) } 539 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1518); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1524); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13489,7 +13489,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1518::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13497,7 +13497,7 @@ mod __parse__Top { (9, 202) } 540 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1519); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1525); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13509,7 +13509,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13517,7 +13517,7 @@ mod __parse__Top { (8, 202) } 541 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1520); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1526); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13531,7 +13531,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13539,7 +13539,7 @@ mod __parse__Top { (10, 202) } 542 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1521); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1527); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); @@ -13554,7 +13554,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13562,7 +13562,7 @@ mod __parse__Top { (11, 202) } 543 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1522); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1528); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13573,7 +13573,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13581,7 +13581,7 @@ mod __parse__Top { (7, 202) } 544 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1523); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1529); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13594,7 +13594,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13602,7 +13602,7 @@ mod __parse__Top { (9, 202) } 545 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1524); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1530); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13616,7 +13616,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13624,7 +13624,7 @@ mod __parse__Top { (10, 202) } 546 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1525); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1531); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -13633,7 +13633,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13641,7 +13641,7 @@ mod __parse__Top { (5, 202) } 547 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1526); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1532); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -13652,7 +13652,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13660,7 +13660,7 @@ mod __parse__Top { (7, 202) } 548 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1527); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1533); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -13672,7 +13672,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13680,7 +13680,7 @@ mod __parse__Top { (8, 202) } 549 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1528); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1534); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13688,7 +13688,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13696,7 +13696,7 @@ mod __parse__Top { (4, 202) } 550 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1529); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1535); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -13706,7 +13706,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13714,7 +13714,7 @@ mod __parse__Top { (6, 202) } 551 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1530); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1536); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13725,7 +13725,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1536::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13733,7 +13733,7 @@ mod __parse__Top { (7, 202) } 552 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1531); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1537); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); @@ -13743,7 +13743,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1537::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13751,7 +13751,7 @@ mod __parse__Top { (6, 202) } 553 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1532); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1538); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13763,7 +13763,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13771,7 +13771,7 @@ mod __parse__Top { (8, 202) } 554 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1533); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1539); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); @@ -13784,7 +13784,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13792,7 +13792,7 @@ mod __parse__Top { (9, 202) } 555 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1534); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1540); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -13801,7 +13801,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13809,7 +13809,7 @@ mod __parse__Top { (5, 202) } 556 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1535); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1541); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -13820,7 +13820,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13828,7 +13828,7 @@ mod __parse__Top { (7, 202) } 557 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1536); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1542); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13840,7 +13840,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1536::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13848,13 +13848,13 @@ mod __parse__Top { (8, 202) } 558 => { - // ParameterList = OneOrMore>, "," => ActionFn(1537); + // ParameterList = OneOrMore>, "," => ActionFn(1543); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1537::<>(__sym0, __sym1) { + let __nt = match super::__action1543::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13862,7 +13862,7 @@ mod __parse__Top { (2, 202) } 559 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1538); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1544); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13870,7 +13870,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13878,7 +13878,7 @@ mod __parse__Top { (4, 202) } 560 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1539); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1545); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -13887,7 +13887,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13895,7 +13895,7 @@ mod __parse__Top { (5, 202) } 561 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1540); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1546); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -13905,7 +13905,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13913,7 +13913,7 @@ mod __parse__Top { (6, 202) } 562 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1541); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1547); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -13925,7 +13925,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13933,7 +13933,7 @@ mod __parse__Top { (8, 202) } 563 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1542); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1548); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -13946,7 +13946,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13954,7 +13954,7 @@ mod __parse__Top { (9, 202) } 564 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1543); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1549); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -13963,7 +13963,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13971,7 +13971,7 @@ mod __parse__Top { (5, 202) } 565 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1544); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1550); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13982,7 +13982,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13990,7 +13990,7 @@ mod __parse__Top { (7, 202) } 566 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1545); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1551); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14002,7 +14002,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14010,7 +14010,7 @@ mod __parse__Top { (8, 202) } 567 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1546); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1552); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14021,7 +14021,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14029,7 +14029,7 @@ mod __parse__Top { (7, 202) } 568 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1547); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1553); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14042,7 +14042,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14050,7 +14050,7 @@ mod __parse__Top { (9, 202) } 569 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1548); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1554); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -14064,7 +14064,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14072,7 +14072,7 @@ mod __parse__Top { (10, 202) } 570 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1549); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1555); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14082,7 +14082,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14090,7 +14090,7 @@ mod __parse__Top { (6, 202) } 571 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1550); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1556); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14102,7 +14102,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14110,7 +14110,7 @@ mod __parse__Top { (8, 202) } 572 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1551); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1557); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14123,7 +14123,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14131,7 +14131,7 @@ mod __parse__Top { (9, 202) } 573 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1552); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1558); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14139,7 +14139,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14147,7 +14147,7 @@ mod __parse__Top { (4, 202) } 574 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1553); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1559); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14157,7 +14157,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14165,7 +14165,7 @@ mod __parse__Top { (6, 202) } 575 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1554); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1560); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14176,7 +14176,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14184,14 +14184,14 @@ mod __parse__Top { (7, 202) } 576 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1555); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1561); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14199,7 +14199,7 @@ mod __parse__Top { (3, 202) } 577 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1556); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1562); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14208,7 +14208,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14216,7 +14216,7 @@ mod __parse__Top { (5, 202) } 578 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1557); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1563); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14226,7 +14226,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14234,7 +14234,7 @@ mod __parse__Top { (6, 202) } 579 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1558); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1564); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -14243,7 +14243,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14251,7 +14251,7 @@ mod __parse__Top { (5, 202) } 580 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1559); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1565); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -14262,7 +14262,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14270,7 +14270,7 @@ mod __parse__Top { (7, 202) } 581 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1560); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1566); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -14282,7 +14282,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14290,7 +14290,7 @@ mod __parse__Top { (8, 202) } 582 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1561); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1567); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14298,7 +14298,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14306,7 +14306,7 @@ mod __parse__Top { (4, 202) } 583 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1562); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1568); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14316,7 +14316,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14324,7 +14324,7 @@ mod __parse__Top { (6, 202) } 584 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1563); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1569); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14335,7 +14335,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14343,11 +14343,11 @@ mod __parse__Top { (7, 202) } 585 => { - // ParameterList = OneOrMore> => ActionFn(1564); + // ParameterList = OneOrMore> => ActionFn(1570); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1564::<>(__sym0) { + let __nt = match super::__action1570::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14355,14 +14355,14 @@ mod __parse__Top { (1, 202) } 586 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1565); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1571); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14370,7 +14370,7 @@ mod __parse__Top { (3, 202) } 587 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1566); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1572); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14378,7 +14378,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14386,7 +14386,7 @@ mod __parse__Top { (4, 202) } 588 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1567); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1573); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14394,7 +14394,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14402,7 +14402,7 @@ mod __parse__Top { (4, 202) } 589 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1568); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1574); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14412,7 +14412,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14420,7 +14420,7 @@ mod __parse__Top { (6, 202) } 590 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1569); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1575); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14431,7 +14431,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14439,14 +14439,14 @@ mod __parse__Top { (7, 202) } 591 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1570); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1576); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14454,7 +14454,7 @@ mod __parse__Top { (3, 202) } 592 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1571); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1577); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14463,7 +14463,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14471,7 +14471,7 @@ mod __parse__Top { (5, 202) } 593 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1572); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1578); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14481,7 +14481,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14489,7 +14489,7 @@ mod __parse__Top { (6, 202) } 594 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1317); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1323); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14498,7 +14498,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1317::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14506,7 +14506,7 @@ mod __parse__Top { (5, 202) } 595 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1318); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1324); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14514,7 +14514,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1318::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14522,7 +14522,7 @@ mod __parse__Top { (4, 202) } 596 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1319); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1325); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14532,7 +14532,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1319::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14540,7 +14540,7 @@ mod __parse__Top { (6, 202) } 597 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1320); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1326); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14549,7 +14549,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1320::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14557,14 +14557,14 @@ mod __parse__Top { (5, 202) } 598 => { - // ParameterList = "*", StarTypedParameter, "," => ActionFn(1321); + // ParameterList = "*", StarTypedParameter, "," => ActionFn(1327); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1321::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14572,13 +14572,13 @@ mod __parse__Top { (3, 202) } 599 => { - // ParameterList = "*", "," => ActionFn(1322); + // ParameterList = "*", "," => ActionFn(1328); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1322::<>(__sym0, __sym1) { + let __nt = match super::__action1328::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14586,7 +14586,7 @@ mod __parse__Top { (2, 202) } 600 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1323); + // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1329); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); @@ -14594,7 +14594,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1329::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14602,14 +14602,14 @@ mod __parse__Top { (4, 202) } 601 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1324); + // ParameterList = "*", ("," >)+, "," => ActionFn(1330); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1330::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14617,7 +14617,7 @@ mod __parse__Top { (3, 202) } 602 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1325); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1331); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14625,7 +14625,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1331::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14633,14 +14633,14 @@ mod __parse__Top { (4, 202) } 603 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1326); + // ParameterList = "*", ",", KwargParameter => ActionFn(1332); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1332::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14648,7 +14648,7 @@ mod __parse__Top { (3, 202) } 604 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1327); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1333); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14657,7 +14657,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1333::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14665,7 +14665,7 @@ mod __parse__Top { (5, 202) } 605 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1328); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1334); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14673,7 +14673,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1328::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1334::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14681,13 +14681,13 @@ mod __parse__Top { (4, 202) } 606 => { - // ParameterList = "*", StarTypedParameter => ActionFn(1329); + // ParameterList = "*", StarTypedParameter => ActionFn(1335); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1329::<>(__sym0, __sym1) { + let __nt = match super::__action1335::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14695,11 +14695,11 @@ mod __parse__Top { (2, 202) } 607 => { - // ParameterList = "*" => ActionFn(1330); + // ParameterList = "*" => ActionFn(1336); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1330::<>(__sym0) { + let __nt = match super::__action1336::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14707,14 +14707,14 @@ mod __parse__Top { (1, 202) } 608 => { - // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1331); + // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1337); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1331::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1337::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14722,13 +14722,13 @@ mod __parse__Top { (3, 202) } 609 => { - // ParameterList = "*", ("," >)+ => ActionFn(1332); + // ParameterList = "*", ("," >)+ => ActionFn(1338); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1332::<>(__sym0, __sym1) { + let __nt = match super::__action1338::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14742,7 +14742,7 @@ mod __parse__Top { __reduce611(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 612 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1573); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1579); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14753,7 +14753,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14761,7 +14761,7 @@ mod __parse__Top { (7, 203) } 613 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1574); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1580); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14774,7 +14774,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14782,7 +14782,7 @@ mod __parse__Top { (9, 203) } 614 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1575); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1581); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14796,7 +14796,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14804,7 +14804,7 @@ mod __parse__Top { (10, 203) } 615 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1576); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1582); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14814,7 +14814,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14822,7 +14822,7 @@ mod __parse__Top { (6, 203) } 616 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1577); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1583); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14834,7 +14834,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14842,7 +14842,7 @@ mod __parse__Top { (8, 203) } 617 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1578); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1584); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14855,7 +14855,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14863,7 +14863,7 @@ mod __parse__Top { (9, 203) } 618 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1579); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1585); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14875,7 +14875,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14883,7 +14883,7 @@ mod __parse__Top { (8, 203) } 619 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1580); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1586); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14897,7 +14897,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14905,7 +14905,7 @@ mod __parse__Top { (10, 203) } 620 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1581); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1587); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); @@ -14920,7 +14920,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14928,7 +14928,7 @@ mod __parse__Top { (11, 203) } 621 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1582); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1588); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14939,7 +14939,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14947,7 +14947,7 @@ mod __parse__Top { (7, 203) } 622 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1583); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1589); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14960,7 +14960,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14968,7 +14968,7 @@ mod __parse__Top { (9, 203) } 623 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1584); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1590); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14982,7 +14982,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14990,7 +14990,7 @@ mod __parse__Top { (10, 203) } 624 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1585); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1591); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -14999,7 +14999,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15007,7 +15007,7 @@ mod __parse__Top { (5, 203) } 625 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1586); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1592); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -15018,7 +15018,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15026,7 +15026,7 @@ mod __parse__Top { (7, 203) } 626 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1587); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1593); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -15038,7 +15038,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15046,7 +15046,7 @@ mod __parse__Top { (8, 203) } 627 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1588); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1594); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15054,7 +15054,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15062,7 +15062,7 @@ mod __parse__Top { (4, 203) } 628 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1589); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1595); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15072,7 +15072,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15080,7 +15080,7 @@ mod __parse__Top { (6, 203) } 629 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1590); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1596); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15091,7 +15091,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15099,7 +15099,7 @@ mod __parse__Top { (7, 203) } 630 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1591); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1597); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); @@ -15109,7 +15109,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15117,7 +15117,7 @@ mod __parse__Top { (6, 203) } 631 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1592); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1598); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15129,7 +15129,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15137,7 +15137,7 @@ mod __parse__Top { (8, 203) } 632 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1593); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1599); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); @@ -15150,7 +15150,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15158,7 +15158,7 @@ mod __parse__Top { (9, 203) } 633 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1594); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1600); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -15167,7 +15167,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15175,7 +15175,7 @@ mod __parse__Top { (5, 203) } 634 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1595); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1601); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -15186,7 +15186,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15194,7 +15194,7 @@ mod __parse__Top { (7, 203) } 635 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1596); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1602); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15206,7 +15206,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15214,13 +15214,13 @@ mod __parse__Top { (8, 203) } 636 => { - // ParameterList = OneOrMore>, "," => ActionFn(1597); + // ParameterList = OneOrMore>, "," => ActionFn(1603); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1597::<>(__sym0, __sym1) { + let __nt = match super::__action1603::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15228,7 +15228,7 @@ mod __parse__Top { (2, 203) } 637 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1598); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1604); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15236,7 +15236,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15244,7 +15244,7 @@ mod __parse__Top { (4, 203) } 638 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1599); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1605); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -15253,7 +15253,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15261,7 +15261,7 @@ mod __parse__Top { (5, 203) } 639 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1600); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1606); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15271,7 +15271,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15279,7 +15279,7 @@ mod __parse__Top { (6, 203) } 640 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1601); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1607); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15291,7 +15291,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15299,7 +15299,7 @@ mod __parse__Top { (8, 203) } 641 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1602); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1608); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15312,7 +15312,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15320,7 +15320,7 @@ mod __parse__Top { (9, 203) } 642 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1603); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1609); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15329,7 +15329,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15337,7 +15337,7 @@ mod __parse__Top { (5, 203) } 643 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1604); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1610); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15348,7 +15348,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15356,7 +15356,7 @@ mod __parse__Top { (7, 203) } 644 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1605); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1611); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15368,7 +15368,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15376,7 +15376,7 @@ mod __parse__Top { (8, 203) } 645 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1606); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1612); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15387,7 +15387,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15395,7 +15395,7 @@ mod __parse__Top { (7, 203) } 646 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1607); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1613); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15408,7 +15408,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15416,7 +15416,7 @@ mod __parse__Top { (9, 203) } 647 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1608); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1614); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -15430,7 +15430,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15438,7 +15438,7 @@ mod __parse__Top { (10, 203) } 648 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1609); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1615); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15448,7 +15448,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15456,7 +15456,7 @@ mod __parse__Top { (6, 203) } 649 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1610); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1616); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15468,7 +15468,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15476,7 +15476,7 @@ mod __parse__Top { (8, 203) } 650 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1611); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1617); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15489,7 +15489,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15497,7 +15497,7 @@ mod __parse__Top { (9, 203) } 651 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1612); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1618); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15505,7 +15505,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15513,7 +15513,7 @@ mod __parse__Top { (4, 203) } 652 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1613); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1619); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15523,7 +15523,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15531,7 +15531,7 @@ mod __parse__Top { (6, 203) } 653 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1614); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1620); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15542,7 +15542,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15550,14 +15550,14 @@ mod __parse__Top { (7, 203) } 654 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1615); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1621); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15565,7 +15565,7 @@ mod __parse__Top { (3, 203) } 655 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1616); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1622); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15574,7 +15574,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15582,7 +15582,7 @@ mod __parse__Top { (5, 203) } 656 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1617); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1623); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15592,7 +15592,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15600,7 +15600,7 @@ mod __parse__Top { (6, 203) } 657 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1618); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1624); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -15609,7 +15609,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15617,7 +15617,7 @@ mod __parse__Top { (5, 203) } 658 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1619); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1625); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -15628,7 +15628,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15636,7 +15636,7 @@ mod __parse__Top { (7, 203) } 659 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1620); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1626); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -15648,7 +15648,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15656,7 +15656,7 @@ mod __parse__Top { (8, 203) } 660 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1621); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1627); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15664,7 +15664,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15672,7 +15672,7 @@ mod __parse__Top { (4, 203) } 661 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1622); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1628); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15682,7 +15682,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15690,7 +15690,7 @@ mod __parse__Top { (6, 203) } 662 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1623); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1629); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15701,7 +15701,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15709,11 +15709,11 @@ mod __parse__Top { (7, 203) } 663 => { - // ParameterList = OneOrMore> => ActionFn(1624); + // ParameterList = OneOrMore> => ActionFn(1630); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1624::<>(__sym0) { + let __nt = match super::__action1630::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15721,14 +15721,14 @@ mod __parse__Top { (1, 203) } 664 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1625); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1631); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15736,7 +15736,7 @@ mod __parse__Top { (3, 203) } 665 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1626); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1632); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15744,7 +15744,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15752,7 +15752,7 @@ mod __parse__Top { (4, 203) } 666 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1627); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1633); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15760,7 +15760,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15768,7 +15768,7 @@ mod __parse__Top { (4, 203) } 667 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1628); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1634); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -15778,7 +15778,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15786,7 +15786,7 @@ mod __parse__Top { (6, 203) } 668 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1629); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1635); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -15797,7 +15797,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1635::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15805,14 +15805,14 @@ mod __parse__Top { (7, 203) } 669 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1630); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1636); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1636::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15820,7 +15820,7 @@ mod __parse__Top { (3, 203) } 670 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1631); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1637); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15829,7 +15829,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1637::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15837,7 +15837,7 @@ mod __parse__Top { (5, 203) } 671 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1632); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1638); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15847,7 +15847,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1638::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15855,7 +15855,7 @@ mod __parse__Top { (6, 203) } 672 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1355); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1361); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15864,7 +15864,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1355::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15872,7 +15872,7 @@ mod __parse__Top { (5, 203) } 673 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1356); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1362); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15880,7 +15880,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1356::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15888,7 +15888,7 @@ mod __parse__Top { (4, 203) } 674 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1357); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1363); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -15898,7 +15898,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1357::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15906,7 +15906,7 @@ mod __parse__Top { (6, 203) } 675 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1358); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1364); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15915,7 +15915,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1358::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15923,14 +15923,14 @@ mod __parse__Top { (5, 203) } 676 => { - // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1359); + // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1365); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1359::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15938,13 +15938,13 @@ mod __parse__Top { (3, 203) } 677 => { - // ParameterList = "*", "," => ActionFn(1360); + // ParameterList = "*", "," => ActionFn(1366); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1360::<>(__sym0, __sym1) { + let __nt = match super::__action1366::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15952,7 +15952,7 @@ mod __parse__Top { (2, 203) } 678 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1361); + // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1367); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); @@ -15960,7 +15960,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1367::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15968,14 +15968,14 @@ mod __parse__Top { (4, 203) } 679 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1362); + // ParameterList = "*", ("," >)+, "," => ActionFn(1368); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1368::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15983,7 +15983,7 @@ mod __parse__Top { (3, 203) } 680 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1363); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1369); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15991,7 +15991,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1369::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15999,14 +15999,14 @@ mod __parse__Top { (4, 203) } 681 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1364); + // ParameterList = "*", ",", KwargParameter => ActionFn(1370); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1370::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16014,7 +16014,7 @@ mod __parse__Top { (3, 203) } 682 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1365); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1371); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -16023,7 +16023,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1371::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16031,7 +16031,7 @@ mod __parse__Top { (5, 203) } 683 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1366); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1372); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16039,7 +16039,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1366::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1372::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16047,13 +16047,13 @@ mod __parse__Top { (4, 203) } 684 => { - // ParameterList = "*", StarUntypedParameter => ActionFn(1367); + // ParameterList = "*", StarUntypedParameter => ActionFn(1373); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1367::<>(__sym0, __sym1) { + let __nt = match super::__action1373::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16061,11 +16061,11 @@ mod __parse__Top { (2, 203) } 685 => { - // ParameterList = "*" => ActionFn(1368); + // ParameterList = "*" => ActionFn(1374); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1368::<>(__sym0) { + let __nt = match super::__action1374::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16073,14 +16073,14 @@ mod __parse__Top { (1, 203) } 686 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1369); + // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1375); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1369::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1375::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16088,13 +16088,13 @@ mod __parse__Top { (3, 203) } 687 => { - // ParameterList = "*", ("," >)+ => ActionFn(1370); + // ParameterList = "*", ("," >)+ => ActionFn(1376); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1370::<>(__sym0, __sym1) { + let __nt = match super::__action1376::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16114,7 +16114,7 @@ mod __parse__Top { __reduce691(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 692 => { - // ParameterListStarArgs = "*", StarTypedParameter, ",", KwargParameter => ActionFn(849); + // ParameterListStarArgs = "*", StarTypedParameter, ",", KwargParameter => ActionFn(852); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16122,7 +16122,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action849::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action852::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16130,14 +16130,14 @@ mod __parse__Top { (4, 205) } 693 => { - // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(850); + // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(853); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action850::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action853::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16145,7 +16145,7 @@ mod __parse__Top { (3, 205) } 694 => { - // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(851); + // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(854); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -16154,7 +16154,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action851::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action854::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16162,7 +16162,7 @@ mod __parse__Top { (5, 205) } 695 => { - // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(852); + // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(855); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16170,7 +16170,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action852::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action855::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16178,13 +16178,13 @@ mod __parse__Top { (4, 205) } 696 => { - // ParameterListStarArgs = "*", StarTypedParameter => ActionFn(853); + // ParameterListStarArgs = "*", StarTypedParameter => ActionFn(856); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action853::<>(__sym0, __sym1) { + let __nt = match super::__action856::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16192,11 +16192,11 @@ mod __parse__Top { (2, 205) } 697 => { - // ParameterListStarArgs = "*" => ActionFn(854); + // ParameterListStarArgs = "*" => ActionFn(857); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action854::<>(__sym0) { + let __nt = match super::__action857::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16204,14 +16204,14 @@ mod __parse__Top { (1, 205) } 698 => { - // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+ => ActionFn(855); + // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+ => ActionFn(858); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action855::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action858::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16219,13 +16219,13 @@ mod __parse__Top { (3, 205) } 699 => { - // ParameterListStarArgs = "*", ("," >)+ => ActionFn(856); + // ParameterListStarArgs = "*", ("," >)+ => ActionFn(859); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action856::<>(__sym0, __sym1) { + let __nt = match super::__action859::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16233,7 +16233,7 @@ mod __parse__Top { (2, 205) } 700 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(968); + // ParameterListStarArgs = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(971); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16241,7 +16241,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action968::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action971::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16249,14 +16249,14 @@ mod __parse__Top { (4, 206) } 701 => { - // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(969); + // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(972); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action969::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action972::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16264,7 +16264,7 @@ mod __parse__Top { (3, 206) } 702 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(970); + // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(973); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -16273,7 +16273,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action970::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action973::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16281,7 +16281,7 @@ mod __parse__Top { (5, 206) } 703 => { - // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(971); + // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(974); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16289,7 +16289,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action971::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action974::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16297,13 +16297,13 @@ mod __parse__Top { (4, 206) } 704 => { - // ParameterListStarArgs = "*", StarUntypedParameter => ActionFn(972); + // ParameterListStarArgs = "*", StarUntypedParameter => ActionFn(975); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action972::<>(__sym0, __sym1) { + let __nt = match super::__action975::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16311,11 +16311,11 @@ mod __parse__Top { (2, 206) } 705 => { - // ParameterListStarArgs = "*" => ActionFn(973); + // ParameterListStarArgs = "*" => ActionFn(976); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action973::<>(__sym0) { + let __nt = match super::__action976::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16323,14 +16323,14 @@ mod __parse__Top { (1, 206) } 706 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+ => ActionFn(974); + // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+ => ActionFn(977); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action974::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action977::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16338,13 +16338,13 @@ mod __parse__Top { (3, 206) } 707 => { - // ParameterListStarArgs = "*", ("," >)+ => ActionFn(975); + // ParameterListStarArgs = "*", ("," >)+ => ActionFn(978); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action975::<>(__sym0, __sym1) { + let __nt = match super::__action978::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16352,14 +16352,14 @@ mod __parse__Top { (2, 206) } 708 => { - // Parameters = "(", ParameterList, ")" => ActionFn(1453); + // Parameters = "(", ParameterList, ")" => ActionFn(1459); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant44(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1453::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1459::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16367,13 +16367,13 @@ mod __parse__Top { (3, 207) } 709 => { - // Parameters = "(", ")" => ActionFn(1454); + // Parameters = "(", ")" => ActionFn(1460); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1454::<>(__sym0, __sym1) { + let __nt = match super::__action1460::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -18250,13 +18250,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = ",", Test<"all"> => ActionFn(1026); + // ("," >)? = ",", Test<"all"> => ActionFn(1029); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1026::<>(__sym0, __sym1); + let __nt = super::__action1029::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 20) } @@ -18327,13 +18327,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )+ = ",", TestOrStarNamedExpr => ActionFn(1029); + // ("," )+ = ",", TestOrStarNamedExpr => ActionFn(1032); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1029::<>(__sym0, __sym1); + let __nt = super::__action1032::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 23) } @@ -18344,14 +18344,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )+ = ("," )+, ",", TestOrStarNamedExpr => ActionFn(1030); + // ("," )+ = ("," )+, ",", TestOrStarNamedExpr => ActionFn(1033); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1030::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1033::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 23) } @@ -18408,13 +18408,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ",", WithItem<"all"> => ActionFn(1039); + // ("," >)+ = ",", WithItem<"all"> => ActionFn(1042); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1039::<>(__sym0, __sym1); + let __nt = super::__action1042::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (2, 26) } @@ -18425,14 +18425,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ("," >)+, ",", WithItem<"all"> => ActionFn(1040); + // ("," >)+ = ("," >)+, ",", WithItem<"all"> => ActionFn(1043); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant18(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant19(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1040::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1043::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (3, 26) } @@ -18460,13 +18460,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("->" >)? = "->", Test<"all"> => ActionFn(1045); + // ("->" >)? = "->", Test<"all"> => ActionFn(1048); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1045::<>(__sym0, __sym1); + let __nt = super::__action1048::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 28) } @@ -18508,13 +18508,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("." Identifier)+ = ".", Identifier => ActionFn(1050); + // ("." Identifier)+ = ".", Identifier => ActionFn(1053); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1050::<>(__sym0, __sym1); + let __nt = super::__action1053::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (2, 30) } @@ -18525,14 +18525,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("." Identifier)+ = ("." Identifier)+, ".", Identifier => ActionFn(1051); + // ("." Identifier)+ = ("." Identifier)+, ".", Identifier => ActionFn(1054); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant21(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1051::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1054::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (3, 30) } @@ -18560,13 +18560,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" >)? = ":", Test<"all"> => ActionFn(1052); + // (":" >)? = ":", Test<"all"> => ActionFn(1055); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1052::<>(__sym0, __sym1); + let __nt = super::__action1055::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 32) } @@ -18608,13 +18608,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" )? = ":", TestOrStarExpr => ActionFn(1057); + // (":" )? = ":", TestOrStarExpr => ActionFn(1060); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1057::<>(__sym0, __sym1); + let __nt = super::__action1060::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 34) } @@ -18683,11 +18683,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")+ = "\n" => ActionFn(1060); + // ("\n")+ = "\n" => ActionFn(1063); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1060::<>(__sym0); + let __nt = super::__action1063::<>(__sym0); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (1, 37) } @@ -18698,13 +18698,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")+ = ("\n")+, "\n" => ActionFn(1061); + // ("\n")+ = ("\n")+, "\n" => ActionFn(1064); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant22(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1061::<>(__sym0, __sym1); + let __nt = super::__action1064::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (2, 37) } @@ -18732,13 +18732,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("as" )? = "as", Identifier => ActionFn(1064); + // ("as" )? = "as", Identifier => ActionFn(1067); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1064::<>(__sym0, __sym1); + let __nt = super::__action1067::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant24(__nt), __end)); (2, 39) } @@ -18781,14 +18781,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("else" ":" )? = "else", ":", Suite => ActionFn(1069); + // ("else" ":" )? = "else", ":", Suite => ActionFn(1072); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1069::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1072::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (3, 41) } @@ -18831,14 +18831,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("finally" ":" )? = "finally", ":", Suite => ActionFn(1082); + // ("finally" ":" )? = "finally", ":", Suite => ActionFn(1085); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1082::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1085::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (3, 43) } @@ -18880,13 +18880,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("from" >)? = "from", Test<"all"> => ActionFn(1092); + // ("from" >)? = "from", Test<"all"> => ActionFn(1095); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1092::<>(__sym0, __sym1); + let __nt = super::__action1095::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 45) } @@ -18959,7 +18959,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )+ = "elif", NamedExpressionTest, ":", Suite => ActionFn(1095); + // (<@L> "elif" ":" )+ = "elif", NamedExpressionTest, ":", Suite => ActionFn(1098); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -18967,7 +18967,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1095::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1098::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (4, 48) } @@ -18978,7 +18978,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )+ = (<@L> "elif" ":" )+, "elif", NamedExpressionTest, ":", Suite => ActionFn(1096); + // (<@L> "elif" ":" )+ = (<@L> "elif" ":" )+, "elif", NamedExpressionTest, ":", Suite => ActionFn(1099); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -18987,7 +18987,7 @@ mod __parse__Top { let __sym0 = __pop_Variant28(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1096::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1099::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (5, 48) } @@ -19015,13 +19015,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "or")+ = AndTest<"all">, "or" => ActionFn(1101); + // (> "or")+ = AndTest<"all">, "or" => ActionFn(1104); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1101::<>(__sym0, __sym1); + let __nt = super::__action1104::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 50) } @@ -19032,14 +19032,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "or")+ = (> "or")+, AndTest<"all">, "or" => ActionFn(1102); + // (> "or")+ = (> "or")+, AndTest<"all">, "or" => ActionFn(1105); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1102::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1105::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 50) } @@ -19096,13 +19096,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = FunctionArgument, "," => ActionFn(1103); + // ( ",")+ = FunctionArgument, "," => ActionFn(1106); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1103::<>(__sym0, __sym1); + let __nt = super::__action1106::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (2, 53) } @@ -19113,14 +19113,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = ( ",")+, FunctionArgument, "," => ActionFn(1104); + // ( ",")+ = ( ",")+, FunctionArgument, "," => ActionFn(1107); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1104::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1107::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (3, 53) } @@ -19148,13 +19148,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "and")+ = NotTest<"all">, "and" => ActionFn(1107); + // (> "and")+ = NotTest<"all">, "and" => ActionFn(1110); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1107::<>(__sym0, __sym1); + let __nt = super::__action1110::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 55) } @@ -19165,14 +19165,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "and")+ = (> "and")+, NotTest<"all">, "and" => ActionFn(1108); + // (> "and")+ = (> "and")+, NotTest<"all">, "and" => ActionFn(1111); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1108::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1111::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 55) } @@ -19200,13 +19200,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (>> ",")? = OneOrMore>, "," => ActionFn(1109); + // (>> ",")? = OneOrMore>, "," => ActionFn(1112); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1109::<>(__sym0, __sym1); + let __nt = super::__action1112::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant32(__nt), __end)); (2, 57) } @@ -19277,13 +19277,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = Pattern, "," => ActionFn(1126); + // ( ",")+ = Pattern, "," => ActionFn(1129); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1126::<>(__sym0, __sym1); + let __nt = super::__action1129::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (2, 60) } @@ -19294,14 +19294,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = ( ",")+, Pattern, "," => ActionFn(1127); + // ( ",")+ = ( ",")+, Pattern, "," => ActionFn(1130); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1127::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1130::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (3, 60) } @@ -19358,13 +19358,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")+ = SmallStatement, ";" => ActionFn(1130); + // ( ";")+ = SmallStatement, ";" => ActionFn(1133); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1130::<>(__sym0, __sym1); + let __nt = super::__action1133::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (2, 63) } @@ -19375,14 +19375,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")+ = ( ";")+, SmallStatement, ";" => ActionFn(1131); + // ( ";")+ = ( ";")+, SmallStatement, ";" => ActionFn(1134); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1131::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1134::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (3, 63) } @@ -19411,13 +19411,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = OneOrMore>, "," => ActionFn(1433); + // ( ",") = OneOrMore>, "," => ActionFn(1439); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1433::<>(__sym0, __sym1); + let __nt = super::__action1439::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (2, 65) } @@ -19428,13 +19428,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")? = OneOrMore>, "," => ActionFn(1436); + // ( ",")? = OneOrMore>, "," => ActionFn(1442); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1436::<>(__sym0, __sym1); + let __nt = super::__action1442::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant39(__nt), __end)); (2, 66) } @@ -19459,11 +19459,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R) = string => ActionFn(1150); + // (@L string @R) = string => ActionFn(1153); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1150::<>(__sym0); + let __nt = super::__action1153::<>(__sym0); __symbols.push((__start, __Symbol::Variant40(__nt), __end)); (1, 67) } @@ -19474,11 +19474,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = string => ActionFn(1445); + // (@L string @R)+ = string => ActionFn(1451); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1445::<>(__sym0); + let __nt = super::__action1451::<>(__sym0); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (1, 68) } @@ -19489,13 +19489,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = (@L string @R)+, string => ActionFn(1446); + // (@L string @R)+ = (@L string @R)+, string => ActionFn(1452); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1446::<>(__sym0, __sym1); + let __nt = super::__action1452::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (2, 68) } @@ -19523,13 +19523,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1447); + // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1453); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant53(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1447::<>(__sym0, __sym1); + let __nt = super::__action1453::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (2, 70) } @@ -19540,14 +19540,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1448); + // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1454); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant53(__symbols); let __sym0 = __pop_Variant43(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1448::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1454::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (3, 70) } @@ -19573,11 +19573,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard)? = Guard => ActionFn(1449); + // (Guard)? = Guard => ActionFn(1455); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1449::<>(__sym0); + let __nt = super::__action1455::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 72) } @@ -19617,11 +19617,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList)? = ParameterList => ActionFn(1452); + // (ParameterList)? = ParameterList => ActionFn(1458); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1452::<>(__sym0); + let __nt = super::__action1458::<>(__sym0); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); (1, 74) } @@ -19704,14 +19704,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AddOpExpr = ConstantExpr, AddOp, ConstantAtom => ActionFn(1151); + // AddOpExpr = ConstantExpr, AddOp, ConstantAtom => ActionFn(1154); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1151::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1154::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 78) } @@ -19722,14 +19722,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"all"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1152); + // AndExpression<"all"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1155); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1152::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1155::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 79) } @@ -19755,14 +19755,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"no-withitems"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1153); + // AndExpression<"no-withitems"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1156); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1153::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1156::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 80) } @@ -19788,13 +19788,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"all"> = (> "and")+, NotTest<"all"> => ActionFn(1154); + // AndTest<"all"> = (> "and")+, NotTest<"all"> => ActionFn(1157); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1154::<>(__sym0, __sym1); + let __nt = super::__action1157::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 81) } @@ -19820,13 +19820,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"no-withitems"> = (> "and")+, NotTest<"all"> => ActionFn(1155); + // AndTest<"no-withitems"> = (> "and")+, NotTest<"all"> => ActionFn(1158); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1155::<>(__sym0, __sym1); + let __nt = super::__action1158::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 82) } @@ -19852,14 +19852,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"all"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1156); + // ArithmeticExpression<"all"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1159); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1156::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1159::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 84) } @@ -19885,14 +19885,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"no-withitems"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1157); + // ArithmeticExpression<"no-withitems"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1160); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1157::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1160::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 85) } @@ -19918,7 +19918,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssertStatement = "assert", Test<"all">, ",", Test<"all"> => ActionFn(1159); + // AssertStatement = "assert", Test<"all">, ",", Test<"all"> => ActionFn(1162); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -19926,7 +19926,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1159::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1162::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 87) } @@ -19937,13 +19937,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssertStatement = "assert", Test<"all"> => ActionFn(1160); + // AssertStatement = "assert", Test<"all"> => ActionFn(1163); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1160::<>(__sym0, __sym1); + let __nt = super::__action1163::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 87) } @@ -20061,11 +20061,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = Constant => ActionFn(1161); + // Atom<"all"> = Constant => ActionFn(1164); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1161::<>(__sym0); + let __nt = super::__action1164::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20076,11 +20076,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = Identifier => ActionFn(1162); + // Atom<"all"> = Identifier => ActionFn(1165); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1162::<>(__sym0); + let __nt = super::__action1165::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20091,14 +20091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1509); + // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1515); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1509::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1515::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20109,13 +20109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", "]" => ActionFn(1510); + // Atom<"all"> = "[", "]" => ActionFn(1516); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1510::<>(__sym0, __sym1); + let __nt = super::__action1516::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20126,7 +20126,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1164); + // Atom<"all"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1167); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20134,7 +20134,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1164::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1167::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20145,7 +20145,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", OneOrMore>, ",", ")" => ActionFn(1165); + // Atom<"all"> = "(", OneOrMore>, ",", ")" => ActionFn(1168); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -20153,7 +20153,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1165::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1168::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20164,14 +20164,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", OneOrMore>, ")" => ActionFn(1166); + // Atom<"all"> = "(", OneOrMore>, ")" => ActionFn(1169); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1166::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1169::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20182,13 +20182,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", ")" => ActionFn(1175); + // Atom<"all"> = "(", ")" => ActionFn(1178); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1175::<>(__sym0, __sym1); + let __nt = super::__action1178::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20217,7 +20217,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1176); + // Atom<"all"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1179); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20225,7 +20225,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1176::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1179::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20236,14 +20236,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1493); + // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1499); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1493::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1499::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20254,13 +20254,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", "}" => ActionFn(1494); + // Atom<"all"> = "{", "}" => ActionFn(1500); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1494::<>(__sym0, __sym1); + let __nt = super::__action1500::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20271,7 +20271,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictEntry, CompFor, "}" => ActionFn(1179); + // Atom<"all"> = "{", DictEntry, CompFor, "}" => ActionFn(1182); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20279,7 +20279,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1179::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1182::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20290,14 +20290,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", SetLiteralValues, "}" => ActionFn(1180); + // Atom<"all"> = "{", SetLiteralValues, "}" => ActionFn(1183); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1180::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1183::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20308,7 +20308,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1181); + // Atom<"all"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1184); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20316,7 +20316,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1181::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1184::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20327,11 +20327,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "True" => ActionFn(1182); + // Atom<"all"> = "True" => ActionFn(1185); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1182::<>(__sym0); + let __nt = super::__action1185::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20342,11 +20342,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "False" => ActionFn(1183); + // Atom<"all"> = "False" => ActionFn(1186); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1183::<>(__sym0); + let __nt = super::__action1186::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20357,11 +20357,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "None" => ActionFn(1184); + // Atom<"all"> = "None" => ActionFn(1187); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1184::<>(__sym0); + let __nt = super::__action1187::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20372,11 +20372,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "..." => ActionFn(1185); + // Atom<"all"> = "..." => ActionFn(1188); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1185::<>(__sym0); + let __nt = super::__action1188::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20387,11 +20387,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = Constant => ActionFn(1186); + // Atom<"no-withitems"> = Constant => ActionFn(1189); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1186::<>(__sym0); + let __nt = super::__action1189::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20402,11 +20402,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = Identifier => ActionFn(1187); + // Atom<"no-withitems"> = Identifier => ActionFn(1190); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1187::<>(__sym0); + let __nt = super::__action1190::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20417,14 +20417,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1511); + // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1517); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1511::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1517::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20435,13 +20435,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", "]" => ActionFn(1512); + // Atom<"no-withitems"> = "[", "]" => ActionFn(1518); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1512::<>(__sym0, __sym1); + let __nt = super::__action1518::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20452,7 +20452,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1189); + // Atom<"no-withitems"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1192); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20460,7 +20460,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1189::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1192::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20471,13 +20471,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "(", ")" => ActionFn(1198); + // Atom<"no-withitems"> = "(", ")" => ActionFn(1201); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1198::<>(__sym0, __sym1); + let __nt = super::__action1201::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20506,7 +20506,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1199); + // Atom<"no-withitems"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1202); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20514,7 +20514,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1199::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1202::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20525,14 +20525,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1495); + // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1501); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1495::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1501::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20543,13 +20543,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", "}" => ActionFn(1496); + // Atom<"no-withitems"> = "{", "}" => ActionFn(1502); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1496::<>(__sym0, __sym1); + let __nt = super::__action1502::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20560,7 +20560,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictEntry, CompFor, "}" => ActionFn(1202); + // Atom<"no-withitems"> = "{", DictEntry, CompFor, "}" => ActionFn(1205); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20568,7 +20568,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1202::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1205::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20579,14 +20579,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", SetLiteralValues, "}" => ActionFn(1203); + // Atom<"no-withitems"> = "{", SetLiteralValues, "}" => ActionFn(1206); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1203::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1206::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20597,7 +20597,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1204); + // Atom<"no-withitems"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1207); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20605,7 +20605,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1204::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1207::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20616,11 +20616,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "True" => ActionFn(1205); + // Atom<"no-withitems"> = "True" => ActionFn(1208); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1205::<>(__sym0); + let __nt = super::__action1208::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20631,11 +20631,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "False" => ActionFn(1206); + // Atom<"no-withitems"> = "False" => ActionFn(1209); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1206::<>(__sym0); + let __nt = super::__action1209::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20646,11 +20646,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "None" => ActionFn(1207); + // Atom<"no-withitems"> = "None" => ActionFn(1210); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1207::<>(__sym0); + let __nt = super::__action1210::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20661,11 +20661,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "..." => ActionFn(1208); + // Atom<"no-withitems"> = "..." => ActionFn(1211); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1208::<>(__sym0); + let __nt = super::__action1211::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20691,7 +20691,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1209); + // AtomExpr2<"all"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1212); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant48(__symbols); @@ -20699,7 +20699,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1209::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1212::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 94) } @@ -20710,7 +20710,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1210); + // AtomExpr2<"all"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1213); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -20718,7 +20718,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1210::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1213::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 94) } @@ -20729,14 +20729,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1211); + // AtomExpr2<"all"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1214); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1211::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1214::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 94) } @@ -20762,7 +20762,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1212); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1215); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant48(__symbols); @@ -20770,7 +20770,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1212::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1215::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 95) } @@ -20781,7 +20781,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1213); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1216); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -20789,7 +20789,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1213::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1216::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 95) } @@ -20800,14 +20800,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1214); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1217); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1214::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1217::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 95) } @@ -20818,13 +20818,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"all"> = "await", AtomExpr2<"all"> => ActionFn(1215); + // AtomExpr<"all"> = "await", AtomExpr2<"all"> => ActionFn(1218); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1215::<>(__sym0, __sym1); + let __nt = super::__action1218::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 96) } @@ -20850,13 +20850,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"no-withitems"> = "await", AtomExpr2<"all"> => ActionFn(1216); + // AtomExpr<"no-withitems"> = "await", AtomExpr2<"all"> => ActionFn(1219); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1216::<>(__sym0, __sym1); + let __nt = super::__action1219::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 97) } @@ -21077,11 +21077,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CapturePattern = Identifier => ActionFn(1217); + // CapturePattern = Identifier => ActionFn(1220); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1217::<>(__sym0); + let __nt = super::__action1220::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 99) } @@ -21092,7 +21092,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1481); + // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1487); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21103,7 +21103,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 100) } @@ -21114,7 +21114,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1482); + // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1488); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -21126,7 +21126,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1482::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 100) } @@ -21137,7 +21137,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, ":", Suite => ActionFn(1483); + // ClassDef = "class", Identifier, ":", Suite => ActionFn(1489); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -21145,7 +21145,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 100) } @@ -21156,7 +21156,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1484); + // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1490); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21165,7 +21165,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 100) } @@ -21176,7 +21176,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1218); + // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1221); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21187,7 +21187,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1218::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1221::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 101) } @@ -21198,7 +21198,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1219); + // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1222); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant76(__symbols); @@ -21208,7 +21208,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1219::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1222::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 101) } @@ -21219,7 +21219,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1220); + // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1223); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21228,7 +21228,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1220::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1223::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } @@ -21239,7 +21239,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1221); + // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1224); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); @@ -21247,7 +21247,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1221::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1224::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } @@ -21258,7 +21258,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1222); + // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1225); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21267,7 +21267,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1222::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1225::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } @@ -21278,7 +21278,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1223); + // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1226); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant76(__symbols); @@ -21286,7 +21286,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1223::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1226::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } @@ -21297,14 +21297,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", ")" => ActionFn(1224); + // ClassPattern = MatchName, "(", ")" => ActionFn(1227); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1224::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1227::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 101) } @@ -21315,7 +21315,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1225); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1228); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21326,7 +21326,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1225::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1228::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 101) } @@ -21337,7 +21337,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1226); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1229); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant76(__symbols); @@ -21347,7 +21347,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1226::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1229::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 101) } @@ -21358,7 +21358,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1227); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1230); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21367,7 +21367,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1227::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1230::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } @@ -21378,7 +21378,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1228); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1231); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); @@ -21386,7 +21386,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1228::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1231::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } @@ -21397,7 +21397,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1229); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1232); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21406,7 +21406,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1229::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1232::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } @@ -21417,7 +21417,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1230); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1233); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant76(__symbols); @@ -21425,7 +21425,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1230::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1233::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } @@ -21436,14 +21436,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", ")" => ActionFn(1231); + // ClassPattern = MatchNameOrAttr, "(", ")" => ActionFn(1234); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1231::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1234::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 101) } @@ -21559,11 +21559,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = FunctionArgument => ActionFn(1459); + // Comma = FunctionArgument => ActionFn(1465); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1459::<>(__sym0); + let __nt = super::__action1465::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21574,10 +21574,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1460); + // Comma = => ActionFn(1466); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1460::<>(&__start, &__end); + let __nt = super::__action1466::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (0, 103) } @@ -21588,13 +21588,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, FunctionArgument => ActionFn(1461); + // Comma = ( ",")+, FunctionArgument => ActionFn(1467); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1461::<>(__sym0, __sym1); + let __nt = super::__action1467::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (2, 103) } @@ -21605,11 +21605,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1462); + // Comma = ( ",")+ => ActionFn(1468); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1462::<>(__sym0); + let __nt = super::__action1468::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21620,11 +21620,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = Pattern => ActionFn(1467); + // Comma = Pattern => ActionFn(1473); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1467::<>(__sym0); + let __nt = super::__action1473::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -21635,10 +21635,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1468); + // Comma = => ActionFn(1474); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1468::<>(&__start, &__end); + let __nt = super::__action1474::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (0, 104) } @@ -21649,13 +21649,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, Pattern => ActionFn(1469); + // Comma = ( ",")+, Pattern => ActionFn(1475); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1469::<>(__sym0, __sym1); + let __nt = super::__action1475::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (2, 104) } @@ -21666,11 +21666,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1470); + // Comma = ( ",")+ => ActionFn(1476); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1470::<>(__sym0); + let __nt = super::__action1476::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -21879,13 +21879,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"all"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1232); + // Comparison<"all"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1235); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant43(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1232::<>(__sym0, __sym1); + let __nt = super::__action1235::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 108) } @@ -21911,13 +21911,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"no-withitems"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1233); + // Comparison<"no-withitems"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1236); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant43(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1233::<>(__sym0, __sym1); + let __nt = super::__action1236::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 109) } @@ -22186,11 +22186,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ConstantAtom = Constant => ActionFn(1234); + // ConstantAtom = Constant => ActionFn(1237); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1234::<>(__sym0); + let __nt = super::__action1237::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 115) } @@ -22216,13 +22216,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ConstantExpr = "-", ConstantAtom => ActionFn(1235); + // ConstantExpr = "-", ConstantAtom => ActionFn(1238); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1235::<>(__sym0, __sym1); + let __nt = super::__action1238::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 116) } @@ -22233,14 +22233,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(1236); + // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(1239); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1236::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1239::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant55(__nt), __end)); (3, 117) } @@ -22312,13 +22312,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DelStatement = "del", ExpressionList2 => ActionFn(1237); + // DelStatement = "del", ExpressionList2 => ActionFn(1240); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1237::<>(__sym0, __sym1); + let __nt = super::__action1240::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 120) } @@ -22440,11 +22440,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DottedName = name => ActionFn(66); + // DottedName = name => ActionFn(1241); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action66::<>(__sym0); + let __nt = super::__action1241::<>(__sym0); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (1, 125) } @@ -22455,13 +22455,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DottedName = name, ("." Identifier)+ => ActionFn(67); + // DottedName = name, ("." Identifier)+ => ActionFn(1242); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant21(__symbols); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action67::<>(__sym0, __sym1); + let __nt = super::__action1242::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (2, 125) } @@ -22472,14 +22472,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1238); + // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1243); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1238::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1243::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 126) } @@ -22490,11 +22490,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier => ActionFn(1239); + // DoubleStarTypedParameter = Identifier => ActionFn(1244); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1239::<>(__sym0); + let __nt = super::__action1244::<>(__sym0); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 126) } @@ -22534,7 +22534,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1637); + // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1643); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -22542,7 +22542,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1637::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1643::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (4, 128) } @@ -22553,14 +22553,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", ":", Suite => ActionFn(1638); + // ExceptClause = "except", ":", Suite => ActionFn(1644); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1638::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1644::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (3, 128) } @@ -22571,7 +22571,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1148); + // ExceptClause = "except", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1151); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -22581,7 +22581,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1148::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1151::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (6, 128) } @@ -22624,7 +22624,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause = "except", "*", Test<"all">, ":", Suite => ActionFn(765); + // ExceptStarClause = "except", "*", Test<"all">, ":", Suite => ActionFn(767); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -22633,7 +22633,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action765::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action767::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (5, 130) } @@ -22644,7 +22644,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause = "except", "*", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1149); + // ExceptStarClause = "except", "*", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1152); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -22655,7 +22655,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1149::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1152::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (7, 130) } @@ -22698,14 +22698,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1240); + // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1245); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1240::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1245::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 132) } @@ -22731,14 +22731,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1241); + // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1246); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1241::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1246::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 133) } @@ -22856,11 +22856,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList => ActionFn(1662); + // ExpressionStatement = GenericList => ActionFn(1668); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1662::<>(__sym0); + let __nt = super::__action1668::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 138) } @@ -22871,13 +22871,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1663); + // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1669); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant17(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1663::<>(__sym0, __sym1); + let __nt = super::__action1669::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 138) } @@ -22888,14 +22888,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1664); + // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1670); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1664::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1670::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -22906,7 +22906,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1457); + // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1463); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -22914,7 +22914,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1457::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1463::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 138) } @@ -22925,14 +22925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1458); + // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1464); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1458::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1464::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -22943,13 +22943,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1245); + // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1250); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant87(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1245::<>(__sym0, __sym1); + let __nt = super::__action1250::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 139) } @@ -22975,13 +22975,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1246); + // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1251); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant87(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1246::<>(__sym0, __sym1); + let __nt = super::__action1251::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 140) } @@ -23007,11 +23007,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "break" => ActionFn(1247); + // FlowStatement = "break" => ActionFn(1252); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1247::<>(__sym0); + let __nt = super::__action1252::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23022,11 +23022,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "continue" => ActionFn(1248); + // FlowStatement = "continue" => ActionFn(1253); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1248::<>(__sym0); + let __nt = super::__action1253::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23037,13 +23037,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return", GenericList => ActionFn(1658); + // FlowStatement = "return", GenericList => ActionFn(1664); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1658::<>(__sym0, __sym1); + let __nt = super::__action1664::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 141) } @@ -23054,11 +23054,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return" => ActionFn(1659); + // FlowStatement = "return" => ActionFn(1665); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1659::<>(__sym0); + let __nt = super::__action1665::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23069,11 +23069,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = YieldExpr => ActionFn(1250); + // FlowStatement = YieldExpr => ActionFn(1255); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1250::<>(__sym0); + let __nt = super::__action1255::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23099,7 +23099,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1649); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1655); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -23113,7 +23113,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1649::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1655::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 142) } @@ -23124,7 +23124,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1650); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1656); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23135,7 +23135,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1650::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1656::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 142) } @@ -23146,7 +23146,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1651); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1657); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23159,7 +23159,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1651::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1657::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 142) } @@ -23170,7 +23170,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1652); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1658); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23180,7 +23180,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1652::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1658::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 142) } @@ -23191,7 +23191,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1485); + // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1491); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23203,7 +23203,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23214,7 +23214,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1486); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1492); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23227,7 +23227,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1492::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 143) } @@ -23238,7 +23238,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1487); + // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1493); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23248,7 +23248,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1493::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23259,7 +23259,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1488); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1494); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23270,7 +23270,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1494::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23281,7 +23281,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1489); + // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1495); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23292,7 +23292,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1495::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23303,7 +23303,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1490); + // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1496); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23315,7 +23315,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1496::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23326,7 +23326,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1491); + // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1497); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -23335,7 +23335,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1497::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 143) } @@ -23346,7 +23346,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1492); + // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1498); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23356,7 +23356,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1492::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1498::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23367,13 +23367,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1475); + // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1481); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant51(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1475::<>(__sym0, __sym1); + let __nt = super::__action1481::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23384,11 +23384,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest => ActionFn(1476); + // FunctionArgument = NamedExpressionTest => ActionFn(1482); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1476::<>(__sym0); + let __nt = super::__action1482::<>(__sym0); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (1, 144) } @@ -23399,14 +23399,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1252); + // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1257); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1252::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1257::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (3, 144) } @@ -23417,13 +23417,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "*", Test<"all"> => ActionFn(1253); + // FunctionArgument = "*", Test<"all"> => ActionFn(1258); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1253::<>(__sym0, __sym1); + let __nt = super::__action1258::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23434,13 +23434,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "**", Test<"all"> => ActionFn(1254); + // FunctionArgument = "**", Test<"all"> => ActionFn(1259); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1254::<>(__sym0, __sym1); + let __nt = super::__action1259::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23480,13 +23480,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1255); + // GenericList = OneOrMore, "," => ActionFn(1260); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1255::<>(__sym0, __sym1); + let __nt = super::__action1260::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 146) } @@ -23497,11 +23497,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1256); + // GenericList = OneOrMore => ActionFn(1261); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1256::<>(__sym0); + let __nt = super::__action1261::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 146) } @@ -23512,13 +23512,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1257); + // GenericList = OneOrMore, "," => ActionFn(1262); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1257::<>(__sym0, __sym1); + let __nt = super::__action1262::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 147) } @@ -23529,11 +23529,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1258); + // GenericList = OneOrMore => ActionFn(1263); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1258::<>(__sym0); + let __nt = super::__action1263::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 147) } @@ -23544,13 +23544,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GlobalStatement = "global", OneOrMore => ActionFn(1259); + // GlobalStatement = "global", OneOrMore => ActionFn(1264); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1259::<>(__sym0, __sym1); + let __nt = super::__action1264::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 148) } @@ -23578,11 +23578,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Identifier = name => ActionFn(224); + // Identifier = name => ActionFn(1265); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action224::<>(__sym0); + let __nt = super::__action1265::<>(__sym0); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (1, 150) } @@ -23593,7 +23593,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1097); + // IfStatement = "if", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1100); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23604,7 +23604,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1097::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1100::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 151) } @@ -23615,7 +23615,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+, "else", ":", Suite => ActionFn(1098); + // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+, "else", ":", Suite => ActionFn(1101); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23627,7 +23627,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1098::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1101::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 151) } @@ -23638,7 +23638,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite => ActionFn(1099); + // IfStatement = "if", NamedExpressionTest, ":", Suite => ActionFn(1102); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -23646,7 +23646,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1099::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1102::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 151) } @@ -23657,7 +23657,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+ => ActionFn(1100); + // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+ => ActionFn(1103); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant28(__symbols); let __sym3 = __pop_Variant25(__symbols); @@ -23666,7 +23666,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1100::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1103::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 151) } @@ -23677,14 +23677,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1260); + // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1266); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1260::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1266::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 152) } @@ -23695,11 +23695,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName => ActionFn(1261); + // ImportAsAlias = DottedName => ActionFn(1267); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1261::<>(__sym0); + let __nt = super::__action1267::<>(__sym0); __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 152) } @@ -23710,14 +23710,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1262); + // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1268); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1262::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1268::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 153) } @@ -23728,11 +23728,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier => ActionFn(1263); + // ImportAsAlias = Identifier => ActionFn(1269); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1263::<>(__sym0); + let __nt = super::__action1269::<>(__sym0); __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 153) } @@ -23743,11 +23743,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = OneOrMore> => ActionFn(1264); + // ImportAsNames = OneOrMore> => ActionFn(1270); let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1264::<>(__sym0); + let __nt = super::__action1270::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } @@ -23758,7 +23758,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1265); + // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1271); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -23766,7 +23766,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1265::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1271::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (4, 154) } @@ -23777,14 +23777,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1266); + // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1272); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1266::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1272::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 154) } @@ -23795,11 +23795,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "*" => ActionFn(1267); + // ImportAsNames = "*" => ActionFn(1273); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1267::<>(__sym0); + let __nt = super::__action1273::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } @@ -23901,11 +23901,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = DottedName => ActionFn(1507); + // ImportFromLocation = DottedName => ActionFn(1513); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1507::<>(__sym0); + let __nt = super::__action1513::<>(__sym0); __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } @@ -23916,13 +23916,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = ImportDots+, DottedName => ActionFn(1508); + // ImportFromLocation = ImportDots+, DottedName => ActionFn(1514); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1508::<>(__sym0, __sym1); + let __nt = super::__action1514::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (2, 158) } @@ -23948,13 +23948,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "import", OneOrMore> => ActionFn(1268); + // ImportStatement = "import", OneOrMore> => ActionFn(1274); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1268::<>(__sym0, __sym1); + let __nt = super::__action1274::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 159) } @@ -23965,7 +23965,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1269); + // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1275); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant67(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -23973,7 +23973,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1269::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1275::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 159) } @@ -23984,13 +23984,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1497); + // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1503); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1497::<>(__sym0, __sym1); + let __nt = super::__action1503::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 160) } @@ -24001,11 +24001,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(1498); + // KwargParameter = "**" => ActionFn(1504); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1498::<>(__sym0); + let __nt = super::__action1504::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 160) } @@ -24016,13 +24016,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", StarUntypedParameter => ActionFn(966); + // KwargParameter = "**", StarUntypedParameter => ActionFn(969); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action966::<>(__sym0, __sym1); + let __nt = super::__action969::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 161) } @@ -24033,11 +24033,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(967); + // KwargParameter = "**" => ActionFn(970); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action967::<>(__sym0); + let __nt = super::__action970::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 161) } @@ -24109,11 +24109,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "None" => ActionFn(1271); + // LiteralPattern = "None" => ActionFn(1277); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1271::<>(__sym0); + let __nt = super::__action1277::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24124,11 +24124,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "True" => ActionFn(1272); + // LiteralPattern = "True" => ActionFn(1278); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1272::<>(__sym0); + let __nt = super::__action1278::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24139,11 +24139,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "False" => ActionFn(1273); + // LiteralPattern = "False" => ActionFn(1279); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1273::<>(__sym0); + let __nt = super::__action1279::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24154,11 +24154,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = ConstantExpr => ActionFn(1274); + // LiteralPattern = ConstantExpr => ActionFn(1280); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1274::<>(__sym0); + let __nt = super::__action1280::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24169,11 +24169,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = AddOpExpr => ActionFn(1275); + // LiteralPattern = AddOpExpr => ActionFn(1281); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1275::<>(__sym0); + let __nt = super::__action1281::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } @@ -24229,11 +24229,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "None" => ActionFn(1277); + // MappingKey = "None" => ActionFn(1283); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1277::<>(__sym0); + let __nt = super::__action1283::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24244,11 +24244,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "True" => ActionFn(1278); + // MappingKey = "True" => ActionFn(1284); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1278::<>(__sym0); + let __nt = super::__action1284::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24259,11 +24259,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "False" => ActionFn(1279); + // MappingKey = "False" => ActionFn(1285); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1279::<>(__sym0); + let __nt = super::__action1285::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } @@ -24274,13 +24274,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "}" => ActionFn(1280); + // MappingPattern = "{", "}" => ActionFn(1286); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1280::<>(__sym0, __sym1); + let __nt = super::__action1286::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 167) } @@ -24291,7 +24291,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1281); + // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1287); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24299,7 +24299,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1281::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1287::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } @@ -24310,14 +24310,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, "}" => ActionFn(1282); + // MappingPattern = "{", OneOrMore, "}" => ActionFn(1288); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1282::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 167) } @@ -24328,7 +24328,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1283); + // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1289); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24337,7 +24337,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1283::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1289::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 167) } @@ -24348,7 +24348,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1284); + // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1290); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); @@ -24356,7 +24356,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1284::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1290::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } @@ -24367,7 +24367,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1285); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1291); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -24378,7 +24378,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1285::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1291::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 167) } @@ -24389,7 +24389,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1286); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1292); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant23(__symbols); @@ -24399,7 +24399,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1286::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1292::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 167) } @@ -24410,7 +24410,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1450); + // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1456); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24419,7 +24419,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1456::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (5, 168) } @@ -24430,7 +24430,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, ":", Suite => ActionFn(1451); + // MatchCase = "case", Patterns, ":", Suite => ActionFn(1457); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24438,7 +24438,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1451::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1457::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (4, 168) } @@ -24517,11 +24517,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchName = Identifier => ActionFn(1287); + // MatchName = Identifier => ActionFn(1293); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1287::<>(__sym0); + let __nt = super::__action1293::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 172) } @@ -24532,14 +24532,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1288); + // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1294); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1294::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } @@ -24550,14 +24550,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1289); + // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1295); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1289::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1295::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } @@ -24568,7 +24568,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TestOrStarNamedExpr, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(822); + // MatchStatement = "match", TestOrStarNamedExpr, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(825); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant72(__symbols); @@ -24579,7 +24579,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action822::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action825::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 174) } @@ -24590,7 +24590,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TestOrStarNamedExpr, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(823); + // MatchStatement = "match", TestOrStarNamedExpr, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(826); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant72(__symbols); @@ -24602,7 +24602,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action823::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action826::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 174) } @@ -24613,7 +24613,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TwoOrMore, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(824); + // MatchStatement = "match", TwoOrMore, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(827); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant72(__symbols); @@ -24625,7 +24625,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action824::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action827::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 174) } @@ -24636,7 +24636,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TwoOrMore, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(825); + // MatchStatement = "match", TwoOrMore, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(828); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant72(__symbols); @@ -24647,7 +24647,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action825::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action828::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 174) } @@ -24733,14 +24733,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1290); + // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1296); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1290::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1296::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 176) } @@ -24811,13 +24811,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1291); + // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1297); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1291::<>(__sym0, __sym1); + let __nt = super::__action1297::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 179) } @@ -24828,13 +24828,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1292); + // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1298); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1292::<>(__sym0, __sym1); + let __nt = super::__action1298::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 180) } @@ -24860,13 +24860,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1293); + // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1299); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1293::<>(__sym0, __sym1); + let __nt = super::__action1299::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 181) } @@ -24991,14 +24991,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName, "as", Identifier => ActionFn(1499); + // OneOrMore> = DottedName, "as", Identifier => ActionFn(1505); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1499::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1505::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } @@ -25009,11 +25009,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName => ActionFn(1500); + // OneOrMore> = DottedName => ActionFn(1506); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1500::<>(__sym0); + let __nt = super::__action1506::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 185) } @@ -25024,7 +25024,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1501); + // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1507); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -25033,7 +25033,7 @@ mod __parse__Top { let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1501::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1507::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 185) } @@ -25044,14 +25044,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1502); + // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1508); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1502::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1508::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } @@ -25062,14 +25062,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier, "as", Identifier => ActionFn(1503); + // OneOrMore> = Identifier, "as", Identifier => ActionFn(1509); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1503::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1509::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } @@ -25080,11 +25080,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier => ActionFn(1504); + // OneOrMore> = Identifier => ActionFn(1510); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1504::<>(__sym0); + let __nt = super::__action1510::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 186) } @@ -25095,7 +25095,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1505); + // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1511); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -25104,7 +25104,7 @@ mod __parse__Top { let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1505::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1511::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 186) } @@ -25115,14 +25115,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1506); + // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1512); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1506::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1512::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } @@ -25412,11 +25412,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrPattern = TwoOrMore => ActionFn(1294); + // OrPattern = TwoOrMore => ActionFn(1300); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1294::<>(__sym0); + let __nt = super::__action1300::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 195) } @@ -25427,13 +25427,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1295); + // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1301); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1295::<>(__sym0, __sym1); + let __nt = super::__action1301::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 196) } @@ -25459,13 +25459,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1296); + // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1302); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1296::<>(__sym0, __sym1); + let __nt = super::__action1302::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 197) } @@ -25661,13 +25661,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1333); + // ParameterList = KwargParameter, "," => ActionFn(1339); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1333::<>(__sym0, __sym1); + let __nt = super::__action1339::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 202) } @@ -25678,11 +25678,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1334); + // ParameterList = KwargParameter => ActionFn(1340); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1334::<>(__sym0); + let __nt = super::__action1340::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 202) } @@ -25693,13 +25693,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1371); + // ParameterList = KwargParameter, "," => ActionFn(1377); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1371::<>(__sym0, __sym1); + let __nt = super::__action1377::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 203) } @@ -25710,11 +25710,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1372); + // ParameterList = KwargParameter => ActionFn(1378); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1372::<>(__sym0); + let __nt = super::__action1378::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 203) } @@ -25754,11 +25754,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // PassStatement = "pass" => ActionFn(1374); + // PassStatement = "pass" => ActionFn(1380); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1374::<>(__sym0); + let __nt = super::__action1380::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 208) } @@ -25828,13 +25828,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = Pattern, "," => ActionFn(1375); + // Patterns = Pattern, "," => ActionFn(1381); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1375::<>(__sym0, __sym1); + let __nt = super::__action1381::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25845,13 +25845,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore, "," => ActionFn(1376); + // Patterns = TwoOrMore, "," => ActionFn(1382); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1376::<>(__sym0, __sym1); + let __nt = super::__action1382::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25862,11 +25862,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore => ActionFn(1377); + // Patterns = TwoOrMore => ActionFn(1383); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1377::<>(__sym0); + let __nt = super::__action1383::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 211) } @@ -25892,14 +25892,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1378); + // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1384); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1378::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1384::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 212) } @@ -25925,14 +25925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1379); + // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1385); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1379::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1385::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 213) } @@ -25989,7 +25989,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, SmallStatement, ";", "\n" => ActionFn(1132); + // Program = Program, SmallStatement, ";", "\n" => ActionFn(1135); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -25997,7 +25997,7 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1132::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1135::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (4, 214) } @@ -26008,7 +26008,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1133); + // Program = Program, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1136); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26017,7 +26017,7 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1133::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1136::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (5, 214) } @@ -26028,14 +26028,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, SmallStatement, "\n" => ActionFn(1134); + // Program = Program, SmallStatement, "\n" => ActionFn(1137); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1134::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1137::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (3, 214) } @@ -26046,7 +26046,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, ( ";")+, SmallStatement, "\n" => ActionFn(1135); + // Program = Program, ( ";")+, SmallStatement, "\n" => ActionFn(1138); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); @@ -26054,7 +26054,7 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1135::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1138::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (4, 214) } @@ -26082,11 +26082,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise" => ActionFn(1380); + // RaiseStatement = "raise" => ActionFn(1386); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1380::<>(__sym0); + let __nt = super::__action1386::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 215) } @@ -26097,7 +26097,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1381); + // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1387); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26105,7 +26105,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1381::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1387::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 215) } @@ -26116,13 +26116,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all"> => ActionFn(1382); + // RaiseStatement = "raise", Test<"all"> => ActionFn(1388); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1382::<>(__sym0, __sym1); + let __nt = super::__action1388::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 215) } @@ -26133,14 +26133,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ")" => ActionFn(1383); + // SequencePattern = "(", Pattern, ")" => ActionFn(1389); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1383::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26151,13 +26151,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ")" => ActionFn(1384); + // SequencePattern = "(", ")" => ActionFn(1390); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1384::<>(__sym0, __sym1); + let __nt = super::__action1390::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26168,7 +26168,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1385); + // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1391); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26176,7 +26176,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1385::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1391::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26187,7 +26187,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1386); + // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1392); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26196,7 +26196,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1386::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1392::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 216) } @@ -26207,7 +26207,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1387); + // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1393); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26215,7 +26215,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1387::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1393::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26226,14 +26226,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", Pattern, "]" => ActionFn(1471); + // SequencePattern = "[", Pattern, "]" => ActionFn(1477); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1471::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1477::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26244,13 +26244,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", "]" => ActionFn(1472); + // SequencePattern = "[", "]" => ActionFn(1478); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1472::<>(__sym0, __sym1); + let __nt = super::__action1478::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26261,7 +26261,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1473); + // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1479); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26269,7 +26269,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1473::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26280,14 +26280,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, "]" => ActionFn(1474); + // SequencePattern = "[", ( ",")+, "]" => ActionFn(1480); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant34(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1474::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1480::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26330,14 +26330,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1389); + // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1395); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1395::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 218) } @@ -26363,14 +26363,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1390); + // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1396); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1390::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1396::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 219) } @@ -26426,7 +26426,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1477); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1483); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26435,7 +26435,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1477::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } @@ -26446,7 +26446,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1478); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1484); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant17(__symbols); let __sym4 = __pop_Variant15(__symbols); @@ -26456,7 +26456,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1478::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (6, 221) } @@ -26467,7 +26467,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1479); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1485); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26475,7 +26475,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (4, 221) } @@ -26486,7 +26486,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1480); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1486); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant17(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -26495,7 +26495,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1480::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } @@ -26538,13 +26538,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":", Test<"all"> => ActionFn(1639); + // SliceOp = ":", Test<"all"> => ActionFn(1645); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1639::<>(__sym0, __sym1); + let __nt = super::__action1645::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (2, 223) } @@ -26555,11 +26555,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":" => ActionFn(1640); + // SliceOp = ":" => ActionFn(1646); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1640::<>(__sym0); + let __nt = super::__action1646::<>(__sym0); __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (1, 223) } @@ -26719,13 +26719,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarExpr = "*", Expression<"all"> => ActionFn(1393); + // StarExpr = "*", Expression<"all"> => ActionFn(1399); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1393::<>(__sym0, __sym1); + let __nt = super::__action1399::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 226) } @@ -26736,13 +26736,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarPattern = "*", Identifier => ActionFn(1394); + // StarPattern = "*", Identifier => ActionFn(1400); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1394::<>(__sym0, __sym1); + let __nt = super::__action1400::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 227) } @@ -26753,14 +26753,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1395); + // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1401); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1395::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1401::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 228) } @@ -26771,11 +26771,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier => ActionFn(1396); + // StarTypedParameter = Identifier => ActionFn(1402); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1396::<>(__sym0); + let __nt = super::__action1402::<>(__sym0); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 228) } @@ -26815,11 +26815,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter = Identifier => ActionFn(1397); + // StarUntypedParameter = Identifier => ActionFn(1403); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1397::<>(__sym0); + let __nt = super::__action1403::<>(__sym0); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 230) } @@ -26859,14 +26859,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = SmallStatement, ";", "\n" => ActionFn(1136); + // Statements = SmallStatement, ";", "\n" => ActionFn(1139); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1136::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1139::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } @@ -26877,7 +26877,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1137); + // Statements = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1140); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26885,7 +26885,7 @@ mod __parse__Top { let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1137::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1140::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } @@ -26896,13 +26896,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = SmallStatement, "\n" => ActionFn(1138); + // Statements = SmallStatement, "\n" => ActionFn(1141); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1138::<>(__sym0, __sym1); + let __nt = super::__action1141::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (2, 232) } @@ -26913,14 +26913,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = ( ";")+, SmallStatement, "\n" => ActionFn(1139); + // Statements = ( ";")+, SmallStatement, "\n" => ActionFn(1142); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1139::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1142::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } @@ -26963,7 +26963,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, SmallStatement, ";", "\n" => ActionFn(1140); + // Statements = Statements, SmallStatement, ";", "\n" => ActionFn(1143); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26971,7 +26971,7 @@ mod __parse__Top { let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1140::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1143::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } @@ -26982,7 +26982,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1141); + // Statements = Statements, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1144); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26991,7 +26991,7 @@ mod __parse__Top { let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1141::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1144::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (5, 232) } @@ -27002,14 +27002,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, SmallStatement, "\n" => ActionFn(1142); + // Statements = Statements, SmallStatement, "\n" => ActionFn(1145); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1142::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1145::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (3, 232) } @@ -27020,7 +27020,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, ( ";")+, SmallStatement, "\n" => ActionFn(1143); + // Statements = Statements, ( ";")+, SmallStatement, "\n" => ActionFn(1146); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); @@ -27028,7 +27028,7 @@ mod __parse__Top { let __sym0 = __pop_Variant85(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1143::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1146::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant85(__nt), __end)); (4, 232) } @@ -27054,7 +27054,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1641); + // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1647); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant83(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -27062,7 +27062,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1641::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1647::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 233) } @@ -27073,14 +27073,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", SliceOp => ActionFn(1642); + // Subscript = Test<"all">, ":", SliceOp => ActionFn(1648); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1642::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1648::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27091,14 +27091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all">, SliceOp => ActionFn(1643); + // Subscript = ":", Test<"all">, SliceOp => ActionFn(1649); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1643::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1649::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27109,13 +27109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", SliceOp => ActionFn(1644); + // Subscript = ":", SliceOp => ActionFn(1650); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant83(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1644::<>(__sym0, __sym1); + let __nt = super::__action1650::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27126,14 +27126,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1645); + // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1651); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1645::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1651::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27144,13 +27144,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":" => ActionFn(1646); + // Subscript = Test<"all">, ":" => ActionFn(1652); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1646::<>(__sym0, __sym1); + let __nt = super::__action1652::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27161,13 +27161,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all"> => ActionFn(1647); + // Subscript = ":", Test<"all"> => ActionFn(1653); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1647::<>(__sym0, __sym1); + let __nt = super::__action1653::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27178,11 +27178,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":" => ActionFn(1648); + // Subscript = ":" => ActionFn(1654); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1648::<>(__sym0); + let __nt = super::__action1654::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 233) } @@ -27193,11 +27193,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript => ActionFn(1399); + // SubscriptList = Subscript => ActionFn(1405); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1399::<>(__sym0); + let __nt = super::__action1405::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27208,13 +27208,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript, "," => ActionFn(1400); + // SubscriptList = Subscript, "," => ActionFn(1406); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1400::<>(__sym0, __sym1); + let __nt = super::__action1406::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27225,13 +27225,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore, "," => ActionFn(1401); + // SubscriptList = TwoOrMore, "," => ActionFn(1407); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1401::<>(__sym0, __sym1); + let __nt = super::__action1407::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27242,11 +27242,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore => ActionFn(1402); + // SubscriptList = TwoOrMore => ActionFn(1408); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1402::<>(__sym0); + let __nt = super::__action1408::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27257,14 +27257,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = SmallStatement, ";", "\n" => ActionFn(1144); + // Suite = SmallStatement, ";", "\n" => ActionFn(1147); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1144::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1147::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (3, 235) } @@ -27275,7 +27275,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1145); + // Suite = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1148); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -27283,7 +27283,7 @@ mod __parse__Top { let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1145::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1148::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (4, 235) } @@ -27294,13 +27294,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = SmallStatement, "\n" => ActionFn(1146); + // Suite = SmallStatement, "\n" => ActionFn(1149); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1146::<>(__sym0, __sym1); + let __nt = super::__action1149::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (2, 235) } @@ -27311,14 +27311,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = ( ";")+, SmallStatement, "\n" => ActionFn(1147); + // Suite = ( ";")+, SmallStatement, "\n" => ActionFn(1150); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1147::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1150::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (3, 235) } @@ -27348,14 +27348,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1403); + // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1409); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1403::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1409::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 236) } @@ -27381,14 +27381,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1404); + // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1410); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1404::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1410::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 237) } @@ -27414,7 +27414,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1405); + // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1411); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27423,7 +27423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1405::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 238) } @@ -27493,7 +27493,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1406); + // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1412); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27502,7 +27502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1406::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 240) } @@ -27558,11 +27558,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList? = GenericList => ActionFn(1653); + // TestList? = GenericList => ActionFn(1659); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1653::<>(__sym0); + let __nt = super::__action1659::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 242) } @@ -27587,11 +27587,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestListOrYieldExpr = GenericList => ActionFn(1654); + // TestListOrYieldExpr = GenericList => ActionFn(1660); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1654::<>(__sym0); + let __nt = super::__action1660::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 243) } @@ -27647,11 +27647,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExprList = GenericList => ActionFn(1655); + // TestOrStarExprList = GenericList => ActionFn(1661); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1655::<>(__sym0); + let __nt = super::__action1661::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 245) } @@ -27692,13 +27692,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartModule, Program => ActionFn(1407); + // Top = StartModule, Program => ActionFn(1413); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1407::<>(__sym0, __sym1); + let __nt = super::__action1413::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27709,13 +27709,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartInteractive, Program => ActionFn(1408); + // Top = StartInteractive, Program => ActionFn(1414); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1408::<>(__sym0, __sym1); + let __nt = super::__action1414::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27726,13 +27726,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList => ActionFn(1656); + // Top = StartExpression, GenericList => ActionFn(1662); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1656::<>(__sym0, __sym1); + let __nt = super::__action1662::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27743,14 +27743,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1657); + // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1663); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant22(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1657::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1663::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (3, 247) } @@ -27761,7 +27761,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1411); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1417); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27775,7 +27775,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27786,7 +27786,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1412); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1418); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27797,7 +27797,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1418::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27808,7 +27808,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1413); + // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1419); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27819,7 +27819,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1413::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1419::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27830,7 +27830,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1414); + // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1420); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); @@ -27838,7 +27838,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1414::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1420::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -27849,7 +27849,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1415); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1421); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27863,7 +27863,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1415::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1421::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27874,7 +27874,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1416); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1422); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27885,7 +27885,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1416::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1422::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27896,7 +27896,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1417); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1423); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27907,7 +27907,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1423::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27918,7 +27918,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1418); + // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1424); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); @@ -27926,7 +27926,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1418::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1424::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -27937,7 +27937,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, "finally", ":", Suite => ActionFn(1083); + // TryStatement = "try", ":", Suite, "finally", ":", Suite => ActionFn(1086); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -27947,7 +27947,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1083::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1086::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 248) } @@ -28102,14 +28102,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1419); + // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1425); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1419::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1425::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (3, 253) } @@ -28120,11 +28120,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier => ActionFn(1420); + // TypedParameter = Identifier => ActionFn(1426); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1420::<>(__sym0); + let __nt = super::__action1426::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 253) } @@ -28180,11 +28180,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UntypedParameter = Identifier => ActionFn(1421); + // UntypedParameter = Identifier => ActionFn(1427); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1421::<>(__sym0); + let __nt = super::__action1427::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 255) } @@ -28195,11 +28195,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ValuePattern = MatchNameOrAttr => ActionFn(1422); + // ValuePattern = MatchNameOrAttr => ActionFn(1428); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1422::<>(__sym0); + let __nt = super::__action1428::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 256) } @@ -28210,7 +28210,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WhileStatement = "while", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1080); + // WhileStatement = "while", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1083); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28221,7 +28221,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1080::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1083::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 257) } @@ -28232,7 +28232,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WhileStatement = "while", NamedExpressionTest, ":", Suite => ActionFn(1081); + // WhileStatement = "while", NamedExpressionTest, ":", Suite => ActionFn(1084); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28240,7 +28240,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1081::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1084::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 257) } @@ -28251,11 +28251,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all"> => ActionFn(1423); + // WithItem<"all"> = Test<"all"> => ActionFn(1429); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1423::<>(__sym0); + let __nt = super::__action1429::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 258) } @@ -28266,14 +28266,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1424); + // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1430); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1424::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1430::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 258) } @@ -28284,14 +28284,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1425); + // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1431); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1425::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1431::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 259) } @@ -28302,11 +28302,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1426); + // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1432); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1426::<>(__sym0); + let __nt = super::__action1432::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 260) } @@ -28317,14 +28317,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1427); + // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1433); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1427::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1433::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 260) } @@ -28335,7 +28335,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1434); + // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1440); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28343,7 +28343,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1434::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28354,14 +28354,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ")" => ActionFn(1435); + // WithItems = "(", OneOrMore>, ")" => ActionFn(1441); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1435::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1441::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28372,7 +28372,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1437); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1443); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -28382,7 +28382,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1437::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28393,7 +28393,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1438); + // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1444); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28401,7 +28401,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1438::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1444::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28412,7 +28412,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1439); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1445); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28423,7 +28423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1439::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1445::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (7, 261) } @@ -28434,7 +28434,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1440); + // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1446); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28443,7 +28443,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1446::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28454,7 +28454,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1441); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1447); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant18(__symbols); @@ -28463,7 +28463,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1441::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1447::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28474,14 +28474,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ")" => ActionFn(1442); + // WithItems = "(", WithItem<"as">, ")" => ActionFn(1448); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1442::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1448::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28492,7 +28492,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1443); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1449); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant19(__symbols); @@ -28502,7 +28502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1449::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28513,7 +28513,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1444); + // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1450); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant19(__symbols); @@ -28521,7 +28521,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1444::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28564,11 +28564,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItemsNoAs = OneOrMore> => ActionFn(1428); + // WithItemsNoAs = OneOrMore> => ActionFn(1434); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1428::<>(__sym0); + let __nt = super::__action1434::<>(__sym0); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (1, 262) } @@ -28579,7 +28579,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithStatement = "async", "with", WithItems, ":", Suite => ActionFn(910); + // WithStatement = "async", "with", WithItems, ":", Suite => ActionFn(913); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28588,7 +28588,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action910::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action913::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 263) } @@ -28599,7 +28599,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithStatement = "with", WithItems, ":", Suite => ActionFn(911); + // WithStatement = "with", WithItems, ":", Suite => ActionFn(914); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28607,7 +28607,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action911::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action914::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 263) } @@ -28618,14 +28618,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1429); + // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1435); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1429::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1435::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 264) } @@ -28651,14 +28651,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1430); + // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1436); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1430::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1436::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 265) } @@ -28684,13 +28684,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", GenericList => ActionFn(1660); + // YieldExpr = "yield", GenericList => ActionFn(1666); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1660::<>(__sym0, __sym1); + let __nt = super::__action1666::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 266) } @@ -28701,11 +28701,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield" => ActionFn(1661); + // YieldExpr = "yield" => ActionFn(1667); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1661::<>(__sym0); + let __nt = super::__action1667::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 266) } @@ -28716,14 +28716,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1432); + // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1438); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1432::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1438::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 266) } @@ -29510,24 +29510,28 @@ fn __action65< { { // Star import all - vec![ast::Alias { name: ast::Identifier::new("*"), asname: None, range: (location..end_location).into() }] + vec![ast::Alias { name: ast::Identifier::new("*", (location..end_location).into()), asname: None, range: (location..end_location).into() }] } } #[allow(clippy::too_many_arguments)] fn __action66< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, n, _): (TextSize, String, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { - ast::Identifier::new(n) + ast::Identifier::new(n, (location..end_location).into()) } #[allow(clippy::too_many_arguments)] fn __action67< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, n, _): (TextSize, String, TextSize), (_, n2, _): (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { { @@ -29536,7 +29540,7 @@ fn __action67< r.push('.'); r.push_str(x.1.as_str()); } - ast::Identifier::new(r) + ast::Identifier::new(r, (location..end_location).into()) } } @@ -30242,12 +30246,12 @@ fn __action115< fn __action116< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, ) } @@ -31301,7 +31305,7 @@ fn __action170< ast::Expr::NamedExpr( ast::ExprNamedExpr { target: Box::new(ast::Expr::Name( - ast::ExprName { id, ctx: ast::ExprContext::Store, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Store, range: (location..end_location).into() }, )), range: (location..value.end()).into(), value: Box::new(value), @@ -31903,10 +31907,12 @@ fn __action223< #[allow(clippy::too_many_arguments)] fn __action224< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, String, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { - ast::Identifier::new(s) + ast::Identifier::new(s, (location..end_location).into()) } #[allow(clippy::too_many_arguments)] @@ -35043,12 +35049,12 @@ fn __action501< fn __action502< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ) } @@ -35645,12 +35651,12 @@ fn __action546< fn __action547< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ) } @@ -40978,6 +40984,50 @@ fn __action761< #[allow(clippy::too_many_arguments)] fn __action762< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action373( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action66( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action763< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action373( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action67( + __temp0, + __0, + __1, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action764< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41000,7 +41050,7 @@ fn __action762< } #[allow(clippy::too_many_arguments)] -fn __action763< +fn __action765< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41025,7 +41075,7 @@ fn __action763< } #[allow(clippy::too_many_arguments)] -fn __action764< +fn __action766< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Identifier), TextSize), @@ -41050,7 +41100,7 @@ fn __action764< } #[allow(clippy::too_many_arguments)] -fn __action765< +fn __action767< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41077,7 +41127,7 @@ fn __action765< } #[allow(clippy::too_many_arguments)] -fn __action766< +fn __action768< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41104,7 +41154,7 @@ fn __action766< } #[allow(clippy::too_many_arguments)] -fn __action767< +fn __action769< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41129,7 +41179,7 @@ fn __action767< } #[allow(clippy::too_many_arguments)] -fn __action768< +fn __action770< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41154,7 +41204,7 @@ fn __action768< } #[allow(clippy::too_many_arguments)] -fn __action769< +fn __action771< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -41177,7 +41227,7 @@ fn __action769< } #[allow(clippy::too_many_arguments)] -fn __action770< +fn __action772< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -41202,7 +41252,7 @@ fn __action770< } #[allow(clippy::too_many_arguments)] -fn __action771< +fn __action773< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41229,7 +41279,7 @@ fn __action771< } #[allow(clippy::too_many_arguments)] -fn __action772< +fn __action774< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41252,7 +41302,7 @@ fn __action772< } #[allow(clippy::too_many_arguments)] -fn __action773< +fn __action775< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41275,7 +41325,7 @@ fn __action773< } #[allow(clippy::too_many_arguments)] -fn __action774< +fn __action776< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41296,7 +41346,7 @@ fn __action774< } #[allow(clippy::too_many_arguments)] -fn __action775< +fn __action777< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41317,7 +41367,7 @@ fn __action775< } #[allow(clippy::too_many_arguments)] -fn __action776< +fn __action778< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41340,7 +41390,7 @@ fn __action776< } #[allow(clippy::too_many_arguments)] -fn __action777< +fn __action779< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41361,7 +41411,7 @@ fn __action777< } #[allow(clippy::too_many_arguments)] -fn __action778< +fn __action780< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41394,7 +41444,7 @@ fn __action778< } #[allow(clippy::too_many_arguments)] -fn __action779< +fn __action781< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41425,7 +41475,7 @@ fn __action779< } #[allow(clippy::too_many_arguments)] -fn __action780< +fn __action782< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41458,7 +41508,7 @@ fn __action780< } #[allow(clippy::too_many_arguments)] -fn __action781< +fn __action783< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41489,7 +41539,7 @@ fn __action781< } #[allow(clippy::too_many_arguments)] -fn __action782< +fn __action784< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -41512,7 +41562,7 @@ fn __action782< } #[allow(clippy::too_many_arguments)] -fn __action783< +fn __action785< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41537,7 +41587,7 @@ fn __action783< } #[allow(clippy::too_many_arguments)] -fn __action784< +fn __action786< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41560,7 +41610,7 @@ fn __action784< } #[allow(clippy::too_many_arguments)] -fn __action785< +fn __action787< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41583,7 +41633,7 @@ fn __action785< } #[allow(clippy::too_many_arguments)] -fn __action786< +fn __action788< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41606,7 +41656,7 @@ fn __action786< } #[allow(clippy::too_many_arguments)] -fn __action787< +fn __action789< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41627,7 +41677,7 @@ fn __action787< } #[allow(clippy::too_many_arguments)] -fn __action788< +fn __action790< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41650,7 +41700,7 @@ fn __action788< } #[allow(clippy::too_many_arguments)] -fn __action789< +fn __action791< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41671,7 +41721,7 @@ fn __action789< } #[allow(clippy::too_many_arguments)] -fn __action790< +fn __action792< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41694,7 +41744,28 @@ fn __action790< } #[allow(clippy::too_many_arguments)] -fn __action791< +fn __action793< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action373( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action224( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action794< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41723,7 +41794,7 @@ fn __action791< } #[allow(clippy::too_many_arguments)] -fn __action792< +fn __action795< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41746,7 +41817,7 @@ fn __action792< } #[allow(clippy::too_many_arguments)] -fn __action793< +fn __action796< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41769,7 +41840,7 @@ fn __action793< } #[allow(clippy::too_many_arguments)] -fn __action794< +fn __action797< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41790,7 +41861,7 @@ fn __action794< } #[allow(clippy::too_many_arguments)] -fn __action795< +fn __action798< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41817,7 +41888,7 @@ fn __action795< } #[allow(clippy::too_many_arguments)] -fn __action796< +fn __action799< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41842,7 +41913,7 @@ fn __action796< } #[allow(clippy::too_many_arguments)] -fn __action797< +fn __action800< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41863,7 +41934,7 @@ fn __action797< } #[allow(clippy::too_many_arguments)] -fn __action798< +fn __action801< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41886,7 +41957,7 @@ fn __action798< } #[allow(clippy::too_many_arguments)] -fn __action799< +fn __action802< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (Option, Option), TextSize), @@ -41913,7 +41984,7 @@ fn __action799< } #[allow(clippy::too_many_arguments)] -fn __action800< +fn __action803< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41940,7 +42011,7 @@ fn __action800< } #[allow(clippy::too_many_arguments)] -fn __action801< +fn __action804< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41961,7 +42032,7 @@ fn __action801< } #[allow(clippy::too_many_arguments)] -fn __action802< +fn __action805< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41982,7 +42053,7 @@ fn __action802< } #[allow(clippy::too_many_arguments)] -fn __action803< +fn __action806< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42003,7 +42074,7 @@ fn __action803< } #[allow(clippy::too_many_arguments)] -fn __action804< +fn __action807< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42024,7 +42095,7 @@ fn __action804< } #[allow(clippy::too_many_arguments)] -fn __action805< +fn __action808< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42045,7 +42116,7 @@ fn __action805< } #[allow(clippy::too_many_arguments)] -fn __action806< +fn __action809< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42066,7 +42137,7 @@ fn __action806< } #[allow(clippy::too_many_arguments)] -fn __action807< +fn __action810< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42087,7 +42158,7 @@ fn __action807< } #[allow(clippy::too_many_arguments)] -fn __action808< +fn __action811< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42108,7 +42179,7 @@ fn __action808< } #[allow(clippy::too_many_arguments)] -fn __action809< +fn __action812< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42129,7 +42200,7 @@ fn __action809< } #[allow(clippy::too_many_arguments)] -fn __action810< +fn __action813< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> @@ -42148,7 +42219,7 @@ fn __action810< } #[allow(clippy::too_many_arguments)] -fn __action811< +fn __action814< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42171,7 +42242,7 @@ fn __action811< } #[allow(clippy::too_many_arguments)] -fn __action812< +fn __action815< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42198,7 +42269,7 @@ fn __action812< } #[allow(clippy::too_many_arguments)] -fn __action813< +fn __action816< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42223,7 +42294,7 @@ fn __action813< } #[allow(clippy::too_many_arguments)] -fn __action814< +fn __action817< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42252,7 +42323,7 @@ fn __action814< } #[allow(clippy::too_many_arguments)] -fn __action815< +fn __action818< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42279,7 +42350,7 @@ fn __action815< } #[allow(clippy::too_many_arguments)] -fn __action816< +fn __action819< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42312,7 +42383,7 @@ fn __action816< } #[allow(clippy::too_many_arguments)] -fn __action817< +fn __action820< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42343,7 +42414,7 @@ fn __action817< } #[allow(clippy::too_many_arguments)] -fn __action818< +fn __action821< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -42370,7 +42441,7 @@ fn __action818< } #[allow(clippy::too_many_arguments)] -fn __action819< +fn __action822< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42391,7 +42462,7 @@ fn __action819< } #[allow(clippy::too_many_arguments)] -fn __action820< +fn __action823< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42416,7 +42487,7 @@ fn __action820< } #[allow(clippy::too_many_arguments)] -fn __action821< +fn __action824< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42441,7 +42512,7 @@ fn __action821< } #[allow(clippy::too_many_arguments)] -fn __action822< +fn __action825< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42472,7 +42543,7 @@ fn __action822< } #[allow(clippy::too_many_arguments)] -fn __action823< +fn __action826< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42505,7 +42576,7 @@ fn __action823< } #[allow(clippy::too_many_arguments)] -fn __action824< +fn __action827< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42538,7 +42609,7 @@ fn __action824< } #[allow(clippy::too_many_arguments)] -fn __action825< +fn __action828< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42569,7 +42640,7 @@ fn __action825< } #[allow(clippy::too_many_arguments)] -fn __action826< +fn __action829< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42594,7 +42665,7 @@ fn __action826< } #[allow(clippy::too_many_arguments)] -fn __action827< +fn __action830< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42617,7 +42688,7 @@ fn __action827< } #[allow(clippy::too_many_arguments)] -fn __action828< +fn __action831< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42640,7 +42711,7 @@ fn __action828< } #[allow(clippy::too_many_arguments)] -fn __action829< +fn __action832< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42663,7 +42734,7 @@ fn __action829< } #[allow(clippy::too_many_arguments)] -fn __action830< +fn __action833< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42684,7 +42755,7 @@ fn __action830< } #[allow(clippy::too_many_arguments)] -fn __action831< +fn __action834< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42707,7 +42778,7 @@ fn __action831< } #[allow(clippy::too_many_arguments)] -fn __action832< +fn __action835< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42730,7 +42801,7 @@ fn __action832< } #[allow(clippy::too_many_arguments)] -fn __action833< +fn __action836< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42755,7 +42826,7 @@ fn __action833< } #[allow(clippy::too_many_arguments)] -fn __action834< +fn __action837< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42778,7 +42849,7 @@ fn __action834< } #[allow(clippy::too_many_arguments)] -fn __action835< +fn __action838< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42805,7 +42876,7 @@ fn __action835< } #[allow(clippy::too_many_arguments)] -fn __action836< +fn __action839< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42830,7 +42901,7 @@ fn __action836< } #[allow(clippy::too_many_arguments)] -fn __action837< +fn __action840< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42853,7 +42924,7 @@ fn __action837< } #[allow(clippy::too_many_arguments)] -fn __action838< +fn __action841< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, TextSize, TextSize), @@ -42874,7 +42945,7 @@ fn __action838< } #[allow(clippy::too_many_arguments)] -fn __action839< +fn __action842< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42897,7 +42968,7 @@ fn __action839< } #[allow(clippy::too_many_arguments)] -fn __action840< +fn __action843< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42918,7 +42989,7 @@ fn __action840< } #[allow(clippy::too_many_arguments)] -fn __action841< +fn __action844< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42943,7 +43014,7 @@ fn __action841< } #[allow(clippy::too_many_arguments)] -fn __action842< +fn __action845< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42966,7 +43037,7 @@ fn __action842< } #[allow(clippy::too_many_arguments)] -fn __action843< +fn __action846< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42993,7 +43064,7 @@ fn __action843< } #[allow(clippy::too_many_arguments)] -fn __action844< +fn __action847< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43018,7 +43089,7 @@ fn __action844< } #[allow(clippy::too_many_arguments)] -fn __action845< +fn __action848< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43041,7 +43112,7 @@ fn __action845< } #[allow(clippy::too_many_arguments)] -fn __action846< +fn __action849< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, TextSize, TextSize), @@ -43062,7 +43133,7 @@ fn __action846< } #[allow(clippy::too_many_arguments)] -fn __action847< +fn __action850< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43085,7 +43156,7 @@ fn __action847< } #[allow(clippy::too_many_arguments)] -fn __action848< +fn __action851< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43106,7 +43177,7 @@ fn __action848< } #[allow(clippy::too_many_arguments)] -fn __action849< +fn __action852< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43131,7 +43202,7 @@ fn __action849< } #[allow(clippy::too_many_arguments)] -fn __action850< +fn __action853< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43154,7 +43225,7 @@ fn __action850< } #[allow(clippy::too_many_arguments)] -fn __action851< +fn __action854< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43181,7 +43252,7 @@ fn __action851< } #[allow(clippy::too_many_arguments)] -fn __action852< +fn __action855< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43206,7 +43277,7 @@ fn __action852< } #[allow(clippy::too_many_arguments)] -fn __action853< +fn __action856< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43227,7 +43298,7 @@ fn __action853< } #[allow(clippy::too_many_arguments)] -fn __action854< +fn __action857< >( __0: (TextSize, token::Tok, TextSize), ) -> Result<(Option>, Vec, Option>),__lalrpop_util::ParseError> @@ -43246,7 +43317,7 @@ fn __action854< } #[allow(clippy::too_many_arguments)] -fn __action855< +fn __action858< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43269,7 +43340,7 @@ fn __action855< } #[allow(clippy::too_many_arguments)] -fn __action856< +fn __action859< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43290,7 +43361,7 @@ fn __action856< } #[allow(clippy::too_many_arguments)] -fn __action857< +fn __action860< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43315,7 +43386,7 @@ fn __action857< } #[allow(clippy::too_many_arguments)] -fn __action858< +fn __action861< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43342,7 +43413,7 @@ fn __action858< } #[allow(clippy::too_many_arguments)] -fn __action859< +fn __action862< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43363,7 +43434,7 @@ fn __action859< } #[allow(clippy::too_many_arguments)] -fn __action860< +fn __action863< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43386,7 +43457,7 @@ fn __action860< } #[allow(clippy::too_many_arguments)] -fn __action861< +fn __action864< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43411,7 +43482,7 @@ fn __action861< } #[allow(clippy::too_many_arguments)] -fn __action862< +fn __action865< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43432,7 +43503,7 @@ fn __action862< } #[allow(clippy::too_many_arguments)] -fn __action863< +fn __action866< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43455,7 +43526,7 @@ fn __action863< } #[allow(clippy::too_many_arguments)] -fn __action864< +fn __action867< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43478,7 +43549,7 @@ fn __action864< } #[allow(clippy::too_many_arguments)] -fn __action865< +fn __action868< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43499,7 +43570,7 @@ fn __action865< } #[allow(clippy::too_many_arguments)] -fn __action866< +fn __action869< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43524,7 +43595,7 @@ fn __action866< } #[allow(clippy::too_many_arguments)] -fn __action867< +fn __action870< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43549,7 +43620,7 @@ fn __action867< } #[allow(clippy::too_many_arguments)] -fn __action868< +fn __action871< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43570,7 +43641,7 @@ fn __action868< } #[allow(clippy::too_many_arguments)] -fn __action869< +fn __action872< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43595,7 +43666,7 @@ fn __action869< } #[allow(clippy::too_many_arguments)] -fn __action870< +fn __action873< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -43620,7 +43691,7 @@ fn __action870< } #[allow(clippy::too_many_arguments)] -fn __action871< +fn __action874< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43643,7 +43714,7 @@ fn __action871< } #[allow(clippy::too_many_arguments)] -fn __action872< +fn __action875< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -43670,7 +43741,7 @@ fn __action872< } #[allow(clippy::too_many_arguments)] -fn __action873< +fn __action876< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43699,7 +43770,7 @@ fn __action873< } #[allow(clippy::too_many_arguments)] -fn __action874< +fn __action877< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43726,7 +43797,7 @@ fn __action874< } #[allow(clippy::too_many_arguments)] -fn __action875< +fn __action878< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -43751,7 +43822,7 @@ fn __action875< } #[allow(clippy::too_many_arguments)] -fn __action876< +fn __action879< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -43776,7 +43847,7 @@ fn __action876< } #[allow(clippy::too_many_arguments)] -fn __action877< +fn __action880< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -43801,7 +43872,7 @@ fn __action877< } #[allow(clippy::too_many_arguments)] -fn __action878< +fn __action881< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43832,7 +43903,7 @@ fn __action878< } #[allow(clippy::too_many_arguments)] -fn __action879< +fn __action882< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43861,7 +43932,7 @@ fn __action879< } #[allow(clippy::too_many_arguments)] -fn __action880< +fn __action883< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43882,7 +43953,7 @@ fn __action880< } #[allow(clippy::too_many_arguments)] -fn __action881< +fn __action884< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43905,7 +43976,7 @@ fn __action881< } #[allow(clippy::too_many_arguments)] -fn __action882< +fn __action885< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -43928,7 +43999,7 @@ fn __action882< } #[allow(clippy::too_many_arguments)] -fn __action883< +fn __action886< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43951,7 +44022,7 @@ fn __action883< } #[allow(clippy::too_many_arguments)] -fn __action884< +fn __action887< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43972,7 +44043,7 @@ fn __action884< } #[allow(clippy::too_many_arguments)] -fn __action885< +fn __action888< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43999,7 +44070,7 @@ fn __action885< } #[allow(clippy::too_many_arguments)] -fn __action886< +fn __action889< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44020,7 +44091,7 @@ fn __action886< } #[allow(clippy::too_many_arguments)] -fn __action887< +fn __action890< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44043,7 +44114,7 @@ fn __action887< } #[allow(clippy::too_many_arguments)] -fn __action888< +fn __action891< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44066,7 +44137,7 @@ fn __action888< } #[allow(clippy::too_many_arguments)] -fn __action889< +fn __action892< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44087,7 +44158,7 @@ fn __action889< } #[allow(clippy::too_many_arguments)] -fn __action890< +fn __action893< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -44112,7 +44183,7 @@ fn __action890< } #[allow(clippy::too_many_arguments)] -fn __action891< +fn __action894< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -44137,7 +44208,7 @@ fn __action891< } #[allow(clippy::too_many_arguments)] -fn __action892< +fn __action895< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44166,7 +44237,7 @@ fn __action892< } #[allow(clippy::too_many_arguments)] -fn __action893< +fn __action896< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44195,7 +44266,7 @@ fn __action893< } #[allow(clippy::too_many_arguments)] -fn __action894< +fn __action897< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -44218,7 +44289,7 @@ fn __action894< } #[allow(clippy::too_many_arguments)] -fn __action895< +fn __action898< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -44241,7 +44312,7 @@ fn __action895< } #[allow(clippy::too_many_arguments)] -fn __action896< +fn __action899< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -44266,7 +44337,7 @@ fn __action896< } #[allow(clippy::too_many_arguments)] -fn __action897< +fn __action900< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44297,7 +44368,7 @@ fn __action897< } #[allow(clippy::too_many_arguments)] -fn __action898< +fn __action901< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44328,7 +44399,7 @@ fn __action898< } #[allow(clippy::too_many_arguments)] -fn __action899< +fn __action902< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44353,7 +44424,7 @@ fn __action899< } #[allow(clippy::too_many_arguments)] -fn __action900< +fn __action903< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -44376,7 +44447,7 @@ fn __action900< } #[allow(clippy::too_many_arguments)] -fn __action901< +fn __action904< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44397,7 +44468,7 @@ fn __action901< } #[allow(clippy::too_many_arguments)] -fn __action902< +fn __action905< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44418,7 +44489,7 @@ fn __action902< } #[allow(clippy::too_many_arguments)] -fn __action903< +fn __action906< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -44445,7 +44516,7 @@ fn __action903< } #[allow(clippy::too_many_arguments)] -fn __action904< +fn __action907< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44466,7 +44537,7 @@ fn __action904< } #[allow(clippy::too_many_arguments)] -fn __action905< +fn __action908< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44491,7 +44562,7 @@ fn __action905< } #[allow(clippy::too_many_arguments)] -fn __action906< +fn __action909< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44516,7 +44587,7 @@ fn __action906< } #[allow(clippy::too_many_arguments)] -fn __action907< +fn __action910< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44537,7 +44608,7 @@ fn __action907< } #[allow(clippy::too_many_arguments)] -fn __action908< +fn __action911< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44562,7 +44633,7 @@ fn __action908< } #[allow(clippy::too_many_arguments)] -fn __action909< +fn __action912< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44583,7 +44654,7 @@ fn __action909< } #[allow(clippy::too_many_arguments)] -fn __action910< +fn __action913< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44610,7 +44681,7 @@ fn __action910< } #[allow(clippy::too_many_arguments)] -fn __action911< +fn __action914< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -44635,7 +44706,7 @@ fn __action911< } #[allow(clippy::too_many_arguments)] -fn __action912< +fn __action915< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44660,7 +44731,7 @@ fn __action912< } #[allow(clippy::too_many_arguments)] -fn __action913< +fn __action916< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44685,7 +44756,7 @@ fn __action913< } #[allow(clippy::too_many_arguments)] -fn __action914< +fn __action917< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -44708,7 +44779,7 @@ fn __action914< } #[allow(clippy::too_many_arguments)] -fn __action915< +fn __action918< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44733,7 +44804,7 @@ fn __action915< } #[allow(clippy::too_many_arguments)] -fn __action916< +fn __action919< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44744,7 +44815,7 @@ fn __action916< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action849( + let __temp0 = __action852( __1, __2, __3, @@ -44758,7 +44829,7 @@ fn __action916< } #[allow(clippy::too_many_arguments)] -fn __action917< +fn __action920< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44768,7 +44839,7 @@ fn __action917< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action850( + let __temp0 = __action853( __1, __2, __3, @@ -44781,7 +44852,7 @@ fn __action917< } #[allow(clippy::too_many_arguments)] -fn __action918< +fn __action921< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44793,7 +44864,7 @@ fn __action918< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action851( + let __temp0 = __action854( __1, __2, __3, @@ -44808,7 +44879,7 @@ fn __action918< } #[allow(clippy::too_many_arguments)] -fn __action919< +fn __action922< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44819,7 +44890,7 @@ fn __action919< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action852( + let __temp0 = __action855( __1, __2, __3, @@ -44833,7 +44904,7 @@ fn __action919< } #[allow(clippy::too_many_arguments)] -fn __action920< +fn __action923< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44842,7 +44913,7 @@ fn __action920< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action853( + let __temp0 = __action856( __1, __2, )?; @@ -44854,7 +44925,7 @@ fn __action920< } #[allow(clippy::too_many_arguments)] -fn __action921< +fn __action924< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44862,7 +44933,7 @@ fn __action921< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action854( + let __temp0 = __action857( __1, )?; let __temp0 = (__start0, __temp0, __end0); @@ -44873,7 +44944,7 @@ fn __action921< } #[allow(clippy::too_many_arguments)] -fn __action922< +fn __action925< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44883,7 +44954,7 @@ fn __action922< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action855( + let __temp0 = __action858( __1, __2, __3, @@ -44896,7 +44967,7 @@ fn __action922< } #[allow(clippy::too_many_arguments)] -fn __action923< +fn __action926< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44905,7 +44976,7 @@ fn __action923< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action856( + let __temp0 = __action859( __1, __2, )?; @@ -44917,7 +44988,7 @@ fn __action923< } #[allow(clippy::too_many_arguments)] -fn __action924< +fn __action927< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -44929,14 +45000,14 @@ fn __action924< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action849( + let __temp0 = __action852( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __4, __5, @@ -44944,7 +45015,7 @@ fn __action924< } #[allow(clippy::too_many_arguments)] -fn __action925< +fn __action928< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44955,13 +45026,13 @@ fn __action925< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action850( + let __temp0 = __action853( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __3, __4, @@ -44969,7 +45040,7 @@ fn __action925< } #[allow(clippy::too_many_arguments)] -fn __action926< +fn __action929< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -44982,7 +45053,7 @@ fn __action926< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action851( + let __temp0 = __action854( __0, __1, __2, @@ -44990,7 +45061,7 @@ fn __action926< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __5, __6, @@ -44998,7 +45069,7 @@ fn __action926< } #[allow(clippy::too_many_arguments)] -fn __action927< +fn __action930< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45010,14 +45081,14 @@ fn __action927< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action852( + let __temp0 = __action855( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __4, __5, @@ -45025,7 +45096,7 @@ fn __action927< } #[allow(clippy::too_many_arguments)] -fn __action928< +fn __action931< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45035,12 +45106,12 @@ fn __action928< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action853( + let __temp0 = __action856( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __2, __3, @@ -45048,7 +45119,7 @@ fn __action928< } #[allow(clippy::too_many_arguments)] -fn __action929< +fn __action932< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45057,11 +45128,11 @@ fn __action929< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action854( + let __temp0 = __action857( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __1, __2, @@ -45069,7 +45140,7 @@ fn __action929< } #[allow(clippy::too_many_arguments)] -fn __action930< +fn __action933< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45080,13 +45151,13 @@ fn __action930< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action855( + let __temp0 = __action858( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __3, __4, @@ -45094,7 +45165,7 @@ fn __action930< } #[allow(clippy::too_many_arguments)] -fn __action931< +fn __action934< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45104,12 +45175,12 @@ fn __action931< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action856( + let __temp0 = __action859( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action840( __temp0, __2, __3, @@ -45117,7 +45188,7 @@ fn __action931< } #[allow(clippy::too_many_arguments)] -fn __action932< +fn __action935< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45128,21 +45199,21 @@ fn __action932< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action849( + let __temp0 = __action852( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action933< +fn __action936< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45152,20 +45223,20 @@ fn __action933< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action850( + let __temp0 = __action853( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action934< +fn __action937< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45177,7 +45248,7 @@ fn __action934< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action851( + let __temp0 = __action854( __0, __1, __2, @@ -45185,14 +45256,14 @@ fn __action934< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __5, )) } #[allow(clippy::too_many_arguments)] -fn __action935< +fn __action938< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45203,21 +45274,21 @@ fn __action935< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action852( + let __temp0 = __action855( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action936< +fn __action939< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45226,19 +45297,19 @@ fn __action936< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action853( + let __temp0 = __action856( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action937< +fn __action940< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -45246,18 +45317,18 @@ fn __action937< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action854( + let __temp0 = __action857( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __1, )) } #[allow(clippy::too_many_arguments)] -fn __action938< +fn __action941< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45267,20 +45338,20 @@ fn __action938< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action855( + let __temp0 = __action858( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action939< +fn __action942< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45289,19 +45360,19 @@ fn __action939< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action856( + let __temp0 = __action859( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action841( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action940< +fn __action943< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45312,7 +45383,7 @@ fn __action940< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action916( + let __temp0 = __action919( __0, __1, __2, @@ -45326,7 +45397,7 @@ fn __action940< } #[allow(clippy::too_many_arguments)] -fn __action941< +fn __action944< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45336,7 +45407,7 @@ fn __action941< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action917( + let __temp0 = __action920( __0, __1, __2, @@ -45349,7 +45420,7 @@ fn __action941< } #[allow(clippy::too_many_arguments)] -fn __action942< +fn __action945< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45361,7 +45432,7 @@ fn __action942< { let __start0 = __0.0; let __end0 = __5.2; - let __temp0 = __action918( + let __temp0 = __action921( __0, __1, __2, @@ -45376,7 +45447,7 @@ fn __action942< } #[allow(clippy::too_many_arguments)] -fn __action943< +fn __action946< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45387,7 +45458,7 @@ fn __action943< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action919( + let __temp0 = __action922( __0, __1, __2, @@ -45401,7 +45472,7 @@ fn __action943< } #[allow(clippy::too_many_arguments)] -fn __action944< +fn __action947< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45410,7 +45481,7 @@ fn __action944< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action920( + let __temp0 = __action923( __0, __1, __2, @@ -45422,7 +45493,7 @@ fn __action944< } #[allow(clippy::too_many_arguments)] -fn __action945< +fn __action948< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45430,7 +45501,7 @@ fn __action945< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action921( + let __temp0 = __action924( __0, __1, )?; @@ -45441,7 +45512,7 @@ fn __action945< } #[allow(clippy::too_many_arguments)] -fn __action946< +fn __action949< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45451,7 +45522,7 @@ fn __action946< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action922( + let __temp0 = __action925( __0, __1, __2, @@ -45464,7 +45535,7 @@ fn __action946< } #[allow(clippy::too_many_arguments)] -fn __action947< +fn __action950< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45473,7 +45544,7 @@ fn __action947< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action923( + let __temp0 = __action926( __0, __1, __2, @@ -45485,7 +45556,7 @@ fn __action947< } #[allow(clippy::too_many_arguments)] -fn __action948< +fn __action951< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45499,7 +45570,7 @@ fn __action948< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action940( + let __temp0 = __action943( __1, __2, __3, @@ -45507,7 +45578,7 @@ fn __action948< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __6, @@ -45516,7 +45587,7 @@ fn __action948< } #[allow(clippy::too_many_arguments)] -fn __action949< +fn __action952< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45529,14 +45600,14 @@ fn __action949< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action941( + let __temp0 = __action944( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __5, @@ -45545,7 +45616,7 @@ fn __action949< } #[allow(clippy::too_many_arguments)] -fn __action950< +fn __action953< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45560,7 +45631,7 @@ fn __action950< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action942( + let __temp0 = __action945( __1, __2, __3, @@ -45569,7 +45640,7 @@ fn __action950< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __7, @@ -45578,7 +45649,7 @@ fn __action950< } #[allow(clippy::too_many_arguments)] -fn __action951< +fn __action954< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45592,7 +45663,7 @@ fn __action951< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action943( + let __temp0 = __action946( __1, __2, __3, @@ -45600,7 +45671,7 @@ fn __action951< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __6, @@ -45609,7 +45680,7 @@ fn __action951< } #[allow(clippy::too_many_arguments)] -fn __action952< +fn __action955< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45621,13 +45692,13 @@ fn __action952< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action944( + let __temp0 = __action947( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __4, @@ -45636,7 +45707,7 @@ fn __action952< } #[allow(clippy::too_many_arguments)] -fn __action953< +fn __action956< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45647,12 +45718,12 @@ fn __action953< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action945( + let __temp0 = __action948( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __3, @@ -45661,7 +45732,7 @@ fn __action953< } #[allow(clippy::too_many_arguments)] -fn __action954< +fn __action957< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45674,14 +45745,14 @@ fn __action954< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action946( + let __temp0 = __action949( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __5, @@ -45690,7 +45761,7 @@ fn __action954< } #[allow(clippy::too_many_arguments)] -fn __action955< +fn __action958< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45702,13 +45773,13 @@ fn __action955< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action947( + let __temp0 = __action950( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __4, @@ -45717,7 +45788,7 @@ fn __action955< } #[allow(clippy::too_many_arguments)] -fn __action956< +fn __action959< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45731,7 +45802,7 @@ fn __action956< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action833( + __action836( __0, __temp0, __1, @@ -45740,7 +45811,7 @@ fn __action956< } #[allow(clippy::too_many_arguments)] -fn __action957< +fn __action960< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45753,7 +45824,7 @@ fn __action957< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action940( + let __temp0 = __action943( __1, __2, __3, @@ -45761,7 +45832,7 @@ fn __action957< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __6, @@ -45769,7 +45840,7 @@ fn __action957< } #[allow(clippy::too_many_arguments)] -fn __action958< +fn __action961< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45781,14 +45852,14 @@ fn __action958< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action941( + let __temp0 = __action944( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __5, @@ -45796,7 +45867,7 @@ fn __action958< } #[allow(clippy::too_many_arguments)] -fn __action959< +fn __action962< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45810,7 +45881,7 @@ fn __action959< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action942( + let __temp0 = __action945( __1, __2, __3, @@ -45819,7 +45890,7 @@ fn __action959< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __7, @@ -45827,7 +45898,7 @@ fn __action959< } #[allow(clippy::too_many_arguments)] -fn __action960< +fn __action963< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45840,7 +45911,7 @@ fn __action960< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action943( + let __temp0 = __action946( __1, __2, __3, @@ -45848,7 +45919,7 @@ fn __action960< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __6, @@ -45856,7 +45927,7 @@ fn __action960< } #[allow(clippy::too_many_arguments)] -fn __action961< +fn __action964< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45867,13 +45938,13 @@ fn __action961< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action944( + let __temp0 = __action947( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __4, @@ -45881,7 +45952,7 @@ fn __action961< } #[allow(clippy::too_many_arguments)] -fn __action962< +fn __action965< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45891,12 +45962,12 @@ fn __action962< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action945( + let __temp0 = __action948( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __3, @@ -45904,7 +45975,7 @@ fn __action962< } #[allow(clippy::too_many_arguments)] -fn __action963< +fn __action966< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45916,14 +45987,14 @@ fn __action963< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action946( + let __temp0 = __action949( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __5, @@ -45931,7 +46002,7 @@ fn __action963< } #[allow(clippy::too_many_arguments)] -fn __action964< +fn __action967< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45942,13 +46013,13 @@ fn __action964< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action947( + let __temp0 = __action950( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __4, @@ -45956,7 +46027,7 @@ fn __action964< } #[allow(clippy::too_many_arguments)] -fn __action965< +fn __action968< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, TextSize, TextSize), @@ -45969,7 +46040,7 @@ fn __action965< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action834( + __action837( __0, __temp0, __1, @@ -45977,7 +46048,7 @@ fn __action965< } #[allow(clippy::too_many_arguments)] -fn __action966< +fn __action969< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45996,7 +46067,7 @@ fn __action966< } #[allow(clippy::too_many_arguments)] -fn __action967< +fn __action970< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> @@ -46015,7 +46086,7 @@ fn __action967< } #[allow(clippy::too_many_arguments)] -fn __action968< +fn __action971< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46029,7 +46100,7 @@ fn __action968< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action857( + __action860( __0, __temp0, __2, @@ -46038,7 +46109,7 @@ fn __action968< } #[allow(clippy::too_many_arguments)] -fn __action969< +fn __action972< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46052,7 +46123,7 @@ fn __action969< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action857( + __action860( __0, __temp0, __1, @@ -46061,7 +46132,7 @@ fn __action969< } #[allow(clippy::too_many_arguments)] -fn __action970< +fn __action973< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46076,7 +46147,7 @@ fn __action970< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action858( + __action861( __0, __temp0, __2, @@ -46086,7 +46157,7 @@ fn __action970< } #[allow(clippy::too_many_arguments)] -fn __action971< +fn __action974< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46101,7 +46172,7 @@ fn __action971< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action858( + __action861( __0, __temp0, __1, @@ -46111,7 +46182,7 @@ fn __action971< } #[allow(clippy::too_many_arguments)] -fn __action972< +fn __action975< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46123,14 +46194,14 @@ fn __action972< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action859( + __action862( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action973< +fn __action976< >( __0: (TextSize, token::Tok, TextSize), ) -> Result<(Option>, Vec, Option>),__lalrpop_util::ParseError> @@ -46142,14 +46213,14 @@ fn __action973< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action859( + __action862( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action974< +fn __action977< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46162,7 +46233,7 @@ fn __action974< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action860( + __action863( __0, __temp0, __2, @@ -46170,7 +46241,7 @@ fn __action974< } #[allow(clippy::too_many_arguments)] -fn __action975< +fn __action978< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46183,7 +46254,7 @@ fn __action975< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action860( + __action863( __0, __temp0, __1, @@ -46191,7 +46262,7 @@ fn __action975< } #[allow(clippy::too_many_arguments)] -fn __action976< +fn __action979< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46202,7 +46273,7 @@ fn __action976< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action968( + let __temp0 = __action971( __1, __2, __3, @@ -46216,7 +46287,7 @@ fn __action976< } #[allow(clippy::too_many_arguments)] -fn __action977< +fn __action980< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46226,7 +46297,7 @@ fn __action977< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action969( + let __temp0 = __action972( __1, __2, __3, @@ -46239,7 +46310,7 @@ fn __action977< } #[allow(clippy::too_many_arguments)] -fn __action978< +fn __action981< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46251,7 +46322,7 @@ fn __action978< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action970( + let __temp0 = __action973( __1, __2, __3, @@ -46266,7 +46337,7 @@ fn __action978< } #[allow(clippy::too_many_arguments)] -fn __action979< +fn __action982< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46277,7 +46348,7 @@ fn __action979< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action971( + let __temp0 = __action974( __1, __2, __3, @@ -46291,7 +46362,7 @@ fn __action979< } #[allow(clippy::too_many_arguments)] -fn __action980< +fn __action983< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46300,7 +46371,7 @@ fn __action980< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action972( + let __temp0 = __action975( __1, __2, )?; @@ -46312,7 +46383,7 @@ fn __action980< } #[allow(clippy::too_many_arguments)] -fn __action981< +fn __action984< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46320,7 +46391,7 @@ fn __action981< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action973( + let __temp0 = __action976( __1, )?; let __temp0 = (__start0, __temp0, __end0); @@ -46331,7 +46402,7 @@ fn __action981< } #[allow(clippy::too_many_arguments)] -fn __action982< +fn __action985< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46341,7 +46412,7 @@ fn __action982< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action974( + let __temp0 = __action977( __1, __2, __3, @@ -46354,7 +46425,7 @@ fn __action982< } #[allow(clippy::too_many_arguments)] -fn __action983< +fn __action986< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46363,7 +46434,7 @@ fn __action983< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action975( + let __temp0 = __action978( __1, __2, )?; @@ -46375,7 +46446,7 @@ fn __action983< } #[allow(clippy::too_many_arguments)] -fn __action984< +fn __action987< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46387,14 +46458,14 @@ fn __action984< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action968( + let __temp0 = __action971( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __4, __5, @@ -46402,7 +46473,7 @@ fn __action984< } #[allow(clippy::too_many_arguments)] -fn __action985< +fn __action988< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46413,13 +46484,13 @@ fn __action985< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action969( + let __temp0 = __action972( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __3, __4, @@ -46427,7 +46498,7 @@ fn __action985< } #[allow(clippy::too_many_arguments)] -fn __action986< +fn __action989< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46440,7 +46511,7 @@ fn __action986< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action970( + let __temp0 = __action973( __0, __1, __2, @@ -46448,7 +46519,7 @@ fn __action986< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __5, __6, @@ -46456,7 +46527,7 @@ fn __action986< } #[allow(clippy::too_many_arguments)] -fn __action987< +fn __action990< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46468,14 +46539,14 @@ fn __action987< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action971( + let __temp0 = __action974( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __4, __5, @@ -46483,7 +46554,7 @@ fn __action987< } #[allow(clippy::too_many_arguments)] -fn __action988< +fn __action991< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46493,12 +46564,12 @@ fn __action988< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action972( + let __temp0 = __action975( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __2, __3, @@ -46506,7 +46577,7 @@ fn __action988< } #[allow(clippy::too_many_arguments)] -fn __action989< +fn __action992< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46515,11 +46586,11 @@ fn __action989< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action973( + let __temp0 = __action976( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __1, __2, @@ -46527,7 +46598,7 @@ fn __action989< } #[allow(clippy::too_many_arguments)] -fn __action990< +fn __action993< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46538,13 +46609,13 @@ fn __action990< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action974( + let __temp0 = __action977( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __3, __4, @@ -46552,7 +46623,7 @@ fn __action990< } #[allow(clippy::too_many_arguments)] -fn __action991< +fn __action994< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46562,12 +46633,12 @@ fn __action991< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action975( + let __temp0 = __action978( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action848( __temp0, __2, __3, @@ -46575,7 +46646,7 @@ fn __action991< } #[allow(clippy::too_many_arguments)] -fn __action992< +fn __action995< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46586,21 +46657,21 @@ fn __action992< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action968( + let __temp0 = __action971( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action993< +fn __action996< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46610,20 +46681,20 @@ fn __action993< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action969( + let __temp0 = __action972( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action994< +fn __action997< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46635,7 +46706,7 @@ fn __action994< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action970( + let __temp0 = __action973( __0, __1, __2, @@ -46643,14 +46714,14 @@ fn __action994< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __5, )) } #[allow(clippy::too_many_arguments)] -fn __action995< +fn __action998< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46661,21 +46732,21 @@ fn __action995< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action971( + let __temp0 = __action974( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action996< +fn __action999< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46684,19 +46755,19 @@ fn __action996< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action972( + let __temp0 = __action975( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action997< +fn __action1000< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -46704,18 +46775,18 @@ fn __action997< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action973( + let __temp0 = __action976( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __1, )) } #[allow(clippy::too_many_arguments)] -fn __action998< +fn __action1001< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46725,20 +46796,20 @@ fn __action998< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action974( + let __temp0 = __action977( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action999< +fn __action1002< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46747,19 +46818,19 @@ fn __action999< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action975( + let __temp0 = __action978( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action849( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action1000< +fn __action1003< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46770,7 +46841,7 @@ fn __action1000< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action976( + let __temp0 = __action979( __0, __1, __2, @@ -46784,7 +46855,7 @@ fn __action1000< } #[allow(clippy::too_many_arguments)] -fn __action1001< +fn __action1004< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46794,7 +46865,7 @@ fn __action1001< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action977( + let __temp0 = __action980( __0, __1, __2, @@ -46807,7 +46878,7 @@ fn __action1001< } #[allow(clippy::too_many_arguments)] -fn __action1002< +fn __action1005< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46819,7 +46890,7 @@ fn __action1002< { let __start0 = __0.0; let __end0 = __5.2; - let __temp0 = __action978( + let __temp0 = __action981( __0, __1, __2, @@ -46834,7 +46905,7 @@ fn __action1002< } #[allow(clippy::too_many_arguments)] -fn __action1003< +fn __action1006< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46845,7 +46916,7 @@ fn __action1003< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action979( + let __temp0 = __action982( __0, __1, __2, @@ -46859,7 +46930,7 @@ fn __action1003< } #[allow(clippy::too_many_arguments)] -fn __action1004< +fn __action1007< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46868,7 +46939,7 @@ fn __action1004< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action980( + let __temp0 = __action983( __0, __1, __2, @@ -46880,7 +46951,7 @@ fn __action1004< } #[allow(clippy::too_many_arguments)] -fn __action1005< +fn __action1008< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46888,7 +46959,7 @@ fn __action1005< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action981( + let __temp0 = __action984( __0, __1, )?; @@ -46899,7 +46970,7 @@ fn __action1005< } #[allow(clippy::too_many_arguments)] -fn __action1006< +fn __action1009< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46909,7 +46980,7 @@ fn __action1006< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action982( + let __temp0 = __action985( __0, __1, __2, @@ -46922,7 +46993,7 @@ fn __action1006< } #[allow(clippy::too_many_arguments)] -fn __action1007< +fn __action1010< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46931,7 +47002,7 @@ fn __action1007< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action983( + let __temp0 = __action986( __0, __1, __2, @@ -46943,7 +47014,7 @@ fn __action1007< } #[allow(clippy::too_many_arguments)] -fn __action1008< +fn __action1011< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46957,7 +47028,7 @@ fn __action1008< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1000( + let __temp0 = __action1003( __1, __2, __3, @@ -46965,7 +47036,7 @@ fn __action1008< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __6, @@ -46974,7 +47045,7 @@ fn __action1008< } #[allow(clippy::too_many_arguments)] -fn __action1009< +fn __action1012< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46987,14 +47058,14 @@ fn __action1009< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1001( + let __temp0 = __action1004( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __5, @@ -47003,7 +47074,7 @@ fn __action1009< } #[allow(clippy::too_many_arguments)] -fn __action1010< +fn __action1013< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47018,7 +47089,7 @@ fn __action1010< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action1002( + let __temp0 = __action1005( __1, __2, __3, @@ -47027,7 +47098,7 @@ fn __action1010< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __7, @@ -47036,7 +47107,7 @@ fn __action1010< } #[allow(clippy::too_many_arguments)] -fn __action1011< +fn __action1014< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47050,7 +47121,7 @@ fn __action1011< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1003( + let __temp0 = __action1006( __1, __2, __3, @@ -47058,7 +47129,7 @@ fn __action1011< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __6, @@ -47067,7 +47138,7 @@ fn __action1011< } #[allow(clippy::too_many_arguments)] -fn __action1012< +fn __action1015< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47079,13 +47150,13 @@ fn __action1012< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1004( + let __temp0 = __action1007( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __4, @@ -47094,7 +47165,7 @@ fn __action1012< } #[allow(clippy::too_many_arguments)] -fn __action1013< +fn __action1016< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47105,12 +47176,12 @@ fn __action1013< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1005( + let __temp0 = __action1008( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __3, @@ -47119,7 +47190,7 @@ fn __action1013< } #[allow(clippy::too_many_arguments)] -fn __action1014< +fn __action1017< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47132,14 +47203,14 @@ fn __action1014< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1006( + let __temp0 = __action1009( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __5, @@ -47148,7 +47219,7 @@ fn __action1014< } #[allow(clippy::too_many_arguments)] -fn __action1015< +fn __action1018< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47160,13 +47231,13 @@ fn __action1015< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1007( + let __temp0 = __action1010( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __4, @@ -47175,7 +47246,7 @@ fn __action1015< } #[allow(clippy::too_many_arguments)] -fn __action1016< +fn __action1019< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47189,7 +47260,7 @@ fn __action1016< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action841( + __action844( __0, __temp0, __1, @@ -47198,7 +47269,7 @@ fn __action1016< } #[allow(clippy::too_many_arguments)] -fn __action1017< +fn __action1020< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47211,7 +47282,7 @@ fn __action1017< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1000( + let __temp0 = __action1003( __1, __2, __3, @@ -47219,7 +47290,7 @@ fn __action1017< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __6, @@ -47227,7 +47298,7 @@ fn __action1017< } #[allow(clippy::too_many_arguments)] -fn __action1018< +fn __action1021< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47239,14 +47310,14 @@ fn __action1018< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1001( + let __temp0 = __action1004( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __5, @@ -47254,7 +47325,7 @@ fn __action1018< } #[allow(clippy::too_many_arguments)] -fn __action1019< +fn __action1022< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47268,7 +47339,7 @@ fn __action1019< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action1002( + let __temp0 = __action1005( __1, __2, __3, @@ -47277,7 +47348,7 @@ fn __action1019< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __7, @@ -47285,7 +47356,7 @@ fn __action1019< } #[allow(clippy::too_many_arguments)] -fn __action1020< +fn __action1023< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47298,7 +47369,7 @@ fn __action1020< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1003( + let __temp0 = __action1006( __1, __2, __3, @@ -47306,7 +47377,7 @@ fn __action1020< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __6, @@ -47314,7 +47385,7 @@ fn __action1020< } #[allow(clippy::too_many_arguments)] -fn __action1021< +fn __action1024< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47325,13 +47396,13 @@ fn __action1021< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1004( + let __temp0 = __action1007( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __4, @@ -47339,7 +47410,7 @@ fn __action1021< } #[allow(clippy::too_many_arguments)] -fn __action1022< +fn __action1025< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47349,12 +47420,12 @@ fn __action1022< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1005( + let __temp0 = __action1008( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __3, @@ -47362,7 +47433,7 @@ fn __action1022< } #[allow(clippy::too_many_arguments)] -fn __action1023< +fn __action1026< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47374,14 +47445,14 @@ fn __action1023< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1006( + let __temp0 = __action1009( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __5, @@ -47389,7 +47460,7 @@ fn __action1023< } #[allow(clippy::too_many_arguments)] -fn __action1024< +fn __action1027< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47400,13 +47471,13 @@ fn __action1024< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1007( + let __temp0 = __action1010( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __4, @@ -47414,7 +47485,7 @@ fn __action1024< } #[allow(clippy::too_many_arguments)] -fn __action1025< +fn __action1028< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, TextSize, TextSize), @@ -47427,7 +47498,7 @@ fn __action1025< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action842( + __action845( __0, __temp0, __1, @@ -47435,7 +47506,7 @@ fn __action1025< } #[allow(clippy::too_many_arguments)] -fn __action1026< +fn __action1029< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47454,7 +47525,7 @@ fn __action1026< } #[allow(clippy::too_many_arguments)] -fn __action1027< +fn __action1030< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47465,7 +47536,7 @@ fn __action1027< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action1026( + let __temp0 = __action1029( __2, __3, ); @@ -47479,7 +47550,7 @@ fn __action1027< } #[allow(clippy::too_many_arguments)] -fn __action1028< +fn __action1031< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47502,7 +47573,7 @@ fn __action1028< } #[allow(clippy::too_many_arguments)] -fn __action1029< +fn __action1032< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47521,7 +47592,7 @@ fn __action1029< } #[allow(clippy::too_many_arguments)] -fn __action1030< +fn __action1033< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47542,7 +47613,7 @@ fn __action1030< } #[allow(clippy::too_many_arguments)] -fn __action1031< +fn __action1034< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47571,7 +47642,7 @@ fn __action1031< } #[allow(clippy::too_many_arguments)] -fn __action1032< +fn __action1035< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47600,7 +47671,7 @@ fn __action1032< } #[allow(clippy::too_many_arguments)] -fn __action1033< +fn __action1036< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47627,7 +47698,7 @@ fn __action1033< } #[allow(clippy::too_many_arguments)] -fn __action1034< +fn __action1037< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47654,7 +47725,7 @@ fn __action1034< } #[allow(clippy::too_many_arguments)] -fn __action1035< +fn __action1038< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47683,7 +47754,7 @@ fn __action1035< } #[allow(clippy::too_many_arguments)] -fn __action1036< +fn __action1039< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47712,7 +47783,7 @@ fn __action1036< } #[allow(clippy::too_many_arguments)] -fn __action1037< +fn __action1040< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47739,7 +47810,7 @@ fn __action1037< } #[allow(clippy::too_many_arguments)] -fn __action1038< +fn __action1041< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47766,7 +47837,7 @@ fn __action1038< } #[allow(clippy::too_many_arguments)] -fn __action1039< +fn __action1042< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -47785,7 +47856,7 @@ fn __action1039< } #[allow(clippy::too_many_arguments)] -fn __action1040< +fn __action1043< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47806,7 +47877,7 @@ fn __action1040< } #[allow(clippy::too_many_arguments)] -fn __action1041< +fn __action1044< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47833,7 +47904,7 @@ fn __action1041< } #[allow(clippy::too_many_arguments)] -fn __action1042< +fn __action1045< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47860,7 +47931,7 @@ fn __action1042< } #[allow(clippy::too_many_arguments)] -fn __action1043< +fn __action1046< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47885,7 +47956,7 @@ fn __action1043< } #[allow(clippy::too_many_arguments)] -fn __action1044< +fn __action1047< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47910,7 +47981,7 @@ fn __action1044< } #[allow(clippy::too_many_arguments)] -fn __action1045< +fn __action1048< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47929,7 +48000,7 @@ fn __action1045< } #[allow(clippy::too_many_arguments)] -fn __action1046< +fn __action1049< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47944,12 +48015,12 @@ fn __action1046< { let __start0 = __5.0; let __end0 = __6.2; - let __temp0 = __action1045( + let __temp0 = __action1048( __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action780( + __action782( __0, __1, __2, @@ -47962,7 +48033,7 @@ fn __action1046< } #[allow(clippy::too_many_arguments)] -fn __action1047< +fn __action1050< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47980,7 +48051,7 @@ fn __action1047< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action780( + __action782( __0, __1, __2, @@ -47993,7 +48064,7 @@ fn __action1047< } #[allow(clippy::too_many_arguments)] -fn __action1048< +fn __action1051< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48007,12 +48078,12 @@ fn __action1048< { let __start0 = __4.0; let __end0 = __5.2; - let __temp0 = __action1045( + let __temp0 = __action1048( __4, __5, ); let __temp0 = (__start0, __temp0, __end0); - __action781( + __action783( __0, __1, __2, @@ -48024,7 +48095,7 @@ fn __action1048< } #[allow(clippy::too_many_arguments)] -fn __action1049< +fn __action1052< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48041,7 +48112,7 @@ fn __action1049< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action781( + __action783( __0, __1, __2, @@ -48053,7 +48124,7 @@ fn __action1049< } #[allow(clippy::too_many_arguments)] -fn __action1050< +fn __action1053< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -48072,7 +48143,7 @@ fn __action1050< } #[allow(clippy::too_many_arguments)] -fn __action1051< +fn __action1054< >( __0: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48093,7 +48164,7 @@ fn __action1051< } #[allow(clippy::too_many_arguments)] -fn __action1052< +fn __action1055< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48112,7 +48183,7 @@ fn __action1052< } #[allow(clippy::too_many_arguments)] -fn __action1053< +fn __action1056< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48122,12 +48193,12 @@ fn __action1053< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1052( + let __temp0 = __action1055( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action762( + __action764( __0, __temp0, __3, @@ -48135,7 +48206,7 @@ fn __action1053< } #[allow(clippy::too_many_arguments)] -fn __action1054< +fn __action1057< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48148,7 +48219,7 @@ fn __action1054< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action762( + __action764( __0, __temp0, __1, @@ -48156,7 +48227,7 @@ fn __action1054< } #[allow(clippy::too_many_arguments)] -fn __action1055< +fn __action1058< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48166,12 +48237,12 @@ fn __action1055< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1052( + let __temp0 = __action1055( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action900( + __action903( __0, __temp0, __3, @@ -48179,7 +48250,7 @@ fn __action1055< } #[allow(clippy::too_many_arguments)] -fn __action1056< +fn __action1059< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48192,7 +48263,7 @@ fn __action1056< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action900( + __action903( __0, __temp0, __1, @@ -48200,7 +48271,7 @@ fn __action1056< } #[allow(clippy::too_many_arguments)] -fn __action1057< +fn __action1060< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48219,7 +48290,7 @@ fn __action1057< } #[allow(clippy::too_many_arguments)] -fn __action1058< +fn __action1061< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48229,12 +48300,12 @@ fn __action1058< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1057( + let __temp0 = __action1060( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action883( + __action886( __0, __temp0, __3, @@ -48242,7 +48313,7 @@ fn __action1058< } #[allow(clippy::too_many_arguments)] -fn __action1059< +fn __action1062< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48255,7 +48326,7 @@ fn __action1059< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action883( + __action886( __0, __temp0, __1, @@ -48263,7 +48334,7 @@ fn __action1059< } #[allow(clippy::too_many_arguments)] -fn __action1060< +fn __action1063< >( __0: (TextSize, token::Tok, TextSize), ) -> alloc::vec::Vec @@ -48280,7 +48351,7 @@ fn __action1060< } #[allow(clippy::too_many_arguments)] -fn __action1061< +fn __action1064< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48299,7 +48370,7 @@ fn __action1061< } #[allow(clippy::too_many_arguments)] -fn __action1062< +fn __action1065< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48313,7 +48384,7 @@ fn __action1062< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action896( + __action899( __0, __1, __temp0, @@ -48322,7 +48393,7 @@ fn __action1062< } #[allow(clippy::too_many_arguments)] -fn __action1063< +fn __action1066< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48336,7 +48407,7 @@ fn __action1063< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action896( + __action899( __0, __1, __temp0, @@ -48345,7 +48416,7 @@ fn __action1063< } #[allow(clippy::too_many_arguments)] -fn __action1064< +fn __action1067< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -48364,7 +48435,7 @@ fn __action1064< } #[allow(clippy::too_many_arguments)] -fn __action1065< +fn __action1068< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48374,12 +48445,12 @@ fn __action1065< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1064( + let __temp0 = __action1067( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action792( + __action795( __0, __temp0, __3, @@ -48387,7 +48458,7 @@ fn __action1065< } #[allow(clippy::too_many_arguments)] -fn __action1066< +fn __action1069< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48400,7 +48471,7 @@ fn __action1066< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action792( + __action795( __0, __temp0, __1, @@ -48408,7 +48479,7 @@ fn __action1066< } #[allow(clippy::too_many_arguments)] -fn __action1067< +fn __action1070< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48418,12 +48489,12 @@ fn __action1067< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1064( + let __temp0 = __action1067( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action793( + __action796( __0, __temp0, __3, @@ -48431,7 +48502,7 @@ fn __action1067< } #[allow(clippy::too_many_arguments)] -fn __action1068< +fn __action1071< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48444,7 +48515,7 @@ fn __action1068< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action793( + __action796( __0, __temp0, __1, @@ -48452,7 +48523,7 @@ fn __action1068< } #[allow(clippy::too_many_arguments)] -fn __action1069< +fn __action1072< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48473,7 +48544,7 @@ fn __action1069< } #[allow(clippy::too_many_arguments)] -fn __action1070< +fn __action1073< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48489,13 +48560,13 @@ fn __action1070< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action778( + __action780( __0, __1, __2, @@ -48508,7 +48579,7 @@ fn __action1070< } #[allow(clippy::too_many_arguments)] -fn __action1071< +fn __action1074< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48526,7 +48597,7 @@ fn __action1071< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action778( + __action780( __0, __1, __2, @@ -48539,7 +48610,7 @@ fn __action1071< } #[allow(clippy::too_many_arguments)] -fn __action1072< +fn __action1075< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48554,13 +48625,13 @@ fn __action1072< { let __start0 = __6.0; let __end0 = __8.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __6, __7, __8, ); let __temp0 = (__start0, __temp0, __end0); - __action779( + __action781( __0, __1, __2, @@ -48572,7 +48643,7 @@ fn __action1072< } #[allow(clippy::too_many_arguments)] -fn __action1073< +fn __action1076< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48589,7 +48660,7 @@ fn __action1073< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action779( + __action781( __0, __1, __2, @@ -48601,7 +48672,7 @@ fn __action1073< } #[allow(clippy::too_many_arguments)] -fn __action1074< +fn __action1077< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48615,13 +48686,13 @@ fn __action1074< { let __start0 = __5.0; let __end0 = __7.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __5, __6, __7, ); let __temp0 = (__start0, __temp0, __end0); - __action791( + __action794( __0, __1, __2, @@ -48632,7 +48703,7 @@ fn __action1074< } #[allow(clippy::too_many_arguments)] -fn __action1075< +fn __action1078< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48648,7 +48719,7 @@ fn __action1075< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action791( + __action794( __0, __1, __2, @@ -48659,7 +48730,7 @@ fn __action1075< } #[allow(clippy::too_many_arguments)] -fn __action1076< +fn __action1079< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48674,13 +48745,13 @@ fn __action1076< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action897( + __action900( __0, __1, __2, @@ -48692,7 +48763,7 @@ fn __action1076< } #[allow(clippy::too_many_arguments)] -fn __action1077< +fn __action1080< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48709,7 +48780,7 @@ fn __action1077< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action897( + __action900( __0, __1, __2, @@ -48721,7 +48792,7 @@ fn __action1077< } #[allow(clippy::too_many_arguments)] -fn __action1078< +fn __action1081< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48736,13 +48807,13 @@ fn __action1078< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action898( + __action901( __0, __1, __2, @@ -48754,7 +48825,7 @@ fn __action1078< } #[allow(clippy::too_many_arguments)] -fn __action1079< +fn __action1082< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48771,7 +48842,7 @@ fn __action1079< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action898( + __action901( __0, __1, __2, @@ -48783,7 +48854,7 @@ fn __action1079< } #[allow(clippy::too_many_arguments)] -fn __action1080< +fn __action1083< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48796,13 +48867,13 @@ fn __action1080< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1072( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action903( + __action906( __0, __1, __2, @@ -48812,7 +48883,7 @@ fn __action1080< } #[allow(clippy::too_many_arguments)] -fn __action1081< +fn __action1084< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48827,7 +48898,7 @@ fn __action1081< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action903( + __action906( __0, __1, __2, @@ -48837,7 +48908,7 @@ fn __action1081< } #[allow(clippy::too_many_arguments)] -fn __action1082< +fn __action1085< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48858,7 +48929,7 @@ fn __action1082< } #[allow(clippy::too_many_arguments)] -fn __action1083< +fn __action1086< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48876,7 +48947,7 @@ fn __action1083< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action899( + __action902( __0, __1, __2, @@ -48885,7 +48956,7 @@ fn __action1083< } #[allow(clippy::too_many_arguments)] -fn __action1084< +fn __action1087< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48902,13 +48973,13 @@ fn __action1084< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1082( + let __temp0 = __action1085( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action1076( + __action1079( __0, __1, __2, @@ -48922,7 +48993,7 @@ fn __action1084< } #[allow(clippy::too_many_arguments)] -fn __action1085< +fn __action1088< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48941,7 +49012,7 @@ fn __action1085< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1076( + __action1079( __0, __1, __2, @@ -48955,7 +49026,7 @@ fn __action1085< } #[allow(clippy::too_many_arguments)] -fn __action1086< +fn __action1089< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48969,13 +49040,13 @@ fn __action1086< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1082( + let __temp0 = __action1085( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action1077( + __action1080( __0, __1, __2, @@ -48986,7 +49057,7 @@ fn __action1086< } #[allow(clippy::too_many_arguments)] -fn __action1087< +fn __action1090< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49002,7 +49073,7 @@ fn __action1087< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1077( + __action1080( __0, __1, __2, @@ -49013,7 +49084,7 @@ fn __action1087< } #[allow(clippy::too_many_arguments)] -fn __action1088< +fn __action1091< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49030,13 +49101,13 @@ fn __action1088< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1082( + let __temp0 = __action1085( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action1078( + __action1081( __0, __1, __2, @@ -49050,7 +49121,7 @@ fn __action1088< } #[allow(clippy::too_many_arguments)] -fn __action1089< +fn __action1092< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49069,7 +49140,7 @@ fn __action1089< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1078( + __action1081( __0, __1, __2, @@ -49083,7 +49154,7 @@ fn __action1089< } #[allow(clippy::too_many_arguments)] -fn __action1090< +fn __action1093< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49097,13 +49168,13 @@ fn __action1090< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1082( + let __temp0 = __action1085( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action1079( + __action1082( __0, __1, __2, @@ -49114,7 +49185,7 @@ fn __action1090< } #[allow(clippy::too_many_arguments)] -fn __action1091< +fn __action1094< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49130,7 +49201,7 @@ fn __action1091< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1079( + __action1082( __0, __1, __2, @@ -49141,7 +49212,7 @@ fn __action1091< } #[allow(clippy::too_many_arguments)] -fn __action1092< +fn __action1095< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49160,7 +49231,7 @@ fn __action1092< } #[allow(clippy::too_many_arguments)] -fn __action1093< +fn __action1096< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49171,12 +49242,12 @@ fn __action1093< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action1092( + let __temp0 = __action1095( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action869( + __action872( __0, __1, __temp0, @@ -49185,7 +49256,7 @@ fn __action1093< } #[allow(clippy::too_many_arguments)] -fn __action1094< +fn __action1097< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49199,7 +49270,7 @@ fn __action1094< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action869( + __action872( __0, __1, __temp0, @@ -49208,7 +49279,7 @@ fn __action1094< } #[allow(clippy::too_many_arguments)] -fn __action1095< +fn __action1098< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49231,7 +49302,7 @@ fn __action1095< } #[allow(clippy::too_many_arguments)] -fn __action1096< +fn __action1099< >( __0: (TextSize, alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49256,7 +49327,7 @@ fn __action1096< } #[allow(clippy::too_many_arguments)] -fn __action1097< +fn __action1100< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49274,7 +49345,7 @@ fn __action1097< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1074( + __action1077( __0, __1, __2, @@ -49287,7 +49358,7 @@ fn __action1097< } #[allow(clippy::too_many_arguments)] -fn __action1098< +fn __action1101< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49305,7 +49376,7 @@ fn __action1098< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1074( + __action1077( __0, __1, __2, @@ -49318,7 +49389,7 @@ fn __action1098< } #[allow(clippy::too_many_arguments)] -fn __action1099< +fn __action1102< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49333,7 +49404,7 @@ fn __action1099< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1075( + __action1078( __0, __1, __2, @@ -49343,7 +49414,7 @@ fn __action1099< } #[allow(clippy::too_many_arguments)] -fn __action1100< +fn __action1103< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49358,7 +49429,7 @@ fn __action1100< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1075( + __action1078( __0, __1, __2, @@ -49368,7 +49439,7 @@ fn __action1100< } #[allow(clippy::too_many_arguments)] -fn __action1101< +fn __action1104< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49387,7 +49458,7 @@ fn __action1101< } #[allow(clippy::too_many_arguments)] -fn __action1102< +fn __action1105< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49408,7 +49479,7 @@ fn __action1102< } #[allow(clippy::too_many_arguments)] -fn __action1103< +fn __action1106< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49427,7 +49498,7 @@ fn __action1103< } #[allow(clippy::too_many_arguments)] -fn __action1104< +fn __action1107< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -49448,7 +49519,7 @@ fn __action1104< } #[allow(clippy::too_many_arguments)] -fn __action1105< +fn __action1108< >( __0: (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -49467,7 +49538,7 @@ fn __action1105< } #[allow(clippy::too_many_arguments)] -fn __action1106< +fn __action1109< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), @@ -49486,7 +49557,7 @@ fn __action1106< } #[allow(clippy::too_many_arguments)] -fn __action1107< +fn __action1110< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49505,7 +49576,7 @@ fn __action1107< } #[allow(clippy::too_many_arguments)] -fn __action1108< +fn __action1111< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49526,7 +49597,7 @@ fn __action1108< } #[allow(clippy::too_many_arguments)] -fn __action1109< +fn __action1112< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49545,7 +49616,7 @@ fn __action1109< } #[allow(clippy::too_many_arguments)] -fn __action1110< +fn __action1113< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49558,12 +49629,12 @@ fn __action1110< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1031( + __action1034( __0, __temp0, __3, @@ -49574,7 +49645,7 @@ fn __action1110< } #[allow(clippy::too_many_arguments)] -fn __action1111< +fn __action1114< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49590,7 +49661,7 @@ fn __action1111< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1031( + __action1034( __0, __temp0, __1, @@ -49601,7 +49672,7 @@ fn __action1111< } #[allow(clippy::too_many_arguments)] -fn __action1112< +fn __action1115< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49615,12 +49686,12 @@ fn __action1112< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1032( + __action1035( __0, __temp0, __3, @@ -49632,7 +49703,7 @@ fn __action1112< } #[allow(clippy::too_many_arguments)] -fn __action1113< +fn __action1116< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49649,7 +49720,7 @@ fn __action1113< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1032( + __action1035( __0, __temp0, __1, @@ -49661,7 +49732,7 @@ fn __action1113< } #[allow(clippy::too_many_arguments)] -fn __action1114< +fn __action1117< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49673,12 +49744,12 @@ fn __action1114< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1033( + __action1036( __0, __temp0, __3, @@ -49688,7 +49759,7 @@ fn __action1114< } #[allow(clippy::too_many_arguments)] -fn __action1115< +fn __action1118< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49703,7 +49774,7 @@ fn __action1115< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1033( + __action1036( __0, __temp0, __1, @@ -49713,7 +49784,7 @@ fn __action1115< } #[allow(clippy::too_many_arguments)] -fn __action1116< +fn __action1119< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49726,12 +49797,12 @@ fn __action1116< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1034( + __action1037( __0, __temp0, __3, @@ -49742,7 +49813,7 @@ fn __action1116< } #[allow(clippy::too_many_arguments)] -fn __action1117< +fn __action1120< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49758,7 +49829,7 @@ fn __action1117< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1034( + __action1037( __0, __temp0, __1, @@ -49769,7 +49840,7 @@ fn __action1117< } #[allow(clippy::too_many_arguments)] -fn __action1118< +fn __action1121< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49782,12 +49853,12 @@ fn __action1118< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1035( + __action1038( __0, __temp0, __3, @@ -49798,7 +49869,7 @@ fn __action1118< } #[allow(clippy::too_many_arguments)] -fn __action1119< +fn __action1122< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49814,7 +49885,7 @@ fn __action1119< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1035( + __action1038( __0, __temp0, __1, @@ -49825,7 +49896,7 @@ fn __action1119< } #[allow(clippy::too_many_arguments)] -fn __action1120< +fn __action1123< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49839,12 +49910,12 @@ fn __action1120< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1036( + __action1039( __0, __temp0, __3, @@ -49856,7 +49927,7 @@ fn __action1120< } #[allow(clippy::too_many_arguments)] -fn __action1121< +fn __action1124< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49873,7 +49944,7 @@ fn __action1121< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1036( + __action1039( __0, __temp0, __1, @@ -49885,7 +49956,7 @@ fn __action1121< } #[allow(clippy::too_many_arguments)] -fn __action1122< +fn __action1125< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49897,12 +49968,12 @@ fn __action1122< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1037( + __action1040( __0, __temp0, __3, @@ -49912,7 +49983,7 @@ fn __action1122< } #[allow(clippy::too_many_arguments)] -fn __action1123< +fn __action1126< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49927,7 +49998,7 @@ fn __action1123< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1037( + __action1040( __0, __temp0, __1, @@ -49937,7 +50008,7 @@ fn __action1123< } #[allow(clippy::too_many_arguments)] -fn __action1124< +fn __action1127< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49950,12 +50021,12 @@ fn __action1124< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1112( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1038( + __action1041( __0, __temp0, __3, @@ -49966,7 +50037,7 @@ fn __action1124< } #[allow(clippy::too_many_arguments)] -fn __action1125< +fn __action1128< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49982,7 +50053,7 @@ fn __action1125< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1038( + __action1041( __0, __temp0, __1, @@ -49993,7 +50064,7 @@ fn __action1125< } #[allow(clippy::too_many_arguments)] -fn __action1126< +fn __action1129< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50012,7 +50083,7 @@ fn __action1126< } #[allow(clippy::too_many_arguments)] -fn __action1127< +fn __action1130< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -50033,7 +50104,7 @@ fn __action1127< } #[allow(clippy::too_many_arguments)] -fn __action1128< +fn __action1131< >( __0: (TextSize, core::option::Option, TextSize), ) -> Vec @@ -50052,7 +50123,7 @@ fn __action1128< } #[allow(clippy::too_many_arguments)] -fn __action1129< +fn __action1132< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -50071,7 +50142,7 @@ fn __action1129< } #[allow(clippy::too_many_arguments)] -fn __action1130< +fn __action1133< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50090,7 +50161,7 @@ fn __action1130< } #[allow(clippy::too_many_arguments)] -fn __action1131< +fn __action1134< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50111,7 +50182,7 @@ fn __action1131< } #[allow(clippy::too_many_arguments)] -fn __action1132< +fn __action1135< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50136,7 +50207,7 @@ fn __action1132< } #[allow(clippy::too_many_arguments)] -fn __action1133< +fn __action1136< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50161,7 +50232,7 @@ fn __action1133< } #[allow(clippy::too_many_arguments)] -fn __action1134< +fn __action1137< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50184,7 +50255,7 @@ fn __action1134< } #[allow(clippy::too_many_arguments)] -fn __action1135< +fn __action1138< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50207,7 +50278,7 @@ fn __action1135< } #[allow(clippy::too_many_arguments)] -fn __action1136< +fn __action1139< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50230,7 +50301,7 @@ fn __action1136< } #[allow(clippy::too_many_arguments)] -fn __action1137< +fn __action1140< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50253,7 +50324,7 @@ fn __action1137< } #[allow(clippy::too_many_arguments)] -fn __action1138< +fn __action1141< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50274,7 +50345,7 @@ fn __action1138< } #[allow(clippy::too_many_arguments)] -fn __action1139< +fn __action1142< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50295,7 +50366,7 @@ fn __action1139< } #[allow(clippy::too_many_arguments)] -fn __action1140< +fn __action1143< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50320,7 +50391,7 @@ fn __action1140< } #[allow(clippy::too_many_arguments)] -fn __action1141< +fn __action1144< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50345,7 +50416,7 @@ fn __action1141< } #[allow(clippy::too_many_arguments)] -fn __action1142< +fn __action1145< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50368,7 +50439,7 @@ fn __action1142< } #[allow(clippy::too_many_arguments)] -fn __action1143< +fn __action1146< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50391,7 +50462,7 @@ fn __action1143< } #[allow(clippy::too_many_arguments)] -fn __action1144< +fn __action1147< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50414,7 +50485,7 @@ fn __action1144< } #[allow(clippy::too_many_arguments)] -fn __action1145< +fn __action1148< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50437,7 +50508,7 @@ fn __action1145< } #[allow(clippy::too_many_arguments)] -fn __action1146< +fn __action1149< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50458,7 +50529,7 @@ fn __action1146< } #[allow(clippy::too_many_arguments)] -fn __action1147< +fn __action1150< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50479,7 +50550,7 @@ fn __action1147< } #[allow(clippy::too_many_arguments)] -fn __action1148< +fn __action1151< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50497,7 +50568,7 @@ fn __action1148< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action764( + __action766( __0, __temp0, __4, @@ -50506,7 +50577,7 @@ fn __action1148< } #[allow(clippy::too_many_arguments)] -fn __action1149< +fn __action1152< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50525,7 +50596,7 @@ fn __action1149< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action766( + __action768( __0, __1, __temp0, @@ -50535,7 +50606,7 @@ fn __action1149< } #[allow(clippy::too_many_arguments)] -fn __action1150< +fn __action1153< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> (TextSize, (String, StringKind, bool), TextSize) @@ -50554,7 +50625,7 @@ fn __action1150< } #[allow(clippy::too_many_arguments)] -fn __action1151< +fn __action1154< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50577,7 +50648,7 @@ fn __action1151< } #[allow(clippy::too_many_arguments)] -fn __action1152< +fn __action1155< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50600,7 +50671,7 @@ fn __action1152< } #[allow(clippy::too_many_arguments)] -fn __action1153< +fn __action1156< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50623,7 +50694,7 @@ fn __action1153< } #[allow(clippy::too_many_arguments)] -fn __action1154< +fn __action1157< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50644,7 +50715,7 @@ fn __action1154< } #[allow(clippy::too_many_arguments)] -fn __action1155< +fn __action1158< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50665,7 +50736,7 @@ fn __action1155< } #[allow(clippy::too_many_arguments)] -fn __action1156< +fn __action1159< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50688,7 +50759,7 @@ fn __action1156< } #[allow(clippy::too_many_arguments)] -fn __action1157< +fn __action1160< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50711,7 +50782,7 @@ fn __action1157< } #[allow(clippy::too_many_arguments)] -fn __action1158< +fn __action1161< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50734,7 +50805,7 @@ fn __action1158< } #[allow(clippy::too_many_arguments)] -fn __action1159< +fn __action1162< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50749,7 +50820,7 @@ fn __action1159< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1027( + __action1030( __0, __1, __2, @@ -50759,7 +50830,7 @@ fn __action1159< } #[allow(clippy::too_many_arguments)] -fn __action1160< +fn __action1163< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50772,7 +50843,7 @@ fn __action1160< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1028( + __action1031( __0, __1, __temp0, @@ -50780,7 +50851,7 @@ fn __action1160< } #[allow(clippy::too_many_arguments)] -fn __action1161< +fn __action1164< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr @@ -50799,7 +50870,7 @@ fn __action1161< } #[allow(clippy::too_many_arguments)] -fn __action1162< +fn __action1165< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr @@ -50818,7 +50889,7 @@ fn __action1162< } #[allow(clippy::too_many_arguments)] -fn __action1163< +fn __action1166< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -50841,7 +50912,7 @@ fn __action1163< } #[allow(clippy::too_many_arguments)] -fn __action1164< +fn __action1167< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50866,7 +50937,7 @@ fn __action1164< } #[allow(clippy::too_many_arguments)] -fn __action1165< +fn __action1168< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50891,7 +50962,7 @@ fn __action1165< } #[allow(clippy::too_many_arguments)] -fn __action1166< +fn __action1169< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50914,7 +50985,7 @@ fn __action1166< } #[allow(clippy::too_many_arguments)] -fn __action1167< +fn __action1170< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50931,7 +51002,7 @@ fn __action1167< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1110( + __action1113( __0, __1, __2, @@ -50943,7 +51014,7 @@ fn __action1167< } #[allow(clippy::too_many_arguments)] -fn __action1168< +fn __action1171< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50958,7 +51029,7 @@ fn __action1168< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1111( + __action1114( __0, __1, __2, @@ -50968,7 +51039,7 @@ fn __action1168< } #[allow(clippy::too_many_arguments)] -fn __action1169< +fn __action1172< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50986,7 +51057,7 @@ fn __action1169< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1112( + __action1115( __0, __1, __2, @@ -50999,7 +51070,7 @@ fn __action1169< } #[allow(clippy::too_many_arguments)] -fn __action1170< +fn __action1173< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51015,7 +51086,7 @@ fn __action1170< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1113( + __action1116( __0, __1, __2, @@ -51026,7 +51097,7 @@ fn __action1170< } #[allow(clippy::too_many_arguments)] -fn __action1171< +fn __action1174< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51042,7 +51113,7 @@ fn __action1171< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1114( + __action1117( __0, __1, __2, @@ -51053,7 +51124,7 @@ fn __action1171< } #[allow(clippy::too_many_arguments)] -fn __action1172< +fn __action1175< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51067,7 +51138,7 @@ fn __action1172< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1115( + __action1118( __0, __1, __2, @@ -51076,7 +51147,7 @@ fn __action1172< } #[allow(clippy::too_many_arguments)] -fn __action1173< +fn __action1176< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51093,7 +51164,7 @@ fn __action1173< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1116( + __action1119( __0, __1, __2, @@ -51105,7 +51176,7 @@ fn __action1173< } #[allow(clippy::too_many_arguments)] -fn __action1174< +fn __action1177< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51120,7 +51191,7 @@ fn __action1174< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1117( + __action1120( __0, __1, __2, @@ -51130,7 +51201,7 @@ fn __action1174< } #[allow(clippy::too_many_arguments)] -fn __action1175< +fn __action1178< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51151,7 +51222,7 @@ fn __action1175< } #[allow(clippy::too_many_arguments)] -fn __action1176< +fn __action1179< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51176,7 +51247,7 @@ fn __action1176< } #[allow(clippy::too_many_arguments)] -fn __action1177< +fn __action1180< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51201,7 +51272,7 @@ fn __action1177< } #[allow(clippy::too_many_arguments)] -fn __action1178< +fn __action1181< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -51224,7 +51295,7 @@ fn __action1178< } #[allow(clippy::too_many_arguments)] -fn __action1179< +fn __action1182< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -51249,7 +51320,7 @@ fn __action1179< } #[allow(clippy::too_many_arguments)] -fn __action1180< +fn __action1183< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51272,7 +51343,7 @@ fn __action1180< } #[allow(clippy::too_many_arguments)] -fn __action1181< +fn __action1184< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51297,7 +51368,7 @@ fn __action1181< } #[allow(clippy::too_many_arguments)] -fn __action1182< +fn __action1185< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51316,7 +51387,7 @@ fn __action1182< } #[allow(clippy::too_many_arguments)] -fn __action1183< +fn __action1186< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51335,7 +51406,7 @@ fn __action1183< } #[allow(clippy::too_many_arguments)] -fn __action1184< +fn __action1187< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51354,7 +51425,7 @@ fn __action1184< } #[allow(clippy::too_many_arguments)] -fn __action1185< +fn __action1188< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51373,7 +51444,7 @@ fn __action1185< } #[allow(clippy::too_many_arguments)] -fn __action1186< +fn __action1189< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr @@ -51392,7 +51463,7 @@ fn __action1186< } #[allow(clippy::too_many_arguments)] -fn __action1187< +fn __action1190< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr @@ -51411,7 +51482,7 @@ fn __action1187< } #[allow(clippy::too_many_arguments)] -fn __action1188< +fn __action1191< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -51434,7 +51505,7 @@ fn __action1188< } #[allow(clippy::too_many_arguments)] -fn __action1189< +fn __action1192< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51459,7 +51530,7 @@ fn __action1189< } #[allow(clippy::too_many_arguments)] -fn __action1190< +fn __action1193< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51476,7 +51547,7 @@ fn __action1190< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1118( + __action1121( __0, __1, __2, @@ -51488,7 +51559,7 @@ fn __action1190< } #[allow(clippy::too_many_arguments)] -fn __action1191< +fn __action1194< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51503,7 +51574,7 @@ fn __action1191< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1119( + __action1122( __0, __1, __2, @@ -51513,7 +51584,7 @@ fn __action1191< } #[allow(clippy::too_many_arguments)] -fn __action1192< +fn __action1195< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51531,7 +51602,7 @@ fn __action1192< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1120( + __action1123( __0, __1, __2, @@ -51544,7 +51615,7 @@ fn __action1192< } #[allow(clippy::too_many_arguments)] -fn __action1193< +fn __action1196< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51560,7 +51631,7 @@ fn __action1193< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1121( + __action1124( __0, __1, __2, @@ -51571,7 +51642,7 @@ fn __action1193< } #[allow(clippy::too_many_arguments)] -fn __action1194< +fn __action1197< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51587,7 +51658,7 @@ fn __action1194< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1122( + __action1125( __0, __1, __2, @@ -51598,7 +51669,7 @@ fn __action1194< } #[allow(clippy::too_many_arguments)] -fn __action1195< +fn __action1198< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51612,7 +51683,7 @@ fn __action1195< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1123( + __action1126( __0, __1, __2, @@ -51621,7 +51692,7 @@ fn __action1195< } #[allow(clippy::too_many_arguments)] -fn __action1196< +fn __action1199< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51638,7 +51709,7 @@ fn __action1196< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1124( + __action1127( __0, __1, __2, @@ -51650,7 +51721,7 @@ fn __action1196< } #[allow(clippy::too_many_arguments)] -fn __action1197< +fn __action1200< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51665,7 +51736,7 @@ fn __action1197< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1125( + __action1128( __0, __1, __2, @@ -51675,7 +51746,7 @@ fn __action1197< } #[allow(clippy::too_many_arguments)] -fn __action1198< +fn __action1201< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51696,7 +51767,7 @@ fn __action1198< } #[allow(clippy::too_many_arguments)] -fn __action1199< +fn __action1202< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51721,7 +51792,7 @@ fn __action1199< } #[allow(clippy::too_many_arguments)] -fn __action1200< +fn __action1203< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51746,7 +51817,7 @@ fn __action1200< } #[allow(clippy::too_many_arguments)] -fn __action1201< +fn __action1204< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -51769,7 +51840,7 @@ fn __action1201< } #[allow(clippy::too_many_arguments)] -fn __action1202< +fn __action1205< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -51794,7 +51865,7 @@ fn __action1202< } #[allow(clippy::too_many_arguments)] -fn __action1203< +fn __action1206< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51817,7 +51888,7 @@ fn __action1203< } #[allow(clippy::too_many_arguments)] -fn __action1204< +fn __action1207< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51842,7 +51913,7 @@ fn __action1204< } #[allow(clippy::too_many_arguments)] -fn __action1205< +fn __action1208< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51861,7 +51932,7 @@ fn __action1205< } #[allow(clippy::too_many_arguments)] -fn __action1206< +fn __action1209< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51880,7 +51951,7 @@ fn __action1206< } #[allow(clippy::too_many_arguments)] -fn __action1207< +fn __action1210< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51899,7 +51970,7 @@ fn __action1207< } #[allow(clippy::too_many_arguments)] -fn __action1208< +fn __action1211< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -51918,7 +51989,7 @@ fn __action1208< } #[allow(clippy::too_many_arguments)] -fn __action1209< +fn __action1212< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51943,7 +52014,7 @@ fn __action1209< } #[allow(clippy::too_many_arguments)] -fn __action1210< +fn __action1213< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51968,7 +52039,7 @@ fn __action1210< } #[allow(clippy::too_many_arguments)] -fn __action1211< +fn __action1214< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51991,7 +52062,7 @@ fn __action1211< } #[allow(clippy::too_many_arguments)] -fn __action1212< +fn __action1215< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52016,7 +52087,7 @@ fn __action1212< } #[allow(clippy::too_many_arguments)] -fn __action1213< +fn __action1216< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52041,7 +52112,7 @@ fn __action1213< } #[allow(clippy::too_many_arguments)] -fn __action1214< +fn __action1217< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52064,7 +52135,7 @@ fn __action1214< } #[allow(clippy::too_many_arguments)] -fn __action1215< +fn __action1218< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52085,7 +52156,7 @@ fn __action1215< } #[allow(clippy::too_many_arguments)] -fn __action1216< +fn __action1219< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52106,7 +52177,7 @@ fn __action1216< } #[allow(clippy::too_many_arguments)] -fn __action1217< +fn __action1220< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Pattern @@ -52125,7 +52196,7 @@ fn __action1217< } #[allow(clippy::too_many_arguments)] -fn __action1218< +fn __action1221< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52156,7 +52227,7 @@ fn __action1218< } #[allow(clippy::too_many_arguments)] -fn __action1219< +fn __action1222< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52185,7 +52256,7 @@ fn __action1219< } #[allow(clippy::too_many_arguments)] -fn __action1220< +fn __action1223< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52212,7 +52283,7 @@ fn __action1220< } #[allow(clippy::too_many_arguments)] -fn __action1221< +fn __action1224< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52237,7 +52308,7 @@ fn __action1221< } #[allow(clippy::too_many_arguments)] -fn __action1222< +fn __action1225< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52264,7 +52335,7 @@ fn __action1222< } #[allow(clippy::too_many_arguments)] -fn __action1223< +fn __action1226< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52289,7 +52360,7 @@ fn __action1223< } #[allow(clippy::too_many_arguments)] -fn __action1224< +fn __action1227< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52312,7 +52383,7 @@ fn __action1224< } #[allow(clippy::too_many_arguments)] -fn __action1225< +fn __action1228< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52343,7 +52414,7 @@ fn __action1225< } #[allow(clippy::too_many_arguments)] -fn __action1226< +fn __action1229< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52372,7 +52443,7 @@ fn __action1226< } #[allow(clippy::too_many_arguments)] -fn __action1227< +fn __action1230< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52399,7 +52470,7 @@ fn __action1227< } #[allow(clippy::too_many_arguments)] -fn __action1228< +fn __action1231< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52424,7 +52495,7 @@ fn __action1228< } #[allow(clippy::too_many_arguments)] -fn __action1229< +fn __action1232< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52451,7 +52522,7 @@ fn __action1229< } #[allow(clippy::too_many_arguments)] -fn __action1230< +fn __action1233< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52476,7 +52547,7 @@ fn __action1230< } #[allow(clippy::too_many_arguments)] -fn __action1231< +fn __action1234< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52499,7 +52570,7 @@ fn __action1231< } #[allow(clippy::too_many_arguments)] -fn __action1232< +fn __action1235< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -52520,7 +52591,7 @@ fn __action1232< } #[allow(clippy::too_many_arguments)] -fn __action1233< +fn __action1236< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -52541,7 +52612,7 @@ fn __action1233< } #[allow(clippy::too_many_arguments)] -fn __action1234< +fn __action1237< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr @@ -52560,7 +52631,7 @@ fn __action1234< } #[allow(clippy::too_many_arguments)] -fn __action1235< +fn __action1238< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52581,7 +52652,7 @@ fn __action1235< } #[allow(clippy::too_many_arguments)] -fn __action1236< +fn __action1239< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52604,7 +52675,7 @@ fn __action1236< } #[allow(clippy::too_many_arguments)] -fn __action1237< +fn __action1240< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -52625,7 +52696,47 @@ fn __action1237< } #[allow(clippy::too_many_arguments)] -fn __action1238< +fn __action1241< +>( + __0: (TextSize, String, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action762( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1242< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), +) -> ast::Identifier +{ + let __start0 = __1.2; + let __end0 = __1.2; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action763( + __0, + __1, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1243< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52639,7 +52750,7 @@ fn __action1238< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1053( + __action1056( __0, __1, __2, @@ -52648,7 +52759,7 @@ fn __action1238< } #[allow(clippy::too_many_arguments)] -fn __action1239< +fn __action1244< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -52660,14 +52771,14 @@ fn __action1239< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1054( + __action1057( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1240< +fn __action1245< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52681,7 +52792,7 @@ fn __action1240< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action767( + __action769( __0, __1, __2, @@ -52690,7 +52801,7 @@ fn __action1240< } #[allow(clippy::too_many_arguments)] -fn __action1241< +fn __action1246< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52704,7 +52815,7 @@ fn __action1241< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action768( + __action770( __0, __1, __2, @@ -52713,7 +52824,7 @@ fn __action1241< } #[allow(clippy::too_many_arguments)] -fn __action1242< +fn __action1247< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -52726,7 +52837,7 @@ fn __action1242< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action769( + __action771( __0, __1, __temp0, @@ -52734,7 +52845,7 @@ fn __action1242< } #[allow(clippy::too_many_arguments)] -fn __action1243< +fn __action1248< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -52748,7 +52859,7 @@ fn __action1243< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action770( + __action772( __0, __1, __2, @@ -52757,7 +52868,7 @@ fn __action1243< } #[allow(clippy::too_many_arguments)] -fn __action1244< +fn __action1249< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52772,7 +52883,7 @@ fn __action1244< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action771( + __action773( __0, __1, __2, @@ -52782,7 +52893,7 @@ fn __action1244< } #[allow(clippy::too_many_arguments)] -fn __action1245< +fn __action1250< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52795,7 +52906,7 @@ fn __action1245< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action772( + __action774( __0, __1, __temp0, @@ -52803,7 +52914,7 @@ fn __action1245< } #[allow(clippy::too_many_arguments)] -fn __action1246< +fn __action1251< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52816,7 +52927,7 @@ fn __action1246< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action773( + __action775( __0, __1, __temp0, @@ -52824,7 +52935,7 @@ fn __action1246< } #[allow(clippy::too_many_arguments)] -fn __action1247< +fn __action1252< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -52836,14 +52947,14 @@ fn __action1247< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action774( + __action776( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1248< +fn __action1253< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -52855,14 +52966,14 @@ fn __action1248< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action775( + __action777( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1249< +fn __action1254< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -52875,7 +52986,7 @@ fn __action1249< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action776( + __action778( __0, __1, __temp0, @@ -52883,7 +52994,7 @@ fn __action1249< } #[allow(clippy::too_many_arguments)] -fn __action1250< +fn __action1255< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt @@ -52895,14 +53006,14 @@ fn __action1250< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action777( + __action779( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1251< +fn __action1256< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -52915,7 +53026,7 @@ fn __action1251< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action782( + __action784( __0, __1, __temp0, @@ -52923,7 +53034,7 @@ fn __action1251< } #[allow(clippy::too_many_arguments)] -fn __action1252< +fn __action1257< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52937,7 +53048,7 @@ fn __action1252< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action783( + __action785( __0, __1, __2, @@ -52946,7 +53057,7 @@ fn __action1252< } #[allow(clippy::too_many_arguments)] -fn __action1253< +fn __action1258< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52959,7 +53070,7 @@ fn __action1253< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action784( + __action786( __0, __1, __temp0, @@ -52967,7 +53078,7 @@ fn __action1253< } #[allow(clippy::too_many_arguments)] -fn __action1254< +fn __action1259< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52980,7 +53091,7 @@ fn __action1254< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action785( + __action787( __0, __1, __temp0, @@ -52988,7 +53099,7 @@ fn __action1254< } #[allow(clippy::too_many_arguments)] -fn __action1255< +fn __action1260< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53001,7 +53112,7 @@ fn __action1255< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action786( + __action788( __0, __1, __temp0, @@ -53009,7 +53120,7 @@ fn __action1255< } #[allow(clippy::too_many_arguments)] -fn __action1256< +fn __action1261< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -53021,14 +53132,14 @@ fn __action1256< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action787( + __action789( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1257< +fn __action1262< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53041,7 +53152,7 @@ fn __action1257< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action788( + __action790( __0, __1, __temp0, @@ -53049,7 +53160,7 @@ fn __action1257< } #[allow(clippy::too_many_arguments)] -fn __action1258< +fn __action1263< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -53061,14 +53172,14 @@ fn __action1258< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action789( + __action791( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1259< +fn __action1264< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53081,7 +53192,7 @@ fn __action1259< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action790( + __action792( __0, __1, __temp0, @@ -53089,7 +53200,26 @@ fn __action1259< } #[allow(clippy::too_many_arguments)] -fn __action1260< +fn __action1265< +>( + __0: (TextSize, String, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action793( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1266< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53103,7 +53233,7 @@ fn __action1260< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1065( + __action1068( __0, __1, __2, @@ -53112,7 +53242,7 @@ fn __action1260< } #[allow(clippy::too_many_arguments)] -fn __action1261< +fn __action1267< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias @@ -53124,14 +53254,14 @@ fn __action1261< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1066( + __action1069( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1262< +fn __action1268< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53145,7 +53275,7 @@ fn __action1262< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1067( + __action1070( __0, __1, __2, @@ -53154,7 +53284,7 @@ fn __action1262< } #[allow(clippy::too_many_arguments)] -fn __action1263< +fn __action1269< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias @@ -53166,14 +53296,14 @@ fn __action1263< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1068( + __action1071( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1264< +fn __action1270< >( __0: (TextSize, Vec, TextSize), ) -> Vec @@ -53185,14 +53315,14 @@ fn __action1264< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action794( + __action797( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1265< +fn __action1271< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53207,7 +53337,7 @@ fn __action1265< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action795( + __action798( __0, __1, __2, @@ -53217,7 +53347,7 @@ fn __action1265< } #[allow(clippy::too_many_arguments)] -fn __action1266< +fn __action1272< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53231,7 +53361,7 @@ fn __action1266< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action796( + __action799( __0, __1, __2, @@ -53240,7 +53370,7 @@ fn __action1266< } #[allow(clippy::too_many_arguments)] -fn __action1267< +fn __action1273< >( __0: (TextSize, token::Tok, TextSize), ) -> Vec @@ -53252,14 +53382,14 @@ fn __action1267< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action797( + __action800( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1268< +fn __action1274< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53272,7 +53402,7 @@ fn __action1268< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action798( + __action801( __0, __1, __temp0, @@ -53280,7 +53410,7 @@ fn __action1268< } #[allow(clippy::too_many_arguments)] -fn __action1269< +fn __action1275< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (Option, Option), TextSize), @@ -53295,7 +53425,7 @@ fn __action1269< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action799( + __action802( __0, __1, __2, @@ -53305,7 +53435,7 @@ fn __action1269< } #[allow(clippy::too_many_arguments)] -fn __action1270< +fn __action1276< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -53320,7 +53450,7 @@ fn __action1270< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action800( + __action803( __0, __1, __2, @@ -53330,7 +53460,7 @@ fn __action1270< } #[allow(clippy::too_many_arguments)] -fn __action1271< +fn __action1277< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53342,14 +53472,14 @@ fn __action1271< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action801( + __action804( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1272< +fn __action1278< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53361,14 +53491,14 @@ fn __action1272< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action802( + __action805( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1273< +fn __action1279< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern @@ -53380,14 +53510,14 @@ fn __action1273< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action803( + __action806( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1274< +fn __action1280< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -53399,14 +53529,14 @@ fn __action1274< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action804( + __action807( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1275< +fn __action1281< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -53418,14 +53548,14 @@ fn __action1275< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action805( + __action808( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1276< +fn __action1282< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> @@ -53437,14 +53567,14 @@ fn __action1276< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action806( + __action809( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1277< +fn __action1283< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53456,14 +53586,14 @@ fn __action1277< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action807( + __action810( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1278< +fn __action1284< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53475,14 +53605,14 @@ fn __action1278< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action808( + __action811( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1279< +fn __action1285< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -53494,14 +53624,14 @@ fn __action1279< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action809( + __action812( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1280< +fn __action1286< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53514,7 +53644,7 @@ fn __action1280< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action811( + __action814( __0, __1, __temp0, @@ -53522,7 +53652,7 @@ fn __action1280< } #[allow(clippy::too_many_arguments)] -fn __action1281< +fn __action1287< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53537,7 +53667,7 @@ fn __action1281< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action812( + __action815( __0, __1, __2, @@ -53547,7 +53677,7 @@ fn __action1281< } #[allow(clippy::too_many_arguments)] -fn __action1282< +fn __action1288< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53561,7 +53691,7 @@ fn __action1282< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action813( + __action816( __0, __1, __2, @@ -53570,7 +53700,7 @@ fn __action1282< } #[allow(clippy::too_many_arguments)] -fn __action1283< +fn __action1289< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53586,7 +53716,7 @@ fn __action1283< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action814( + __action817( __0, __1, __2, @@ -53597,7 +53727,7 @@ fn __action1283< } #[allow(clippy::too_many_arguments)] -fn __action1284< +fn __action1290< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53612,7 +53742,7 @@ fn __action1284< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action815( + __action818( __0, __1, __2, @@ -53622,7 +53752,7 @@ fn __action1284< } #[allow(clippy::too_many_arguments)] -fn __action1285< +fn __action1291< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53640,7 +53770,7 @@ fn __action1285< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action816( + __action819( __0, __1, __2, @@ -53653,7 +53783,7 @@ fn __action1285< } #[allow(clippy::too_many_arguments)] -fn __action1286< +fn __action1292< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53670,7 +53800,7 @@ fn __action1286< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action817( + __action820( __0, __1, __2, @@ -53682,7 +53812,7 @@ fn __action1286< } #[allow(clippy::too_many_arguments)] -fn __action1287< +fn __action1293< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr @@ -53694,14 +53824,14 @@ fn __action1287< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action819( + __action822( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1288< +fn __action1294< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53715,7 +53845,7 @@ fn __action1288< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action820( + __action823( __0, __1, __2, @@ -53724,7 +53854,7 @@ fn __action1288< } #[allow(clippy::too_many_arguments)] -fn __action1289< +fn __action1295< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53738,7 +53868,7 @@ fn __action1289< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action821( + __action824( __0, __1, __2, @@ -53747,7 +53877,7 @@ fn __action1289< } #[allow(clippy::too_many_arguments)] -fn __action1290< +fn __action1296< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53761,7 +53891,7 @@ fn __action1290< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action826( + __action829( __0, __temp0, __1, @@ -53770,7 +53900,7 @@ fn __action1290< } #[allow(clippy::too_many_arguments)] -fn __action1291< +fn __action1297< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53783,7 +53913,7 @@ fn __action1291< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action827( + __action830( __0, __1, __temp0, @@ -53791,7 +53921,7 @@ fn __action1291< } #[allow(clippy::too_many_arguments)] -fn __action1292< +fn __action1298< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53804,7 +53934,7 @@ fn __action1292< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action828( + __action831( __0, __1, __temp0, @@ -53812,7 +53942,7 @@ fn __action1292< } #[allow(clippy::too_many_arguments)] -fn __action1293< +fn __action1299< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53825,7 +53955,7 @@ fn __action1293< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action829( + __action832( __0, __1, __temp0, @@ -53833,7 +53963,7 @@ fn __action1293< } #[allow(clippy::too_many_arguments)] -fn __action1294< +fn __action1300< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern @@ -53845,14 +53975,14 @@ fn __action1294< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action830( + __action833( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1295< +fn __action1301< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53865,7 +53995,7 @@ fn __action1295< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action831( + __action834( __0, __1, __temp0, @@ -53873,7 +54003,7 @@ fn __action1295< } #[allow(clippy::too_many_arguments)] -fn __action1296< +fn __action1302< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53886,7 +54016,7 @@ fn __action1296< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action832( + __action835( __0, __1, __temp0, @@ -53894,7 +54024,7 @@ fn __action1296< } #[allow(clippy::too_many_arguments)] -fn __action1297< +fn __action1303< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53912,7 +54042,7 @@ fn __action1297< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action948( + __action951( __0, __1, __2, @@ -53925,7 +54055,7 @@ fn __action1297< } #[allow(clippy::too_many_arguments)] -fn __action1298< +fn __action1304< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53942,7 +54072,7 @@ fn __action1298< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action949( + __action952( __0, __1, __2, @@ -53954,7 +54084,7 @@ fn __action1298< } #[allow(clippy::too_many_arguments)] -fn __action1299< +fn __action1305< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53973,7 +54103,7 @@ fn __action1299< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action950( + __action953( __0, __1, __2, @@ -53987,7 +54117,7 @@ fn __action1299< } #[allow(clippy::too_many_arguments)] -fn __action1300< +fn __action1306< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54005,7 +54135,7 @@ fn __action1300< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action951( + __action954( __0, __1, __2, @@ -54018,7 +54148,7 @@ fn __action1300< } #[allow(clippy::too_many_arguments)] -fn __action1301< +fn __action1307< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54034,7 +54164,7 @@ fn __action1301< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action952( + __action955( __0, __1, __2, @@ -54045,7 +54175,7 @@ fn __action1301< } #[allow(clippy::too_many_arguments)] -fn __action1302< +fn __action1308< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54060,7 +54190,7 @@ fn __action1302< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action953( + __action956( __0, __1, __2, @@ -54070,7 +54200,7 @@ fn __action1302< } #[allow(clippy::too_many_arguments)] -fn __action1303< +fn __action1309< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54087,7 +54217,7 @@ fn __action1303< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action954( + __action957( __0, __1, __2, @@ -54099,7 +54229,7 @@ fn __action1303< } #[allow(clippy::too_many_arguments)] -fn __action1304< +fn __action1310< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54115,7 +54245,7 @@ fn __action1304< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action955( + __action958( __0, __1, __2, @@ -54126,7 +54256,7 @@ fn __action1304< } #[allow(clippy::too_many_arguments)] -fn __action1305< +fn __action1311< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54139,7 +54269,7 @@ fn __action1305< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action956( + __action959( __0, __1, __temp0, @@ -54147,7 +54277,7 @@ fn __action1305< } #[allow(clippy::too_many_arguments)] -fn __action1306< +fn __action1312< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54164,7 +54294,7 @@ fn __action1306< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action957( + __action960( __0, __1, __2, @@ -54176,7 +54306,7 @@ fn __action1306< } #[allow(clippy::too_many_arguments)] -fn __action1307< +fn __action1313< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54192,7 +54322,7 @@ fn __action1307< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action958( + __action961( __0, __1, __2, @@ -54203,7 +54333,7 @@ fn __action1307< } #[allow(clippy::too_many_arguments)] -fn __action1308< +fn __action1314< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54221,7 +54351,7 @@ fn __action1308< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action959( + __action962( __0, __1, __2, @@ -54234,7 +54364,7 @@ fn __action1308< } #[allow(clippy::too_many_arguments)] -fn __action1309< +fn __action1315< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54251,7 +54381,7 @@ fn __action1309< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action960( + __action963( __0, __1, __2, @@ -54263,7 +54393,7 @@ fn __action1309< } #[allow(clippy::too_many_arguments)] -fn __action1310< +fn __action1316< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54278,7 +54408,7 @@ fn __action1310< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action961( + __action964( __0, __1, __2, @@ -54288,7 +54418,7 @@ fn __action1310< } #[allow(clippy::too_many_arguments)] -fn __action1311< +fn __action1317< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54302,7 +54432,7 @@ fn __action1311< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action962( + __action965( __0, __1, __2, @@ -54311,7 +54441,7 @@ fn __action1311< } #[allow(clippy::too_many_arguments)] -fn __action1312< +fn __action1318< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54327,7 +54457,7 @@ fn __action1312< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action963( + __action966( __0, __1, __2, @@ -54338,7 +54468,7 @@ fn __action1312< } #[allow(clippy::too_many_arguments)] -fn __action1313< +fn __action1319< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54353,7 +54483,7 @@ fn __action1313< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action964( + __action967( __0, __1, __2, @@ -54363,7 +54493,7 @@ fn __action1313< } #[allow(clippy::too_many_arguments)] -fn __action1314< +fn __action1320< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -54375,14 +54505,14 @@ fn __action1314< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action965( + __action968( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1315< +fn __action1321< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54397,7 +54527,7 @@ fn __action1315< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action835( + __action838( __0, __1, __2, @@ -54407,7 +54537,7 @@ fn __action1315< } #[allow(clippy::too_many_arguments)] -fn __action1316< +fn __action1322< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54421,7 +54551,7 @@ fn __action1316< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action836( + __action839( __0, __1, __2, @@ -54430,7 +54560,7 @@ fn __action1316< } #[allow(clippy::too_many_arguments)] -fn __action1317< +fn __action1323< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54446,7 +54576,7 @@ fn __action1317< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action924( + __action927( __0, __1, __2, @@ -54457,7 +54587,7 @@ fn __action1317< } #[allow(clippy::too_many_arguments)] -fn __action1318< +fn __action1324< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54472,7 +54602,7 @@ fn __action1318< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action925( + __action928( __0, __1, __2, @@ -54482,7 +54612,7 @@ fn __action1318< } #[allow(clippy::too_many_arguments)] -fn __action1319< +fn __action1325< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54499,7 +54629,7 @@ fn __action1319< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action926( + __action929( __0, __1, __2, @@ -54511,7 +54641,7 @@ fn __action1319< } #[allow(clippy::too_many_arguments)] -fn __action1320< +fn __action1326< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54527,7 +54657,7 @@ fn __action1320< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action927( + __action930( __0, __1, __2, @@ -54538,7 +54668,7 @@ fn __action1320< } #[allow(clippy::too_many_arguments)] -fn __action1321< +fn __action1327< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54552,7 +54682,7 @@ fn __action1321< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action928( + __action931( __0, __1, __2, @@ -54561,7 +54691,7 @@ fn __action1321< } #[allow(clippy::too_many_arguments)] -fn __action1322< +fn __action1328< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54574,7 +54704,7 @@ fn __action1322< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action929( + __action932( __0, __1, __temp0, @@ -54582,7 +54712,7 @@ fn __action1322< } #[allow(clippy::too_many_arguments)] -fn __action1323< +fn __action1329< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54597,7 +54727,7 @@ fn __action1323< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action930( + __action933( __0, __1, __2, @@ -54607,7 +54737,7 @@ fn __action1323< } #[allow(clippy::too_many_arguments)] -fn __action1324< +fn __action1330< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54621,7 +54751,7 @@ fn __action1324< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action931( + __action934( __0, __1, __2, @@ -54630,7 +54760,7 @@ fn __action1324< } #[allow(clippy::too_many_arguments)] -fn __action1325< +fn __action1331< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54645,7 +54775,7 @@ fn __action1325< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action932( + __action935( __0, __1, __2, @@ -54655,7 +54785,7 @@ fn __action1325< } #[allow(clippy::too_many_arguments)] -fn __action1326< +fn __action1332< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54669,7 +54799,7 @@ fn __action1326< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action933( + __action936( __0, __1, __2, @@ -54678,7 +54808,7 @@ fn __action1326< } #[allow(clippy::too_many_arguments)] -fn __action1327< +fn __action1333< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54694,7 +54824,7 @@ fn __action1327< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action934( + __action937( __0, __1, __2, @@ -54705,7 +54835,7 @@ fn __action1327< } #[allow(clippy::too_many_arguments)] -fn __action1328< +fn __action1334< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54720,7 +54850,7 @@ fn __action1328< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action935( + __action938( __0, __1, __2, @@ -54730,7 +54860,7 @@ fn __action1328< } #[allow(clippy::too_many_arguments)] -fn __action1329< +fn __action1335< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54743,7 +54873,7 @@ fn __action1329< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action936( + __action939( __0, __1, __temp0, @@ -54751,7 +54881,7 @@ fn __action1329< } #[allow(clippy::too_many_arguments)] -fn __action1330< +fn __action1336< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -54763,14 +54893,14 @@ fn __action1330< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action937( + __action940( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1331< +fn __action1337< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54784,7 +54914,7 @@ fn __action1331< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action938( + __action941( __0, __1, __2, @@ -54793,7 +54923,7 @@ fn __action1331< } #[allow(clippy::too_many_arguments)] -fn __action1332< +fn __action1338< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54806,7 +54936,7 @@ fn __action1332< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action939( + __action942( __0, __1, __temp0, @@ -54814,7 +54944,7 @@ fn __action1332< } #[allow(clippy::too_many_arguments)] -fn __action1333< +fn __action1339< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54827,7 +54957,7 @@ fn __action1333< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action839( + __action842( __0, __1, __temp0, @@ -54835,7 +54965,7 @@ fn __action1333< } #[allow(clippy::too_many_arguments)] -fn __action1334< +fn __action1340< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -54847,14 +54977,14 @@ fn __action1334< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action840( + __action843( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1335< +fn __action1341< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54872,7 +55002,7 @@ fn __action1335< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1008( + __action1011( __0, __1, __2, @@ -54885,7 +55015,7 @@ fn __action1335< } #[allow(clippy::too_many_arguments)] -fn __action1336< +fn __action1342< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54902,7 +55032,7 @@ fn __action1336< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1009( + __action1012( __0, __1, __2, @@ -54914,7 +55044,7 @@ fn __action1336< } #[allow(clippy::too_many_arguments)] -fn __action1337< +fn __action1343< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54933,7 +55063,7 @@ fn __action1337< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1010( + __action1013( __0, __1, __2, @@ -54947,7 +55077,7 @@ fn __action1337< } #[allow(clippy::too_many_arguments)] -fn __action1338< +fn __action1344< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54965,7 +55095,7 @@ fn __action1338< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1011( + __action1014( __0, __1, __2, @@ -54978,7 +55108,7 @@ fn __action1338< } #[allow(clippy::too_many_arguments)] -fn __action1339< +fn __action1345< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54994,7 +55124,7 @@ fn __action1339< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1012( + __action1015( __0, __1, __2, @@ -55005,7 +55135,7 @@ fn __action1339< } #[allow(clippy::too_many_arguments)] -fn __action1340< +fn __action1346< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55020,7 +55150,7 @@ fn __action1340< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1013( + __action1016( __0, __1, __2, @@ -55030,7 +55160,7 @@ fn __action1340< } #[allow(clippy::too_many_arguments)] -fn __action1341< +fn __action1347< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55047,7 +55177,7 @@ fn __action1341< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1014( + __action1017( __0, __1, __2, @@ -55059,7 +55189,7 @@ fn __action1341< } #[allow(clippy::too_many_arguments)] -fn __action1342< +fn __action1348< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55075,7 +55205,7 @@ fn __action1342< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1015( + __action1018( __0, __1, __2, @@ -55086,7 +55216,7 @@ fn __action1342< } #[allow(clippy::too_many_arguments)] -fn __action1343< +fn __action1349< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55099,7 +55229,7 @@ fn __action1343< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1016( + __action1019( __0, __1, __temp0, @@ -55107,7 +55237,7 @@ fn __action1343< } #[allow(clippy::too_many_arguments)] -fn __action1344< +fn __action1350< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55124,7 +55254,7 @@ fn __action1344< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1017( + __action1020( __0, __1, __2, @@ -55136,7 +55266,7 @@ fn __action1344< } #[allow(clippy::too_many_arguments)] -fn __action1345< +fn __action1351< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55152,7 +55282,7 @@ fn __action1345< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1018( + __action1021( __0, __1, __2, @@ -55163,7 +55293,7 @@ fn __action1345< } #[allow(clippy::too_many_arguments)] -fn __action1346< +fn __action1352< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55181,7 +55311,7 @@ fn __action1346< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1019( + __action1022( __0, __1, __2, @@ -55194,7 +55324,7 @@ fn __action1346< } #[allow(clippy::too_many_arguments)] -fn __action1347< +fn __action1353< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55211,7 +55341,7 @@ fn __action1347< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1020( + __action1023( __0, __1, __2, @@ -55223,7 +55353,7 @@ fn __action1347< } #[allow(clippy::too_many_arguments)] -fn __action1348< +fn __action1354< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55238,7 +55368,7 @@ fn __action1348< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1021( + __action1024( __0, __1, __2, @@ -55248,7 +55378,7 @@ fn __action1348< } #[allow(clippy::too_many_arguments)] -fn __action1349< +fn __action1355< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55262,7 +55392,7 @@ fn __action1349< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1022( + __action1025( __0, __1, __2, @@ -55271,7 +55401,7 @@ fn __action1349< } #[allow(clippy::too_many_arguments)] -fn __action1350< +fn __action1356< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55287,7 +55417,7 @@ fn __action1350< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1023( + __action1026( __0, __1, __2, @@ -55298,7 +55428,7 @@ fn __action1350< } #[allow(clippy::too_many_arguments)] -fn __action1351< +fn __action1357< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55313,7 +55443,7 @@ fn __action1351< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1024( + __action1027( __0, __1, __2, @@ -55323,7 +55453,7 @@ fn __action1351< } #[allow(clippy::too_many_arguments)] -fn __action1352< +fn __action1358< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -55335,14 +55465,14 @@ fn __action1352< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1025( + __action1028( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1353< +fn __action1359< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55357,7 +55487,7 @@ fn __action1353< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action843( + __action846( __0, __1, __2, @@ -55367,7 +55497,7 @@ fn __action1353< } #[allow(clippy::too_many_arguments)] -fn __action1354< +fn __action1360< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55381,7 +55511,7 @@ fn __action1354< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action844( + __action847( __0, __1, __2, @@ -55390,7 +55520,7 @@ fn __action1354< } #[allow(clippy::too_many_arguments)] -fn __action1355< +fn __action1361< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55406,7 +55536,7 @@ fn __action1355< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action984( + __action987( __0, __1, __2, @@ -55417,7 +55547,7 @@ fn __action1355< } #[allow(clippy::too_many_arguments)] -fn __action1356< +fn __action1362< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55432,7 +55562,7 @@ fn __action1356< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action985( + __action988( __0, __1, __2, @@ -55442,7 +55572,7 @@ fn __action1356< } #[allow(clippy::too_many_arguments)] -fn __action1357< +fn __action1363< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55459,7 +55589,7 @@ fn __action1357< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action986( + __action989( __0, __1, __2, @@ -55471,7 +55601,7 @@ fn __action1357< } #[allow(clippy::too_many_arguments)] -fn __action1358< +fn __action1364< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55487,7 +55617,7 @@ fn __action1358< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action987( + __action990( __0, __1, __2, @@ -55498,7 +55628,7 @@ fn __action1358< } #[allow(clippy::too_many_arguments)] -fn __action1359< +fn __action1365< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55512,7 +55642,7 @@ fn __action1359< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action988( + __action991( __0, __1, __2, @@ -55521,7 +55651,7 @@ fn __action1359< } #[allow(clippy::too_many_arguments)] -fn __action1360< +fn __action1366< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55534,7 +55664,7 @@ fn __action1360< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action989( + __action992( __0, __1, __temp0, @@ -55542,7 +55672,7 @@ fn __action1360< } #[allow(clippy::too_many_arguments)] -fn __action1361< +fn __action1367< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55557,7 +55687,7 @@ fn __action1361< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action990( + __action993( __0, __1, __2, @@ -55567,7 +55697,7 @@ fn __action1361< } #[allow(clippy::too_many_arguments)] -fn __action1362< +fn __action1368< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55581,7 +55711,7 @@ fn __action1362< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action991( + __action994( __0, __1, __2, @@ -55590,7 +55720,7 @@ fn __action1362< } #[allow(clippy::too_many_arguments)] -fn __action1363< +fn __action1369< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55605,7 +55735,7 @@ fn __action1363< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action992( + __action995( __0, __1, __2, @@ -55615,7 +55745,7 @@ fn __action1363< } #[allow(clippy::too_many_arguments)] -fn __action1364< +fn __action1370< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55629,7 +55759,7 @@ fn __action1364< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action993( + __action996( __0, __1, __2, @@ -55638,7 +55768,7 @@ fn __action1364< } #[allow(clippy::too_many_arguments)] -fn __action1365< +fn __action1371< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55654,7 +55784,7 @@ fn __action1365< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action994( + __action997( __0, __1, __2, @@ -55665,7 +55795,7 @@ fn __action1365< } #[allow(clippy::too_many_arguments)] -fn __action1366< +fn __action1372< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55680,7 +55810,7 @@ fn __action1366< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action995( + __action998( __0, __1, __2, @@ -55690,7 +55820,7 @@ fn __action1366< } #[allow(clippy::too_many_arguments)] -fn __action1367< +fn __action1373< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55703,7 +55833,7 @@ fn __action1367< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action996( + __action999( __0, __1, __temp0, @@ -55711,7 +55841,7 @@ fn __action1367< } #[allow(clippy::too_many_arguments)] -fn __action1368< +fn __action1374< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -55723,14 +55853,14 @@ fn __action1368< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action997( + __action1000( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1369< +fn __action1375< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55744,7 +55874,7 @@ fn __action1369< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action998( + __action1001( __0, __1, __2, @@ -55753,7 +55883,7 @@ fn __action1369< } #[allow(clippy::too_many_arguments)] -fn __action1370< +fn __action1376< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55766,7 +55896,7 @@ fn __action1370< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action999( + __action1002( __0, __1, __temp0, @@ -55774,7 +55904,7 @@ fn __action1370< } #[allow(clippy::too_many_arguments)] -fn __action1371< +fn __action1377< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55787,7 +55917,7 @@ fn __action1371< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action847( + __action850( __0, __1, __temp0, @@ -55795,7 +55925,7 @@ fn __action1371< } #[allow(clippy::too_many_arguments)] -fn __action1372< +fn __action1378< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -55807,14 +55937,14 @@ fn __action1372< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action848( + __action851( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1373< +fn __action1379< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -55828,7 +55958,7 @@ fn __action1373< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action861( + __action864( __0, __1, __2, @@ -55837,7 +55967,7 @@ fn __action1373< } #[allow(clippy::too_many_arguments)] -fn __action1374< +fn __action1380< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -55849,14 +55979,14 @@ fn __action1374< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action862( + __action865( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1375< +fn __action1381< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55869,7 +55999,7 @@ fn __action1375< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action863( + __action866( __0, __1, __temp0, @@ -55877,7 +56007,7 @@ fn __action1375< } #[allow(clippy::too_many_arguments)] -fn __action1376< +fn __action1382< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55890,7 +56020,7 @@ fn __action1376< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action864( + __action867( __0, __1, __temp0, @@ -55898,7 +56028,7 @@ fn __action1376< } #[allow(clippy::too_many_arguments)] -fn __action1377< +fn __action1383< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern @@ -55910,14 +56040,14 @@ fn __action1377< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action865( + __action868( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1378< +fn __action1384< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55931,7 +56061,7 @@ fn __action1378< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action866( + __action869( __0, __1, __2, @@ -55940,7 +56070,7 @@ fn __action1378< } #[allow(clippy::too_many_arguments)] -fn __action1379< +fn __action1385< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55954,7 +56084,7 @@ fn __action1379< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action867( + __action870( __0, __1, __2, @@ -55963,7 +56093,7 @@ fn __action1379< } #[allow(clippy::too_many_arguments)] -fn __action1380< +fn __action1386< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -55975,14 +56105,14 @@ fn __action1380< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action868( + __action871( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1381< +fn __action1387< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -55997,7 +56127,7 @@ fn __action1381< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1093( + __action1096( __0, __1, __2, @@ -56007,7 +56137,7 @@ fn __action1381< } #[allow(clippy::too_many_arguments)] -fn __action1382< +fn __action1388< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56020,7 +56150,7 @@ fn __action1382< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1094( + __action1097( __0, __1, __temp0, @@ -56028,7 +56158,7 @@ fn __action1382< } #[allow(clippy::too_many_arguments)] -fn __action1383< +fn __action1389< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56042,7 +56172,7 @@ fn __action1383< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action870( + __action873( __0, __1, __2, @@ -56051,7 +56181,7 @@ fn __action1383< } #[allow(clippy::too_many_arguments)] -fn __action1384< +fn __action1390< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56064,7 +56194,7 @@ fn __action1384< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action871( + __action874( __0, __1, __temp0, @@ -56072,7 +56202,7 @@ fn __action1384< } #[allow(clippy::too_many_arguments)] -fn __action1385< +fn __action1391< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56087,7 +56217,7 @@ fn __action1385< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action872( + __action875( __0, __1, __2, @@ -56097,7 +56227,7 @@ fn __action1385< } #[allow(clippy::too_many_arguments)] -fn __action1386< +fn __action1392< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56113,7 +56243,7 @@ fn __action1386< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action873( + __action876( __0, __1, __2, @@ -56124,7 +56254,7 @@ fn __action1386< } #[allow(clippy::too_many_arguments)] -fn __action1387< +fn __action1393< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56139,7 +56269,7 @@ fn __action1387< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action874( + __action877( __0, __1, __2, @@ -56149,7 +56279,7 @@ fn __action1387< } #[allow(clippy::too_many_arguments)] -fn __action1388< +fn __action1394< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -56163,7 +56293,7 @@ fn __action1388< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action875( + __action878( __0, __1, __2, @@ -56172,7 +56302,7 @@ fn __action1388< } #[allow(clippy::too_many_arguments)] -fn __action1389< +fn __action1395< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56186,7 +56316,7 @@ fn __action1389< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action876( + __action879( __0, __1, __2, @@ -56195,7 +56325,7 @@ fn __action1389< } #[allow(clippy::too_many_arguments)] -fn __action1390< +fn __action1396< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56209,7 +56339,7 @@ fn __action1390< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action877( + __action880( __0, __1, __2, @@ -56218,7 +56348,7 @@ fn __action1390< } #[allow(clippy::too_many_arguments)] -fn __action1391< +fn __action1397< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56235,7 +56365,7 @@ fn __action1391< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action878( + __action881( __0, __1, __2, @@ -56247,7 +56377,7 @@ fn __action1391< } #[allow(clippy::too_many_arguments)] -fn __action1392< +fn __action1398< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56263,7 +56393,7 @@ fn __action1392< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action879( + __action882( __0, __1, __2, @@ -56274,7 +56404,7 @@ fn __action1392< } #[allow(clippy::too_many_arguments)] -fn __action1393< +fn __action1399< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56287,7 +56417,7 @@ fn __action1393< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action881( + __action884( __0, __1, __temp0, @@ -56295,7 +56425,7 @@ fn __action1393< } #[allow(clippy::too_many_arguments)] -fn __action1394< +fn __action1400< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -56308,7 +56438,7 @@ fn __action1394< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action882( + __action885( __0, __1, __temp0, @@ -56316,7 +56446,7 @@ fn __action1394< } #[allow(clippy::too_many_arguments)] -fn __action1395< +fn __action1401< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56330,7 +56460,7 @@ fn __action1395< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1058( + __action1061( __0, __1, __2, @@ -56339,7 +56469,7 @@ fn __action1395< } #[allow(clippy::too_many_arguments)] -fn __action1396< +fn __action1402< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56351,14 +56481,14 @@ fn __action1396< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1059( + __action1062( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1397< +fn __action1403< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56370,14 +56500,14 @@ fn __action1397< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action884( + __action887( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1398< +fn __action1404< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56392,7 +56522,7 @@ fn __action1398< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action885( + __action888( __0, __1, __2, @@ -56402,7 +56532,7 @@ fn __action1398< } #[allow(clippy::too_many_arguments)] -fn __action1399< +fn __action1405< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -56414,14 +56544,14 @@ fn __action1399< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action886( + __action889( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1400< +fn __action1406< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56434,7 +56564,7 @@ fn __action1400< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action887( + __action890( __0, __1, __temp0, @@ -56442,7 +56572,7 @@ fn __action1400< } #[allow(clippy::too_many_arguments)] -fn __action1401< +fn __action1407< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56455,7 +56585,7 @@ fn __action1401< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action888( + __action891( __0, __1, __temp0, @@ -56463,7 +56593,7 @@ fn __action1401< } #[allow(clippy::too_many_arguments)] -fn __action1402< +fn __action1408< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -56475,14 +56605,14 @@ fn __action1402< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action889( + __action892( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1403< +fn __action1409< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56496,7 +56626,7 @@ fn __action1403< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action890( + __action893( __0, __1, __2, @@ -56505,7 +56635,7 @@ fn __action1403< } #[allow(clippy::too_many_arguments)] -fn __action1404< +fn __action1410< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56519,7 +56649,7 @@ fn __action1404< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action891( + __action894( __0, __1, __2, @@ -56528,7 +56658,7 @@ fn __action1404< } #[allow(clippy::too_many_arguments)] -fn __action1405< +fn __action1411< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56544,7 +56674,7 @@ fn __action1405< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action892( + __action895( __0, __1, __2, @@ -56555,7 +56685,7 @@ fn __action1405< } #[allow(clippy::too_many_arguments)] -fn __action1406< +fn __action1412< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56571,7 +56701,7 @@ fn __action1406< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action893( + __action896( __0, __1, __2, @@ -56582,7 +56712,7 @@ fn __action1406< } #[allow(clippy::too_many_arguments)] -fn __action1407< +fn __action1413< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56595,7 +56725,7 @@ fn __action1407< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action894( + __action897( __0, __1, __temp0, @@ -56603,7 +56733,7 @@ fn __action1407< } #[allow(clippy::too_many_arguments)] -fn __action1408< +fn __action1414< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56616,7 +56746,7 @@ fn __action1408< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action895( + __action898( __0, __1, __temp0, @@ -56624,7 +56754,7 @@ fn __action1408< } #[allow(clippy::too_many_arguments)] -fn __action1409< +fn __action1415< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56637,7 +56767,7 @@ fn __action1409< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1062( + __action1065( __0, __1, __temp0, @@ -56645,7 +56775,7 @@ fn __action1409< } #[allow(clippy::too_many_arguments)] -fn __action1410< +fn __action1416< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56659,7 +56789,7 @@ fn __action1410< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1063( + __action1066( __0, __1, __2, @@ -56668,7 +56798,7 @@ fn __action1410< } #[allow(clippy::too_many_arguments)] -fn __action1411< +fn __action1417< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56689,7 +56819,7 @@ fn __action1411< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1084( + __action1087( __0, __1, __2, @@ -56705,7 +56835,7 @@ fn __action1411< } #[allow(clippy::too_many_arguments)] -fn __action1412< +fn __action1418< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56723,7 +56853,7 @@ fn __action1412< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1085( + __action1088( __0, __1, __2, @@ -56736,7 +56866,7 @@ fn __action1412< } #[allow(clippy::too_many_arguments)] -fn __action1413< +fn __action1419< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56754,7 +56884,7 @@ fn __action1413< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1086( + __action1089( __0, __1, __2, @@ -56767,7 +56897,7 @@ fn __action1413< } #[allow(clippy::too_many_arguments)] -fn __action1414< +fn __action1420< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56782,7 +56912,7 @@ fn __action1414< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1087( + __action1090( __0, __1, __2, @@ -56792,7 +56922,7 @@ fn __action1414< } #[allow(clippy::too_many_arguments)] -fn __action1415< +fn __action1421< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56813,7 +56943,7 @@ fn __action1415< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1088( + __action1091( __0, __1, __2, @@ -56829,7 +56959,7 @@ fn __action1415< } #[allow(clippy::too_many_arguments)] -fn __action1416< +fn __action1422< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56847,7 +56977,7 @@ fn __action1416< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1089( + __action1092( __0, __1, __2, @@ -56860,7 +56990,7 @@ fn __action1416< } #[allow(clippy::too_many_arguments)] -fn __action1417< +fn __action1423< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56878,7 +57008,7 @@ fn __action1417< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1090( + __action1093( __0, __1, __2, @@ -56891,7 +57021,7 @@ fn __action1417< } #[allow(clippy::too_many_arguments)] -fn __action1418< +fn __action1424< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56906,7 +57036,7 @@ fn __action1418< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1091( + __action1094( __0, __1, __2, @@ -56916,7 +57046,7 @@ fn __action1418< } #[allow(clippy::too_many_arguments)] -fn __action1419< +fn __action1425< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56930,7 +57060,7 @@ fn __action1419< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1055( + __action1058( __0, __1, __2, @@ -56939,7 +57069,7 @@ fn __action1419< } #[allow(clippy::too_many_arguments)] -fn __action1420< +fn __action1426< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -56951,14 +57081,14 @@ fn __action1420< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1056( + __action1059( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1421< +fn __action1427< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -56970,14 +57100,14 @@ fn __action1421< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action901( + __action904( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1422< +fn __action1428< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -56989,14 +57119,14 @@ fn __action1422< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action902( + __action905( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1423< +fn __action1429< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -57008,14 +57138,14 @@ fn __action1423< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action904( + __action907( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1424< +fn __action1430< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57029,7 +57159,7 @@ fn __action1424< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action905( + __action908( __0, __1, __2, @@ -57038,7 +57168,7 @@ fn __action1424< } #[allow(clippy::too_many_arguments)] -fn __action1425< +fn __action1431< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57052,7 +57182,7 @@ fn __action1425< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action906( + __action909( __0, __1, __2, @@ -57061,7 +57191,7 @@ fn __action1425< } #[allow(clippy::too_many_arguments)] -fn __action1426< +fn __action1432< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -57073,14 +57203,14 @@ fn __action1426< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action907( + __action910( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1427< +fn __action1433< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57094,7 +57224,7 @@ fn __action1427< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action908( + __action911( __0, __1, __2, @@ -57103,7 +57233,7 @@ fn __action1427< } #[allow(clippy::too_many_arguments)] -fn __action1428< +fn __action1434< >( __0: (TextSize, Vec, TextSize), ) -> Vec @@ -57115,14 +57245,14 @@ fn __action1428< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action909( + __action912( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1429< +fn __action1435< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57136,7 +57266,7 @@ fn __action1429< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action912( + __action915( __0, __1, __2, @@ -57145,7 +57275,7 @@ fn __action1429< } #[allow(clippy::too_many_arguments)] -fn __action1430< +fn __action1436< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57159,7 +57289,7 @@ fn __action1430< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action913( + __action916( __0, __1, __2, @@ -57168,7 +57298,7 @@ fn __action1430< } #[allow(clippy::too_many_arguments)] -fn __action1431< +fn __action1437< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -57181,7 +57311,7 @@ fn __action1431< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action914( + __action917( __0, __1, __temp0, @@ -57189,7 +57319,7 @@ fn __action1431< } #[allow(clippy::too_many_arguments)] -fn __action1432< +fn __action1438< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57203,7 +57333,7 @@ fn __action1432< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action915( + __action918( __0, __1, __2, @@ -57212,7 +57342,7 @@ fn __action1432< } #[allow(clippy::too_many_arguments)] -fn __action1433< +fn __action1439< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57220,7 +57350,7 @@ fn __action1433< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1428( + let __temp0 = __action1434( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57231,7 +57361,7 @@ fn __action1433< } #[allow(clippy::too_many_arguments)] -fn __action1434< +fn __action1440< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57241,7 +57371,7 @@ fn __action1434< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1428( + let __temp0 = __action1434( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57254,7 +57384,7 @@ fn __action1434< } #[allow(clippy::too_many_arguments)] -fn __action1435< +fn __action1441< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57263,7 +57393,7 @@ fn __action1435< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1428( + let __temp0 = __action1434( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57275,7 +57405,7 @@ fn __action1435< } #[allow(clippy::too_many_arguments)] -fn __action1436< +fn __action1442< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57283,7 +57413,7 @@ fn __action1436< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1433( + let __temp0 = __action1439( __0, __1, ); @@ -57293,162 +57423,6 @@ fn __action1436< ) } -#[allow(clippy::too_many_arguments)] -fn __action1437< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, Vec, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::WithItem, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __1.0; - let __end0 = __2.2; - let __temp0 = __action1436( - __1, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1041( - __0, - __temp0, - __3, - __4, - __5, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action1438< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, ast::WithItem, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action288( - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1041( - __0, - __temp0, - __1, - __2, - __3, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action1439< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, Vec, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::WithItem, TextSize), - __4: (TextSize, alloc::vec::Vec, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __1.0; - let __end0 = __2.2; - let __temp0 = __action1436( - __1, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1042( - __0, - __temp0, - __3, - __4, - __5, - __6, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action1440< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, ast::WithItem, TextSize), - __2: (TextSize, alloc::vec::Vec, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action288( - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1042( - __0, - __temp0, - __1, - __2, - __3, - __4, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action1441< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, Vec, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::WithItem, TextSize), - __4: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __1.0; - let __end0 = __2.2; - let __temp0 = __action1436( - __1, - __2, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1043( - __0, - __temp0, - __3, - __4, - ) -} - -#[allow(clippy::too_many_arguments)] -fn __action1442< ->( - __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, ast::WithItem, TextSize), - __2: (TextSize, token::Tok, TextSize), -) -> Vec -{ - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action288( - &__start0, - &__end0, - ); - let __temp0 = (__start0, __temp0, __end0); - __action1043( - __0, - __temp0, - __1, - __2, - ) -} - #[allow(clippy::too_many_arguments)] fn __action1443< >( @@ -57456,13 +57430,13 @@ fn __action1443< __1: (TextSize, Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::WithItem, TextSize), - __4: (TextSize, alloc::vec::Vec, TextSize), + __4: (TextSize, token::Tok, TextSize), __5: (TextSize, token::Tok, TextSize), ) -> Vec { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1436( + let __temp0 = __action1442( __1, __2, ); @@ -57481,7 +57455,7 @@ fn __action1444< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), - __2: (TextSize, alloc::vec::Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), __3: (TextSize, token::Tok, TextSize), ) -> Vec { @@ -57503,13 +57477,169 @@ fn __action1444< #[allow(clippy::too_many_arguments)] fn __action1445< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::WithItem, TextSize), + __4: (TextSize, alloc::vec::Vec, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __1.0; + let __end0 = __2.2; + let __temp0 = __action1442( + __1, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1045( + __0, + __temp0, + __3, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1446< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::WithItem, TextSize), + __2: (TextSize, alloc::vec::Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __0.2; + let __end0 = __1.0; + let __temp0 = __action288( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1045( + __0, + __temp0, + __1, + __2, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1447< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::WithItem, TextSize), + __4: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __1.0; + let __end0 = __2.2; + let __temp0 = __action1442( + __1, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1046( + __0, + __temp0, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1448< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::WithItem, TextSize), + __2: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __0.2; + let __end0 = __1.0; + let __temp0 = __action288( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1046( + __0, + __temp0, + __1, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1449< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::WithItem, TextSize), + __4: (TextSize, alloc::vec::Vec, TextSize), + __5: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __1.0; + let __end0 = __2.2; + let __temp0 = __action1442( + __1, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1047( + __0, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1450< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::WithItem, TextSize), + __2: (TextSize, alloc::vec::Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __0.2; + let __end0 = __1.0; + let __temp0 = __action288( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1047( + __0, + __temp0, + __1, + __2, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1451< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1150( + let __temp0 = __action1153( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57519,7 +57649,7 @@ fn __action1445< } #[allow(clippy::too_many_arguments)] -fn __action1446< +fn __action1452< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, (String, StringKind, bool), TextSize), @@ -57527,7 +57657,7 @@ fn __action1446< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1150( + let __temp0 = __action1153( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57538,7 +57668,7 @@ fn __action1446< } #[allow(clippy::too_many_arguments)] -fn __action1447< +fn __action1453< >( __0: (TextSize, ast::CmpOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -57557,7 +57687,7 @@ fn __action1447< } #[allow(clippy::too_many_arguments)] -fn __action1448< +fn __action1454< >( __0: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), __1: (TextSize, ast::CmpOp, TextSize), @@ -57578,7 +57708,7 @@ fn __action1448< } #[allow(clippy::too_many_arguments)] -fn __action1449< +fn __action1455< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -57595,7 +57725,7 @@ fn __action1449< } #[allow(clippy::too_many_arguments)] -fn __action1450< +fn __action1456< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57606,11 +57736,11 @@ fn __action1450< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1449( + let __temp0 = __action1455( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action818( + __action821( __0, __1, __temp0, @@ -57620,7 +57750,7 @@ fn __action1450< } #[allow(clippy::too_many_arguments)] -fn __action1451< +fn __action1457< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57635,7 +57765,7 @@ fn __action1451< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action818( + __action821( __0, __1, __temp0, @@ -57645,7 +57775,7 @@ fn __action1451< } #[allow(clippy::too_many_arguments)] -fn __action1452< +fn __action1458< >( __0: (TextSize, ast::Arguments, TextSize), ) -> core::option::Option @@ -57662,7 +57792,7 @@ fn __action1452< } #[allow(clippy::too_many_arguments)] -fn __action1453< +fn __action1459< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -57671,11 +57801,11 @@ fn __action1453< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1452( + let __temp0 = __action1458( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1373( + __action1379( __0, __temp0, __2, @@ -57683,7 +57813,7 @@ fn __action1453< } #[allow(clippy::too_many_arguments)] -fn __action1454< +fn __action1460< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57696,7 +57826,7 @@ fn __action1454< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1373( + __action1379( __0, __temp0, __1, @@ -57704,7 +57834,7 @@ fn __action1454< } #[allow(clippy::too_many_arguments)] -fn __action1455< +fn __action1461< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt @@ -57716,14 +57846,14 @@ fn __action1455< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1242( + __action1247( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1456< +fn __action1462< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -57735,14 +57865,14 @@ fn __action1456< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1242( + __action1247( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1457< +fn __action1463< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57756,7 +57886,7 @@ fn __action1457< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1244( + __action1249( __0, __1, __2, @@ -57765,7 +57895,7 @@ fn __action1457< } #[allow(clippy::too_many_arguments)] -fn __action1458< +fn __action1464< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57779,7 +57909,7 @@ fn __action1458< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1244( + __action1249( __0, __1, __2, @@ -57788,7 +57918,7 @@ fn __action1458< } #[allow(clippy::too_many_arguments)] -fn __action1459< +fn __action1465< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57799,13 +57929,13 @@ fn __action1459< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1105( + __action1108( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1460< +fn __action1466< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57818,13 +57948,13 @@ fn __action1460< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1105( + __action1108( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1461< +fn __action1467< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57836,14 +57966,14 @@ fn __action1461< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1106( + __action1109( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1462< +fn __action1468< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57855,21 +57985,21 @@ fn __action1462< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1106( + __action1109( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1463< +fn __action1469< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1459( + let __temp0 = __action1465( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57879,7 +58009,7 @@ fn __action1463< } #[allow(clippy::too_many_arguments)] -fn __action1464< +fn __action1470< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57887,7 +58017,7 @@ fn __action1464< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action1460( + let __temp0 = __action1466( &__start0, &__end0, ); @@ -57898,7 +58028,7 @@ fn __action1464< } #[allow(clippy::too_many_arguments)] -fn __action1465< +fn __action1471< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57906,7 +58036,7 @@ fn __action1465< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1461( + let __temp0 = __action1467( __0, __1, ); @@ -57917,14 +58047,14 @@ fn __action1465< } #[allow(clippy::too_many_arguments)] -fn __action1466< +fn __action1472< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1462( + let __temp0 = __action1468( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57934,7 +58064,7 @@ fn __action1466< } #[allow(clippy::too_many_arguments)] -fn __action1467< +fn __action1473< >( __0: (TextSize, ast::Pattern, TextSize), ) -> Vec @@ -57945,13 +58075,13 @@ fn __action1467< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1128( + __action1131( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1468< +fn __action1474< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57964,13 +58094,13 @@ fn __action1468< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1128( + __action1131( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1469< +fn __action1475< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57982,14 +58112,14 @@ fn __action1469< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1129( + __action1132( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1470< +fn __action1476< >( __0: (TextSize, alloc::vec::Vec, TextSize), ) -> Vec @@ -58001,14 +58131,14 @@ fn __action1470< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1129( + __action1132( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1471< +fn __action1477< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -58017,11 +58147,11 @@ fn __action1471< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1467( + let __temp0 = __action1473( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1388( + __action1394( __0, __temp0, __2, @@ -58029,7 +58159,7 @@ fn __action1471< } #[allow(clippy::too_many_arguments)] -fn __action1472< +fn __action1478< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58037,12 +58167,12 @@ fn __action1472< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action1468( + let __temp0 = __action1474( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1388( + __action1394( __0, __temp0, __1, @@ -58050,7 +58180,7 @@ fn __action1472< } #[allow(clippy::too_many_arguments)] -fn __action1473< +fn __action1479< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58060,12 +58190,12 @@ fn __action1473< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1469( + let __temp0 = __action1475( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1388( + __action1394( __0, __temp0, __3, @@ -58073,7 +58203,7 @@ fn __action1473< } #[allow(clippy::too_many_arguments)] -fn __action1474< +fn __action1480< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58082,11 +58212,11 @@ fn __action1474< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1470( + let __temp0 = __action1476( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1388( + __action1394( __0, __temp0, __2, @@ -58094,7 +58224,7 @@ fn __action1474< } #[allow(clippy::too_many_arguments)] -fn __action1475< +fn __action1481< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, Vec, TextSize), @@ -58106,14 +58236,14 @@ fn __action1475< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1251( + __action1256( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1476< +fn __action1482< >( __0: (TextSize, ast::Expr, TextSize), ) -> (Option<(TextSize, TextSize, Option)>, ast::Expr) @@ -58125,14 +58255,14 @@ fn __action1476< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1251( + __action1256( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1477< +fn __action1483< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58148,7 +58278,7 @@ fn __action1477< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1397( __0, __1, __2, @@ -58159,7 +58289,7 @@ fn __action1477< } #[allow(clippy::too_many_arguments)] -fn __action1478< +fn __action1484< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58175,7 +58305,7 @@ fn __action1478< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1397( __0, __1, __2, @@ -58186,7 +58316,7 @@ fn __action1478< } #[allow(clippy::too_many_arguments)] -fn __action1479< +fn __action1485< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58201,7 +58331,7 @@ fn __action1479< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1392( + __action1398( __0, __1, __2, @@ -58211,7 +58341,7 @@ fn __action1479< } #[allow(clippy::too_many_arguments)] -fn __action1480< +fn __action1486< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58226,7 +58356,7 @@ fn __action1480< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1392( + __action1398( __0, __1, __2, @@ -58236,7 +58366,7 @@ fn __action1480< } #[allow(clippy::too_many_arguments)] -fn __action1481< +fn __action1487< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58267,7 +58397,7 @@ fn __action1481< } #[allow(clippy::too_many_arguments)] -fn __action1482< +fn __action1488< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58298,7 +58428,7 @@ fn __action1482< } #[allow(clippy::too_many_arguments)] -fn __action1483< +fn __action1489< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58323,7 +58453,7 @@ fn __action1483< } #[allow(clippy::too_many_arguments)] -fn __action1484< +fn __action1490< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58348,7 +58478,7 @@ fn __action1484< } #[allow(clippy::too_many_arguments)] -fn __action1485< +fn __action1491< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58367,7 +58497,7 @@ fn __action1485< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1046( + __action1049( __temp0, __0, __1, @@ -58381,7 +58511,7 @@ fn __action1485< } #[allow(clippy::too_many_arguments)] -fn __action1486< +fn __action1492< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58400,7 +58530,7 @@ fn __action1486< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1046( + __action1049( __temp0, __1, __2, @@ -58414,7 +58544,7 @@ fn __action1486< } #[allow(clippy::too_many_arguments)] -fn __action1487< +fn __action1493< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58431,7 +58561,7 @@ fn __action1487< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1047( + __action1050( __temp0, __0, __1, @@ -58443,7 +58573,7 @@ fn __action1487< } #[allow(clippy::too_many_arguments)] -fn __action1488< +fn __action1494< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58460,7 +58590,7 @@ fn __action1488< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1047( + __action1050( __temp0, __1, __2, @@ -58472,7 +58602,7 @@ fn __action1488< } #[allow(clippy::too_many_arguments)] -fn __action1489< +fn __action1495< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58490,7 +58620,7 @@ fn __action1489< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1048( + __action1051( __temp0, __0, __1, @@ -58503,7 +58633,7 @@ fn __action1489< } #[allow(clippy::too_many_arguments)] -fn __action1490< +fn __action1496< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58521,7 +58651,7 @@ fn __action1490< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1048( + __action1051( __temp0, __1, __2, @@ -58534,7 +58664,7 @@ fn __action1490< } #[allow(clippy::too_many_arguments)] -fn __action1491< +fn __action1497< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58550,7 +58680,7 @@ fn __action1491< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1049( + __action1052( __temp0, __0, __1, @@ -58561,7 +58691,7 @@ fn __action1491< } #[allow(clippy::too_many_arguments)] -fn __action1492< +fn __action1498< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58577,7 +58707,7 @@ fn __action1492< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1049( + __action1052( __temp0, __1, __2, @@ -58588,7 +58718,7 @@ fn __action1492< } #[allow(clippy::too_many_arguments)] -fn __action1493< +fn __action1499< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58601,7 +58731,7 @@ fn __action1493< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1178( + __action1181( __0, __temp0, __2, @@ -58609,7 +58739,7 @@ fn __action1493< } #[allow(clippy::too_many_arguments)] -fn __action1494< +fn __action1500< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58622,7 +58752,7 @@ fn __action1494< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1178( + __action1181( __0, __temp0, __1, @@ -58630,7 +58760,7 @@ fn __action1494< } #[allow(clippy::too_many_arguments)] -fn __action1495< +fn __action1501< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58643,7 +58773,7 @@ fn __action1495< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1201( + __action1204( __0, __temp0, __2, @@ -58651,7 +58781,7 @@ fn __action1495< } #[allow(clippy::too_many_arguments)] -fn __action1496< +fn __action1502< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58664,7 +58794,7 @@ fn __action1496< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1201( + __action1204( __0, __temp0, __1, @@ -58672,7 +58802,7 @@ fn __action1496< } #[allow(clippy::too_many_arguments)] -fn __action1497< +fn __action1503< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -58691,7 +58821,7 @@ fn __action1497< } #[allow(clippy::too_many_arguments)] -fn __action1498< +fn __action1504< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> @@ -58710,7 +58840,7 @@ fn __action1498< } #[allow(clippy::too_many_arguments)] -fn __action1499< +fn __action1505< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58719,7 +58849,7 @@ fn __action1499< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1260( + let __temp0 = __action1266( __0, __1, __2, @@ -58731,14 +58861,14 @@ fn __action1499< } #[allow(clippy::too_many_arguments)] -fn __action1500< +fn __action1506< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1261( + let __temp0 = __action1267( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58748,7 +58878,7 @@ fn __action1500< } #[allow(clippy::too_many_arguments)] -fn __action1501< +fn __action1507< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58759,7 +58889,7 @@ fn __action1501< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1260( + let __temp0 = __action1266( __2, __3, __4, @@ -58773,7 +58903,7 @@ fn __action1501< } #[allow(clippy::too_many_arguments)] -fn __action1502< +fn __action1508< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58782,7 +58912,7 @@ fn __action1502< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1261( + let __temp0 = __action1267( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -58794,7 +58924,7 @@ fn __action1502< } #[allow(clippy::too_many_arguments)] -fn __action1503< +fn __action1509< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58803,7 +58933,7 @@ fn __action1503< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1262( + let __temp0 = __action1268( __0, __1, __2, @@ -58815,14 +58945,14 @@ fn __action1503< } #[allow(clippy::too_many_arguments)] -fn __action1504< +fn __action1510< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1263( + let __temp0 = __action1269( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58832,7 +58962,7 @@ fn __action1504< } #[allow(clippy::too_many_arguments)] -fn __action1505< +fn __action1511< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58843,7 +58973,7 @@ fn __action1505< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1262( + let __temp0 = __action1268( __2, __3, __4, @@ -58857,7 +58987,7 @@ fn __action1505< } #[allow(clippy::too_many_arguments)] -fn __action1506< +fn __action1512< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58866,7 +58996,7 @@ fn __action1506< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1263( + let __temp0 = __action1269( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -58878,7 +59008,7 @@ fn __action1506< } #[allow(clippy::too_many_arguments)] -fn __action1507< +fn __action1513< >( __0: (TextSize, ast::Identifier, TextSize), ) -> (Option, Option) @@ -58897,7 +59027,7 @@ fn __action1507< } #[allow(clippy::too_many_arguments)] -fn __action1508< +fn __action1514< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58916,7 +59046,7 @@ fn __action1508< } #[allow(clippy::too_many_arguments)] -fn __action1509< +fn __action1515< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58929,7 +59059,7 @@ fn __action1509< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1163( + __action1166( __0, __temp0, __2, @@ -58937,7 +59067,7 @@ fn __action1509< } #[allow(clippy::too_many_arguments)] -fn __action1510< +fn __action1516< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58950,7 +59080,7 @@ fn __action1510< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1163( + __action1166( __0, __temp0, __1, @@ -58958,7 +59088,7 @@ fn __action1510< } #[allow(clippy::too_many_arguments)] -fn __action1511< +fn __action1517< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58971,7 +59101,7 @@ fn __action1511< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1188( + __action1191( __0, __temp0, __2, @@ -58979,7 +59109,7 @@ fn __action1511< } #[allow(clippy::too_many_arguments)] -fn __action1512< +fn __action1518< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58992,7 +59122,7 @@ fn __action1512< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1188( + __action1191( __0, __temp0, __1, @@ -59000,7 +59130,7 @@ fn __action1512< } #[allow(clippy::too_many_arguments)] -fn __action1513< +fn __action1519< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59017,7 +59147,7 @@ fn __action1513< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1303( __temp0, __1, __2, @@ -59029,7 +59159,7 @@ fn __action1513< } #[allow(clippy::too_many_arguments)] -fn __action1514< +fn __action1520< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59050,7 +59180,7 @@ fn __action1514< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1303( __temp0, __3, __4, @@ -59062,7 +59192,7 @@ fn __action1514< } #[allow(clippy::too_many_arguments)] -fn __action1515< +fn __action1521< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59085,7 +59215,7 @@ fn __action1515< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1303( __temp0, __4, __5, @@ -59097,7 +59227,7 @@ fn __action1515< } #[allow(clippy::too_many_arguments)] -fn __action1516< +fn __action1522< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59113,7 +59243,7 @@ fn __action1516< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1304( __temp0, __1, __2, @@ -59124,7 +59254,7 @@ fn __action1516< } #[allow(clippy::too_many_arguments)] -fn __action1517< +fn __action1523< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59144,7 +59274,7 @@ fn __action1517< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1304( __temp0, __3, __4, @@ -59155,7 +59285,7 @@ fn __action1517< } #[allow(clippy::too_many_arguments)] -fn __action1518< +fn __action1524< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59177,7 +59307,7 @@ fn __action1518< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1304( __temp0, __4, __5, @@ -59188,7 +59318,7 @@ fn __action1518< } #[allow(clippy::too_many_arguments)] -fn __action1519< +fn __action1525< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59206,7 +59336,7 @@ fn __action1519< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1305( __temp0, __1, __2, @@ -59219,7 +59349,7 @@ fn __action1519< } #[allow(clippy::too_many_arguments)] -fn __action1520< +fn __action1526< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59241,7 +59371,7 @@ fn __action1520< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1305( __temp0, __3, __4, @@ -59254,7 +59384,7 @@ fn __action1520< } #[allow(clippy::too_many_arguments)] -fn __action1521< +fn __action1527< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59278,7 +59408,7 @@ fn __action1521< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1305( __temp0, __4, __5, @@ -59291,7 +59421,7 @@ fn __action1521< } #[allow(clippy::too_many_arguments)] -fn __action1522< +fn __action1528< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59308,7 +59438,7 @@ fn __action1522< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1306( __temp0, __1, __2, @@ -59320,7 +59450,7 @@ fn __action1522< } #[allow(clippy::too_many_arguments)] -fn __action1523< +fn __action1529< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59341,7 +59471,7 @@ fn __action1523< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1306( __temp0, __3, __4, @@ -59353,7 +59483,7 @@ fn __action1523< } #[allow(clippy::too_many_arguments)] -fn __action1524< +fn __action1530< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59376,7 +59506,7 @@ fn __action1524< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1306( __temp0, __4, __5, @@ -59388,7 +59518,7 @@ fn __action1524< } #[allow(clippy::too_many_arguments)] -fn __action1525< +fn __action1531< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59403,7 +59533,7 @@ fn __action1525< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1307( __temp0, __1, __2, @@ -59413,7 +59543,7 @@ fn __action1525< } #[allow(clippy::too_many_arguments)] -fn __action1526< +fn __action1532< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59432,7 +59562,7 @@ fn __action1526< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1307( __temp0, __3, __4, @@ -59442,7 +59572,7 @@ fn __action1526< } #[allow(clippy::too_many_arguments)] -fn __action1527< +fn __action1533< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59463,7 +59593,7 @@ fn __action1527< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1307( __temp0, __4, __5, @@ -59473,7 +59603,7 @@ fn __action1527< } #[allow(clippy::too_many_arguments)] -fn __action1528< +fn __action1534< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59487,7 +59617,7 @@ fn __action1528< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1308( __temp0, __1, __2, @@ -59496,7 +59626,7 @@ fn __action1528< } #[allow(clippy::too_many_arguments)] -fn __action1529< +fn __action1535< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59514,7 +59644,7 @@ fn __action1529< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1308( __temp0, __3, __4, @@ -59523,7 +59653,7 @@ fn __action1529< } #[allow(clippy::too_many_arguments)] -fn __action1530< +fn __action1536< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59543,7 +59673,7 @@ fn __action1530< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1308( __temp0, __4, __5, @@ -59552,7 +59682,7 @@ fn __action1530< } #[allow(clippy::too_many_arguments)] -fn __action1531< +fn __action1537< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59568,7 +59698,7 @@ fn __action1531< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1309( __temp0, __1, __2, @@ -59579,7 +59709,7 @@ fn __action1531< } #[allow(clippy::too_many_arguments)] -fn __action1532< +fn __action1538< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59599,7 +59729,7 @@ fn __action1532< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1309( __temp0, __3, __4, @@ -59610,7 +59740,7 @@ fn __action1532< } #[allow(clippy::too_many_arguments)] -fn __action1533< +fn __action1539< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59632,7 +59762,7 @@ fn __action1533< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1309( __temp0, __4, __5, @@ -59643,7 +59773,7 @@ fn __action1533< } #[allow(clippy::too_many_arguments)] -fn __action1534< +fn __action1540< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59658,7 +59788,7 @@ fn __action1534< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1310( __temp0, __1, __2, @@ -59668,7 +59798,7 @@ fn __action1534< } #[allow(clippy::too_many_arguments)] -fn __action1535< +fn __action1541< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59687,7 +59817,7 @@ fn __action1535< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1310( __temp0, __3, __4, @@ -59697,7 +59827,7 @@ fn __action1535< } #[allow(clippy::too_many_arguments)] -fn __action1536< +fn __action1542< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59718,7 +59848,7 @@ fn __action1536< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1310( __temp0, __4, __5, @@ -59728,7 +59858,7 @@ fn __action1536< } #[allow(clippy::too_many_arguments)] -fn __action1537< +fn __action1543< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59740,14 +59870,14 @@ fn __action1537< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1311( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1538< +fn __action1544< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59763,14 +59893,14 @@ fn __action1538< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1311( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1539< +fn __action1545< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59788,14 +59918,14 @@ fn __action1539< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1311( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1540< +fn __action1546< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59811,7 +59941,7 @@ fn __action1540< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1312( __temp0, __1, __2, @@ -59822,7 +59952,7 @@ fn __action1540< } #[allow(clippy::too_many_arguments)] -fn __action1541< +fn __action1547< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59842,7 +59972,7 @@ fn __action1541< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1312( __temp0, __3, __4, @@ -59853,7 +59983,7 @@ fn __action1541< } #[allow(clippy::too_many_arguments)] -fn __action1542< +fn __action1548< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59875,7 +60005,7 @@ fn __action1542< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1312( __temp0, __4, __5, @@ -59886,7 +60016,7 @@ fn __action1542< } #[allow(clippy::too_many_arguments)] -fn __action1543< +fn __action1549< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59901,7 +60031,7 @@ fn __action1543< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1313( __temp0, __1, __2, @@ -59911,7 +60041,7 @@ fn __action1543< } #[allow(clippy::too_many_arguments)] -fn __action1544< +fn __action1550< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59930,7 +60060,7 @@ fn __action1544< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1313( __temp0, __3, __4, @@ -59940,7 +60070,7 @@ fn __action1544< } #[allow(clippy::too_many_arguments)] -fn __action1545< +fn __action1551< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59961,7 +60091,7 @@ fn __action1545< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1313( __temp0, __4, __5, @@ -59971,7 +60101,7 @@ fn __action1545< } #[allow(clippy::too_many_arguments)] -fn __action1546< +fn __action1552< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59988,7 +60118,7 @@ fn __action1546< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1314( __temp0, __1, __2, @@ -60000,7 +60130,7 @@ fn __action1546< } #[allow(clippy::too_many_arguments)] -fn __action1547< +fn __action1553< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60021,7 +60151,7 @@ fn __action1547< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1314( __temp0, __3, __4, @@ -60033,7 +60163,7 @@ fn __action1547< } #[allow(clippy::too_many_arguments)] -fn __action1548< +fn __action1554< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60056,7 +60186,7 @@ fn __action1548< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1314( __temp0, __4, __5, @@ -60068,7 +60198,7 @@ fn __action1548< } #[allow(clippy::too_many_arguments)] -fn __action1549< +fn __action1555< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60084,7 +60214,7 @@ fn __action1549< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1315( __temp0, __1, __2, @@ -60095,7 +60225,7 @@ fn __action1549< } #[allow(clippy::too_many_arguments)] -fn __action1550< +fn __action1556< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60115,7 +60245,7 @@ fn __action1550< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1315( __temp0, __3, __4, @@ -60126,7 +60256,7 @@ fn __action1550< } #[allow(clippy::too_many_arguments)] -fn __action1551< +fn __action1557< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60148,7 +60278,7 @@ fn __action1551< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1315( __temp0, __4, __5, @@ -60159,7 +60289,7 @@ fn __action1551< } #[allow(clippy::too_many_arguments)] -fn __action1552< +fn __action1558< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60173,7 +60303,7 @@ fn __action1552< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1316( __temp0, __1, __2, @@ -60182,7 +60312,7 @@ fn __action1552< } #[allow(clippy::too_many_arguments)] -fn __action1553< +fn __action1559< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60200,7 +60330,7 @@ fn __action1553< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1316( __temp0, __3, __4, @@ -60209,7 +60339,7 @@ fn __action1553< } #[allow(clippy::too_many_arguments)] -fn __action1554< +fn __action1560< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60229,7 +60359,7 @@ fn __action1554< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1316( __temp0, __4, __5, @@ -60238,7 +60368,7 @@ fn __action1554< } #[allow(clippy::too_many_arguments)] -fn __action1555< +fn __action1561< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60251,7 +60381,7 @@ fn __action1555< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1317( __temp0, __1, __2, @@ -60259,7 +60389,7 @@ fn __action1555< } #[allow(clippy::too_many_arguments)] -fn __action1556< +fn __action1562< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60276,7 +60406,7 @@ fn __action1556< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1317( __temp0, __3, __4, @@ -60284,7 +60414,7 @@ fn __action1556< } #[allow(clippy::too_many_arguments)] -fn __action1557< +fn __action1563< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60303,7 +60433,7 @@ fn __action1557< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1317( __temp0, __4, __5, @@ -60311,7 +60441,7 @@ fn __action1557< } #[allow(clippy::too_many_arguments)] -fn __action1558< +fn __action1564< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60326,7 +60456,7 @@ fn __action1558< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1318( __temp0, __1, __2, @@ -60336,7 +60466,7 @@ fn __action1558< } #[allow(clippy::too_many_arguments)] -fn __action1559< +fn __action1565< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60355,7 +60485,7 @@ fn __action1559< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1318( __temp0, __3, __4, @@ -60365,7 +60495,7 @@ fn __action1559< } #[allow(clippy::too_many_arguments)] -fn __action1560< +fn __action1566< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60386,7 +60516,7 @@ fn __action1560< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1318( __temp0, __4, __5, @@ -60396,7 +60526,7 @@ fn __action1560< } #[allow(clippy::too_many_arguments)] -fn __action1561< +fn __action1567< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60410,7 +60540,7 @@ fn __action1561< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1319( __temp0, __1, __2, @@ -60419,7 +60549,7 @@ fn __action1561< } #[allow(clippy::too_many_arguments)] -fn __action1562< +fn __action1568< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60437,7 +60567,7 @@ fn __action1562< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1319( __temp0, __3, __4, @@ -60446,7 +60576,7 @@ fn __action1562< } #[allow(clippy::too_many_arguments)] -fn __action1563< +fn __action1569< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60466,7 +60596,7 @@ fn __action1563< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1319( __temp0, __4, __5, @@ -60475,7 +60605,7 @@ fn __action1563< } #[allow(clippy::too_many_arguments)] -fn __action1564< +fn __action1570< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -60486,13 +60616,13 @@ fn __action1564< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1320( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1565< +fn __action1571< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60507,13 +60637,13 @@ fn __action1565< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1320( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1566< +fn __action1572< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60530,13 +60660,13 @@ fn __action1566< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1320( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1567< +fn __action1573< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60550,7 +60680,7 @@ fn __action1567< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1321( __temp0, __1, __2, @@ -60559,7 +60689,7 @@ fn __action1567< } #[allow(clippy::too_many_arguments)] -fn __action1568< +fn __action1574< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60577,7 +60707,7 @@ fn __action1568< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1321( __temp0, __3, __4, @@ -60586,7 +60716,7 @@ fn __action1568< } #[allow(clippy::too_many_arguments)] -fn __action1569< +fn __action1575< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60606,7 +60736,7 @@ fn __action1569< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1321( __temp0, __4, __5, @@ -60615,7 +60745,7 @@ fn __action1569< } #[allow(clippy::too_many_arguments)] -fn __action1570< +fn __action1576< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60628,7 +60758,7 @@ fn __action1570< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1322( __temp0, __1, __2, @@ -60636,7 +60766,7 @@ fn __action1570< } #[allow(clippy::too_many_arguments)] -fn __action1571< +fn __action1577< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60653,7 +60783,7 @@ fn __action1571< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1322( __temp0, __3, __4, @@ -60661,7 +60791,7 @@ fn __action1571< } #[allow(clippy::too_many_arguments)] -fn __action1572< +fn __action1578< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60680,7 +60810,7 @@ fn __action1572< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1322( __temp0, __4, __5, @@ -60688,7 +60818,7 @@ fn __action1572< } #[allow(clippy::too_many_arguments)] -fn __action1573< +fn __action1579< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60705,7 +60835,7 @@ fn __action1573< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1341( __temp0, __1, __2, @@ -60717,7 +60847,7 @@ fn __action1573< } #[allow(clippy::too_many_arguments)] -fn __action1574< +fn __action1580< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60738,7 +60868,7 @@ fn __action1574< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1341( __temp0, __3, __4, @@ -60750,7 +60880,7 @@ fn __action1574< } #[allow(clippy::too_many_arguments)] -fn __action1575< +fn __action1581< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60773,7 +60903,7 @@ fn __action1575< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1341( __temp0, __4, __5, @@ -60785,7 +60915,7 @@ fn __action1575< } #[allow(clippy::too_many_arguments)] -fn __action1576< +fn __action1582< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60801,7 +60931,7 @@ fn __action1576< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1342( __temp0, __1, __2, @@ -60812,7 +60942,7 @@ fn __action1576< } #[allow(clippy::too_many_arguments)] -fn __action1577< +fn __action1583< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60832,7 +60962,7 @@ fn __action1577< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1342( __temp0, __3, __4, @@ -60843,7 +60973,7 @@ fn __action1577< } #[allow(clippy::too_many_arguments)] -fn __action1578< +fn __action1584< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60865,7 +60995,7 @@ fn __action1578< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1342( __temp0, __4, __5, @@ -60876,7 +61006,7 @@ fn __action1578< } #[allow(clippy::too_many_arguments)] -fn __action1579< +fn __action1585< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60894,7 +61024,7 @@ fn __action1579< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1343( __temp0, __1, __2, @@ -60907,7 +61037,7 @@ fn __action1579< } #[allow(clippy::too_many_arguments)] -fn __action1580< +fn __action1586< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60929,7 +61059,7 @@ fn __action1580< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1343( __temp0, __3, __4, @@ -60942,7 +61072,7 @@ fn __action1580< } #[allow(clippy::too_many_arguments)] -fn __action1581< +fn __action1587< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60966,7 +61096,7 @@ fn __action1581< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1343( __temp0, __4, __5, @@ -60979,7 +61109,7 @@ fn __action1581< } #[allow(clippy::too_many_arguments)] -fn __action1582< +fn __action1588< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60996,7 +61126,7 @@ fn __action1582< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1344( __temp0, __1, __2, @@ -61008,7 +61138,7 @@ fn __action1582< } #[allow(clippy::too_many_arguments)] -fn __action1583< +fn __action1589< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61029,7 +61159,7 @@ fn __action1583< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1344( __temp0, __3, __4, @@ -61041,7 +61171,7 @@ fn __action1583< } #[allow(clippy::too_many_arguments)] -fn __action1584< +fn __action1590< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61064,7 +61194,7 @@ fn __action1584< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1344( __temp0, __4, __5, @@ -61076,7 +61206,7 @@ fn __action1584< } #[allow(clippy::too_many_arguments)] -fn __action1585< +fn __action1591< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61091,7 +61221,7 @@ fn __action1585< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1345( __temp0, __1, __2, @@ -61101,7 +61231,7 @@ fn __action1585< } #[allow(clippy::too_many_arguments)] -fn __action1586< +fn __action1592< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61120,7 +61250,7 @@ fn __action1586< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1345( __temp0, __3, __4, @@ -61130,7 +61260,7 @@ fn __action1586< } #[allow(clippy::too_many_arguments)] -fn __action1587< +fn __action1593< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61151,7 +61281,7 @@ fn __action1587< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1345( __temp0, __4, __5, @@ -61161,7 +61291,7 @@ fn __action1587< } #[allow(clippy::too_many_arguments)] -fn __action1588< +fn __action1594< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61175,7 +61305,7 @@ fn __action1588< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1346( __temp0, __1, __2, @@ -61184,7 +61314,7 @@ fn __action1588< } #[allow(clippy::too_many_arguments)] -fn __action1589< +fn __action1595< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61202,7 +61332,7 @@ fn __action1589< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1346( __temp0, __3, __4, @@ -61211,7 +61341,7 @@ fn __action1589< } #[allow(clippy::too_many_arguments)] -fn __action1590< +fn __action1596< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61231,7 +61361,7 @@ fn __action1590< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1346( __temp0, __4, __5, @@ -61240,7 +61370,7 @@ fn __action1590< } #[allow(clippy::too_many_arguments)] -fn __action1591< +fn __action1597< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61256,7 +61386,7 @@ fn __action1591< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1347( __temp0, __1, __2, @@ -61267,7 +61397,7 @@ fn __action1591< } #[allow(clippy::too_many_arguments)] -fn __action1592< +fn __action1598< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61287,7 +61417,7 @@ fn __action1592< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1347( __temp0, __3, __4, @@ -61298,7 +61428,7 @@ fn __action1592< } #[allow(clippy::too_many_arguments)] -fn __action1593< +fn __action1599< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61320,7 +61450,7 @@ fn __action1593< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1347( __temp0, __4, __5, @@ -61331,7 +61461,7 @@ fn __action1593< } #[allow(clippy::too_many_arguments)] -fn __action1594< +fn __action1600< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61346,7 +61476,7 @@ fn __action1594< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1348( __temp0, __1, __2, @@ -61356,7 +61486,7 @@ fn __action1594< } #[allow(clippy::too_many_arguments)] -fn __action1595< +fn __action1601< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61375,7 +61505,7 @@ fn __action1595< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1348( __temp0, __3, __4, @@ -61385,7 +61515,7 @@ fn __action1595< } #[allow(clippy::too_many_arguments)] -fn __action1596< +fn __action1602< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61406,7 +61536,7 @@ fn __action1596< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1348( __temp0, __4, __5, @@ -61416,7 +61546,7 @@ fn __action1596< } #[allow(clippy::too_many_arguments)] -fn __action1597< +fn __action1603< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61428,14 +61558,14 @@ fn __action1597< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1349( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1598< +fn __action1604< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61451,14 +61581,14 @@ fn __action1598< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1349( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1599< +fn __action1605< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61476,14 +61606,14 @@ fn __action1599< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1349( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1600< +fn __action1606< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61499,7 +61629,7 @@ fn __action1600< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1350( __temp0, __1, __2, @@ -61510,7 +61640,7 @@ fn __action1600< } #[allow(clippy::too_many_arguments)] -fn __action1601< +fn __action1607< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61530,7 +61660,7 @@ fn __action1601< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1350( __temp0, __3, __4, @@ -61541,7 +61671,7 @@ fn __action1601< } #[allow(clippy::too_many_arguments)] -fn __action1602< +fn __action1608< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61563,7 +61693,7 @@ fn __action1602< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1350( __temp0, __4, __5, @@ -61574,7 +61704,7 @@ fn __action1602< } #[allow(clippy::too_many_arguments)] -fn __action1603< +fn __action1609< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61589,7 +61719,7 @@ fn __action1603< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1351( __temp0, __1, __2, @@ -61599,7 +61729,7 @@ fn __action1603< } #[allow(clippy::too_many_arguments)] -fn __action1604< +fn __action1610< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61618,7 +61748,7 @@ fn __action1604< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1351( __temp0, __3, __4, @@ -61628,7 +61758,7 @@ fn __action1604< } #[allow(clippy::too_many_arguments)] -fn __action1605< +fn __action1611< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61649,7 +61779,7 @@ fn __action1605< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1351( __temp0, __4, __5, @@ -61659,7 +61789,7 @@ fn __action1605< } #[allow(clippy::too_many_arguments)] -fn __action1606< +fn __action1612< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61676,7 +61806,7 @@ fn __action1606< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1352( __temp0, __1, __2, @@ -61688,7 +61818,7 @@ fn __action1606< } #[allow(clippy::too_many_arguments)] -fn __action1607< +fn __action1613< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61709,7 +61839,7 @@ fn __action1607< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1352( __temp0, __3, __4, @@ -61721,7 +61851,7 @@ fn __action1607< } #[allow(clippy::too_many_arguments)] -fn __action1608< +fn __action1614< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61744,7 +61874,7 @@ fn __action1608< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1352( __temp0, __4, __5, @@ -61756,7 +61886,7 @@ fn __action1608< } #[allow(clippy::too_many_arguments)] -fn __action1609< +fn __action1615< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61772,7 +61902,7 @@ fn __action1609< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1353( __temp0, __1, __2, @@ -61783,7 +61913,7 @@ fn __action1609< } #[allow(clippy::too_many_arguments)] -fn __action1610< +fn __action1616< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61803,7 +61933,7 @@ fn __action1610< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1353( __temp0, __3, __4, @@ -61814,7 +61944,7 @@ fn __action1610< } #[allow(clippy::too_many_arguments)] -fn __action1611< +fn __action1617< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61836,7 +61966,7 @@ fn __action1611< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1353( __temp0, __4, __5, @@ -61847,7 +61977,7 @@ fn __action1611< } #[allow(clippy::too_many_arguments)] -fn __action1612< +fn __action1618< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61861,7 +61991,7 @@ fn __action1612< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1354( __temp0, __1, __2, @@ -61870,7 +62000,7 @@ fn __action1612< } #[allow(clippy::too_many_arguments)] -fn __action1613< +fn __action1619< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61888,7 +62018,7 @@ fn __action1613< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1354( __temp0, __3, __4, @@ -61897,7 +62027,7 @@ fn __action1613< } #[allow(clippy::too_many_arguments)] -fn __action1614< +fn __action1620< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61917,7 +62047,7 @@ fn __action1614< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1354( __temp0, __4, __5, @@ -61926,7 +62056,7 @@ fn __action1614< } #[allow(clippy::too_many_arguments)] -fn __action1615< +fn __action1621< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61939,7 +62069,7 @@ fn __action1615< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1355( __temp0, __1, __2, @@ -61947,7 +62077,7 @@ fn __action1615< } #[allow(clippy::too_many_arguments)] -fn __action1616< +fn __action1622< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61964,7 +62094,7 @@ fn __action1616< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1355( __temp0, __3, __4, @@ -61972,7 +62102,7 @@ fn __action1616< } #[allow(clippy::too_many_arguments)] -fn __action1617< +fn __action1623< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61991,7 +62121,7 @@ fn __action1617< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1355( __temp0, __4, __5, @@ -61999,7 +62129,7 @@ fn __action1617< } #[allow(clippy::too_many_arguments)] -fn __action1618< +fn __action1624< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62014,7 +62144,7 @@ fn __action1618< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1356( __temp0, __1, __2, @@ -62024,7 +62154,7 @@ fn __action1618< } #[allow(clippy::too_many_arguments)] -fn __action1619< +fn __action1625< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62043,7 +62173,7 @@ fn __action1619< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1356( __temp0, __3, __4, @@ -62053,7 +62183,7 @@ fn __action1619< } #[allow(clippy::too_many_arguments)] -fn __action1620< +fn __action1626< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62074,7 +62204,7 @@ fn __action1620< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1356( __temp0, __4, __5, @@ -62084,7 +62214,7 @@ fn __action1620< } #[allow(clippy::too_many_arguments)] -fn __action1621< +fn __action1627< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62098,7 +62228,7 @@ fn __action1621< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1357( __temp0, __1, __2, @@ -62107,7 +62237,7 @@ fn __action1621< } #[allow(clippy::too_many_arguments)] -fn __action1622< +fn __action1628< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62125,7 +62255,7 @@ fn __action1622< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1357( __temp0, __3, __4, @@ -62134,7 +62264,7 @@ fn __action1622< } #[allow(clippy::too_many_arguments)] -fn __action1623< +fn __action1629< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62154,7 +62284,7 @@ fn __action1623< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1357( __temp0, __4, __5, @@ -62163,7 +62293,7 @@ fn __action1623< } #[allow(clippy::too_many_arguments)] -fn __action1624< +fn __action1630< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -62174,13 +62304,13 @@ fn __action1624< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1358( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1625< +fn __action1631< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62195,13 +62325,13 @@ fn __action1625< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1358( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1626< +fn __action1632< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62218,13 +62348,13 @@ fn __action1626< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1358( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1627< +fn __action1633< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62238,7 +62368,7 @@ fn __action1627< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1359( __temp0, __1, __2, @@ -62247,7 +62377,7 @@ fn __action1627< } #[allow(clippy::too_many_arguments)] -fn __action1628< +fn __action1634< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62265,7 +62395,7 @@ fn __action1628< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1359( __temp0, __3, __4, @@ -62274,7 +62404,7 @@ fn __action1628< } #[allow(clippy::too_many_arguments)] -fn __action1629< +fn __action1635< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62294,7 +62424,7 @@ fn __action1629< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1359( __temp0, __4, __5, @@ -62303,7 +62433,7 @@ fn __action1629< } #[allow(clippy::too_many_arguments)] -fn __action1630< +fn __action1636< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62316,7 +62446,7 @@ fn __action1630< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1360( __temp0, __1, __2, @@ -62324,7 +62454,7 @@ fn __action1630< } #[allow(clippy::too_many_arguments)] -fn __action1631< +fn __action1637< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62341,7 +62471,7 @@ fn __action1631< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1360( __temp0, __3, __4, @@ -62349,7 +62479,7 @@ fn __action1631< } #[allow(clippy::too_many_arguments)] -fn __action1632< +fn __action1638< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62368,7 +62498,7 @@ fn __action1632< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1360( __temp0, __4, __5, @@ -62376,7 +62506,7 @@ fn __action1632< } #[allow(clippy::too_many_arguments)] -fn __action1633< +fn __action1639< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -62390,7 +62520,7 @@ fn __action1633< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1270( + __action1276( __0, __temp0, __2, @@ -62399,7 +62529,7 @@ fn __action1633< } #[allow(clippy::too_many_arguments)] -fn __action1634< +fn __action1640< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62413,7 +62543,7 @@ fn __action1634< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1270( + __action1276( __0, __temp0, __1, @@ -62422,7 +62552,7 @@ fn __action1634< } #[allow(clippy::too_many_arguments)] -fn __action1635< +fn __action1641< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62436,7 +62566,7 @@ fn __action1635< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1398( + __action1404( __0, __1, __2, @@ -62445,7 +62575,7 @@ fn __action1635< } #[allow(clippy::too_many_arguments)] -fn __action1636< +fn __action1642< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62459,7 +62589,7 @@ fn __action1636< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1398( + __action1404( __0, __1, __2, @@ -62468,7 +62598,7 @@ fn __action1636< } #[allow(clippy::too_many_arguments)] -fn __action1637< +fn __action1643< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62482,7 +62612,7 @@ fn __action1637< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action763( + __action765( __0, __temp0, __2, @@ -62491,7 +62621,7 @@ fn __action1637< } #[allow(clippy::too_many_arguments)] -fn __action1638< +fn __action1644< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62505,7 +62635,7 @@ fn __action1638< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action763( + __action765( __0, __temp0, __1, @@ -62514,7 +62644,7 @@ fn __action1638< } #[allow(clippy::too_many_arguments)] -fn __action1639< +fn __action1645< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62526,14 +62656,14 @@ fn __action1639< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action880( + __action883( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1640< +fn __action1646< >( __0: (TextSize, token::Tok, TextSize), ) -> Option @@ -62545,14 +62675,14 @@ fn __action1640< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action880( + __action883( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1641< +fn __action1647< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62572,7 +62702,7 @@ fn __action1641< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1641( __temp0, __1, __temp1, @@ -62581,7 +62711,7 @@ fn __action1641< } #[allow(clippy::too_many_arguments)] -fn __action1642< +fn __action1648< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62601,7 +62731,7 @@ fn __action1642< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1641( __temp0, __1, __temp1, @@ -62610,7 +62740,7 @@ fn __action1642< } #[allow(clippy::too_many_arguments)] -fn __action1643< +fn __action1649< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62630,7 +62760,7 @@ fn __action1643< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1641( __temp0, __0, __temp1, @@ -62639,7 +62769,7 @@ fn __action1643< } #[allow(clippy::too_many_arguments)] -fn __action1644< +fn __action1650< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option, TextSize), @@ -62659,7 +62789,7 @@ fn __action1644< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1641( __temp0, __0, __temp1, @@ -62668,7 +62798,7 @@ fn __action1644< } #[allow(clippy::too_many_arguments)] -fn __action1645< +fn __action1651< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62687,7 +62817,7 @@ fn __action1645< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1636( + __action1642( __temp0, __1, __temp1, @@ -62695,7 +62825,7 @@ fn __action1645< } #[allow(clippy::too_many_arguments)] -fn __action1646< +fn __action1652< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62714,7 +62844,7 @@ fn __action1646< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1636( + __action1642( __temp0, __1, __temp1, @@ -62722,7 +62852,7 @@ fn __action1646< } #[allow(clippy::too_many_arguments)] -fn __action1647< +fn __action1653< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62741,7 +62871,7 @@ fn __action1647< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1636( + __action1642( __temp0, __0, __temp1, @@ -62749,7 +62879,7 @@ fn __action1647< } #[allow(clippy::too_many_arguments)] -fn __action1648< +fn __action1654< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -62768,7 +62898,7 @@ fn __action1648< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1636( + __action1642( __temp0, __0, __temp1, @@ -62776,7 +62906,7 @@ fn __action1648< } #[allow(clippy::too_many_arguments)] -fn __action1649< +fn __action1655< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62796,7 +62926,7 @@ fn __action1649< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1070( + __action1073( __0, __1, __2, @@ -62811,7 +62941,7 @@ fn __action1649< } #[allow(clippy::too_many_arguments)] -fn __action1650< +fn __action1656< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62828,7 +62958,7 @@ fn __action1650< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1071( + __action1074( __0, __1, __2, @@ -62840,7 +62970,7 @@ fn __action1650< } #[allow(clippy::too_many_arguments)] -fn __action1651< +fn __action1657< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62859,7 +62989,7 @@ fn __action1651< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1072( + __action1075( __0, __1, __2, @@ -62873,7 +63003,7 @@ fn __action1651< } #[allow(clippy::too_many_arguments)] -fn __action1652< +fn __action1658< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62889,7 +63019,7 @@ fn __action1652< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1073( + __action1076( __0, __1, __2, @@ -62900,7 +63030,7 @@ fn __action1652< } #[allow(clippy::too_many_arguments)] -fn __action1653< +fn __action1659< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -62917,7 +63047,7 @@ fn __action1653< } #[allow(clippy::too_many_arguments)] -fn __action1654< +fn __action1660< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -62934,7 +63064,7 @@ fn __action1654< } #[allow(clippy::too_many_arguments)] -fn __action1655< +fn __action1661< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -62951,7 +63081,7 @@ fn __action1655< } #[allow(clippy::too_many_arguments)] -fn __action1656< +fn __action1662< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62963,14 +63093,14 @@ fn __action1656< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1409( + __action1415( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1657< +fn __action1663< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62983,7 +63113,7 @@ fn __action1657< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1410( + __action1416( __0, __temp0, __2, @@ -62991,7 +63121,7 @@ fn __action1657< } #[allow(clippy::too_many_arguments)] -fn __action1658< +fn __action1664< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62999,18 +63129,18 @@ fn __action1658< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1653( + let __temp0 = __action1659( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1249( + __action1254( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1659< +fn __action1665< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -63022,14 +63152,14 @@ fn __action1659< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1249( + __action1254( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1660< +fn __action1666< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63037,18 +63167,18 @@ fn __action1660< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1653( + let __temp0 = __action1659( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1431( + __action1437( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1661< +fn __action1667< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -63060,31 +63190,31 @@ fn __action1661< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1431( + __action1437( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1662< +fn __action1668< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1655( + let __temp0 = __action1661( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1455( + __action1461( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1663< +fn __action1669< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -63092,18 +63222,18 @@ fn __action1663< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1655( + let __temp0 = __action1661( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1456( + __action1462( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1664< +fn __action1670< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -63112,11 +63242,11 @@ fn __action1664< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1655( + let __temp0 = __action1661( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1243( + __action1248( __temp0, __1, __2, diff --git a/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap index 9ef7e7d1..a9fef6a4 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap @@ -9,18 +9,14 @@ expression: parse_ast target: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), annotation: Name( ExprName { range: 3..6, - id: Identifier( - "int", - ), + id: "int", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap index 51d45cf3..93d0ad00 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap @@ -13,15 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 2..3, + }, ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap index 26c7e5af..d3779056 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap @@ -9,9 +9,7 @@ expression: parse_ast target: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap index df421275..cda4cd3f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap @@ -14,18 +14,14 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), Name( ExprName { range: 4..5, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap index e45727a9..dabec649 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast elt: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -35,9 +31,7 @@ expression: parse_ast target: Name( ExprName { range: 11..12, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap index d947f5e9..2e347778 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap index 46bdb5a2..bcb6e47f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap @@ -12,9 +12,7 @@ expression: parse_ast target: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap index 2688104a..16a9521b 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast elt: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -35,9 +31,7 @@ expression: parse_ast target: Name( ExprName { range: 11..12, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap index 7d589a2b..23ff1aad 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap @@ -14,9 +14,7 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -26,9 +24,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap index 520c44cd..cf21a8a7 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap @@ -13,18 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 2..3, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap index ca889e96..ed3a180d 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap @@ -14,18 +14,14 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), Name( ExprName { range: 4..5, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap index 328a4c42..c0133d6f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap @@ -22,9 +22,7 @@ expression: parse_ast Name( ExprName { range: 10..11, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap index 8250db5f..c27f6287 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap @@ -12,15 +12,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 2..3, + }, ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap index 42e9ed88..3c1740ac 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap @@ -9,9 +9,7 @@ expression: parse_ast target: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap index 476b9c91..6c3c819c 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap @@ -12,18 +12,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 2..3, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap index 1de7d6bf..99dcc867 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap @@ -13,15 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 6..7, + }, ctx: Del, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap index d87ac27b..7f215028 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Del, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap index 067401c2..a863f42b 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap @@ -13,18 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap index 4c163650..071bf37b 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..23, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..17, posonlyargs: [], @@ -20,9 +21,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -32,9 +34,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -44,9 +47,10 @@ Ok( range: 15..16, def: Arg { range: 15..16, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 15..16, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap index 5cffd809..f18c17d4 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..29, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..23, posonlyargs: [], @@ -20,9 +21,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -32,9 +34,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -54,9 +57,10 @@ Ok( range: 18..19, def: Arg { range: 18..19, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 18..19, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap index fa56b395..119e6585 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..13, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..7, posonlyargs: [], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap index fa56b395..119e6585 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..13, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..7, posonlyargs: [], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap index fecef96c..23c7debd 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..32, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..26, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -57,9 +61,10 @@ Ok( range: 18..19, def: Arg { range: 18..19, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 18..19, + }, annotation: None, type_comment: None, }, @@ -69,9 +74,10 @@ Ok( range: 21..22, def: Arg { range: 21..22, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 21..22, + }, annotation: None, type_comment: None, }, @@ -81,9 +87,10 @@ Ok( range: 24..25, def: Arg { range: 24..25, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 24..25, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap index cb5915cb..575f4f47 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..38, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..32, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -57,9 +61,10 @@ Ok( range: 18..19, def: Arg { range: 18..19, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 18..19, + }, annotation: None, type_comment: None, }, @@ -69,9 +74,10 @@ Ok( range: 21..22, def: Arg { range: 21..22, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 21..22, + }, annotation: None, type_comment: None, }, @@ -91,9 +97,10 @@ Ok( range: 27..28, def: Arg { range: 27..28, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 27..28, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap index 6c1203e8..972373c3 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..42, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..36, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -54,9 +58,10 @@ Ok( vararg: Some( Arg { range: 16..20, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 16..20, + }, annotation: None, type_comment: None, }, @@ -66,9 +71,10 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 22..23, + }, annotation: None, type_comment: None, }, @@ -78,9 +84,10 @@ Ok( range: 25..26, def: Arg { range: 25..26, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 25..26, + }, annotation: None, type_comment: None, }, @@ -100,9 +107,10 @@ Ok( range: 31..32, def: Arg { range: 31..32, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 31..32, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap index 653b82ad..27da55e2 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..52, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..46, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -54,9 +58,10 @@ Ok( vararg: Some( Arg { range: 16..20, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 16..20, + }, annotation: None, type_comment: None, }, @@ -66,9 +71,10 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 22..23, + }, annotation: None, type_comment: None, }, @@ -78,9 +84,10 @@ Ok( range: 25..26, def: Arg { range: 25..26, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 25..26, + }, annotation: None, type_comment: None, }, @@ -100,9 +107,10 @@ Ok( range: 31..32, def: Arg { range: 31..32, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 31..32, + }, annotation: None, type_comment: None, }, @@ -122,9 +130,10 @@ Ok( kwarg: Some( Arg { range: 39..45, - arg: Identifier( - "kwargs", - ), + arg: Identifier { + id: "kwargs", + range: 39..45, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap index 15e9d921..e233acc0 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..20, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..14, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap index 2be9059f..fb009e49 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..26, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..20, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -52,9 +55,10 @@ Ok( range: 15..16, def: Arg { range: 15..16, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 15..16, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap index 15e9d921..e233acc0 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..20, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..14, posonlyargs: [], @@ -18,9 +19,10 @@ Ok( range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap index b6d75d32..f7fc7605 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap @@ -20,9 +20,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -32,9 +33,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -44,9 +46,10 @@ Ok( range: 16..17, def: Arg { range: 16..17, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 16..17, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap index 49006523..103741c0 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap @@ -20,9 +20,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -32,9 +33,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -54,9 +56,10 @@ Ok( range: 19..20, def: Arg { range: 19..20, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 19..20, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap index c861f323..3ed7fdcf 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap @@ -18,9 +18,10 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -30,9 +31,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -42,9 +44,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -57,9 +60,10 @@ Ok( range: 19..20, def: Arg { range: 19..20, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 19..20, + }, annotation: None, type_comment: None, }, @@ -69,9 +73,10 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 22..23, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap index c8284d85..4e9797f7 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap @@ -18,9 +18,10 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -30,9 +31,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -42,9 +44,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 13..14, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap index df34bc21..26fc8d66 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap @@ -18,9 +18,10 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -30,9 +31,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -52,9 +54,10 @@ Ok( range: 16..17, def: Arg { range: 16..17, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 16..17, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap b/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap index bfe86746..2a6d4329 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap @@ -43,9 +43,7 @@ Dict( Name( ExprName { range: 13..14, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap b/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap index 52156e59..a94344b0 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap @@ -17,9 +17,10 @@ Call( kind: None, }, ), - attr: Identifier( - "join", - ), + attr: Identifier { + id: "join", + range: 4..8, + }, ctx: Load, }, ), @@ -30,9 +31,7 @@ Call( elt: Name( ExprName { range: 14..17, - id: Identifier( - "sql", - ), + id: "sql", ctx: Load, }, ), @@ -42,9 +41,7 @@ Call( target: Name( ExprName { range: 26..29, - id: Identifier( - "sql", - ), + id: "sql", ctx: Store, }, ), @@ -58,9 +55,7 @@ Call( test: Name( ExprName { range: 65..70, - id: Identifier( - "limit", - ), + id: "limit", ctx: Load, }, ), @@ -80,9 +75,7 @@ Call( right: Name( ExprName { range: 56..61, - id: Identifier( - "limit", - ), + id: "limit", ctx: Load, }, ), @@ -103,9 +96,7 @@ Call( test: Name( ExprName { range: 116..122, - id: Identifier( - "offset", - ), + id: "offset", ctx: Load, }, ), @@ -125,9 +116,7 @@ Call( right: Name( ExprName { range: 105..111, - id: Identifier( - "offset", - ), + id: "offset", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__match.snap b/parser/src/snapshots/rustpython_parser__parser__tests__match.snap index d61cb38c..0de5d0df 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__match.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__match.snap @@ -44,9 +44,10 @@ expression: parse_ast keys: [], patterns: [], rest: Some( - Identifier( - "rest", - ), + Identifier { + id: "rest", + range: 41..45, + }, ), }, ), @@ -61,9 +62,7 @@ expression: parse_ast func: Name( ExprName { range: 62..67, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -71,9 +70,7 @@ expression: parse_ast Name( ExprName { range: 68..72, - id: Identifier( - "rest", - ), + id: "rest", ctx: Load, }, ), @@ -152,9 +149,7 @@ expression: parse_ast cls: Name( ExprName { range: 127..130, - id: Identifier( - "str", - ), + id: "str", ctx: Load, }, ), @@ -174,9 +169,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "label", - ), + Identifier { + id: "label", + range: 143..148, + }, ), }, ), @@ -195,9 +191,7 @@ expression: parse_ast func: Name( ExprName { range: 165..170, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -205,9 +199,7 @@ expression: parse_ast Name( ExprName { range: 171..176, - id: Identifier( - "label", - ), + id: "label", ctx: Load, }, ), @@ -228,9 +220,7 @@ expression: parse_ast subject: Name( ExprName { range: 184..185, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -281,9 +271,7 @@ expression: parse_ast Name( ExprName { range: 213..214, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -311,9 +299,7 @@ expression: parse_ast subject: Name( ExprName { range: 225..226, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -364,9 +350,7 @@ expression: parse_ast Name( ExprName { range: 254..255, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -394,9 +378,7 @@ expression: parse_ast subject: Name( ExprName { range: 266..267, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -433,9 +415,7 @@ expression: parse_ast Name( ExprName { range: 292..293, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap b/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap index 3e170f22..50a3168a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap @@ -19,9 +19,7 @@ expression: parse_ast left: Name( ExprName { range: 1..6, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -29,9 +27,7 @@ expression: parse_ast right: Name( ExprName { range: 8..9, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -41,9 +37,7 @@ expression: parse_ast right: Name( ExprName { range: 12..13, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -52,9 +46,7 @@ expression: parse_ast Name( ExprName { range: 15..16, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -77,9 +69,7 @@ expression: parse_ast left: Name( ExprName { range: 42..47, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -90,9 +80,7 @@ expression: parse_ast left: Name( ExprName { range: 50..51, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -100,9 +88,7 @@ expression: parse_ast right: Name( ExprName { range: 54..55, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -113,9 +99,7 @@ expression: parse_ast Name( ExprName { range: 58..59, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -134,9 +118,7 @@ expression: parse_ast func: Name( ExprName { range: 85..90, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -150,9 +132,7 @@ expression: parse_ast left: Name( ExprName { range: 93..94, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -160,9 +140,7 @@ expression: parse_ast right: Name( ExprName { range: 97..98, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -174,9 +152,7 @@ expression: parse_ast Name( ExprName { range: 100..101, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -198,9 +174,7 @@ expression: parse_ast left: Name( ExprName { range: 129..134, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -211,9 +185,7 @@ expression: parse_ast left: Name( ExprName { range: 136..137, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -221,9 +193,7 @@ expression: parse_ast right: Name( ExprName { range: 140..141, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -235,9 +205,7 @@ expression: parse_ast right: Name( ExprName { range: 144..145, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -257,9 +225,7 @@ expression: parse_ast left: Name( ExprName { range: 172..177, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -270,9 +236,7 @@ expression: parse_ast left: Name( ExprName { range: 180..181, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -280,9 +244,7 @@ expression: parse_ast right: Name( ExprName { range: 184..185, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -294,9 +256,7 @@ expression: parse_ast right: Name( ExprName { range: 189..190, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -319,9 +279,7 @@ expression: parse_ast func: Name( ExprName { range: 217..222, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -333,9 +291,7 @@ expression: parse_ast operand: Name( ExprName { range: 225..226, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -349,9 +305,7 @@ expression: parse_ast right: Name( ExprName { range: 230..231, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -361,9 +315,7 @@ expression: parse_ast right: Name( ExprName { range: 234..235, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), @@ -383,9 +335,7 @@ expression: parse_ast func: Name( ExprName { range: 263..268, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -393,9 +343,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 272..273, + }, ctx: Load, }, ), @@ -413,9 +364,7 @@ expression: parse_ast func: Name( ExprName { range: 290..295, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -431,9 +380,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 301..302, + }, ctx: Load, }, ), @@ -451,9 +401,7 @@ expression: parse_ast func: Name( ExprName { range: 321..326, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -469,9 +417,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 333..334, + }, ctx: Load, }, ), @@ -489,27 +438,24 @@ expression: parse_ast value: Name( ExprName { range: 353..358, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), slice: Name( ExprName { range: 360..361, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 363..364, + }, ctx: Load, }, ), @@ -527,9 +473,7 @@ expression: parse_ast value: Name( ExprName { range: 382..387, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -540,9 +484,7 @@ expression: parse_ast Name( ExprName { range: 389..390, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -553,9 +495,10 @@ expression: parse_ast ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 393..394, + }, ctx: Load, }, ), @@ -573,9 +516,7 @@ expression: parse_ast value: Name( ExprName { range: 435..440, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -586,9 +527,7 @@ expression: parse_ast Name( ExprName { range: 443..444, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -599,9 +538,10 @@ expression: parse_ast ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 448..449, + }, ctx: Load, }, ), @@ -619,9 +559,7 @@ expression: parse_ast func: Name( ExprName { range: 470..475, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -636,9 +574,7 @@ expression: parse_ast Name( ExprName { range: 478..479, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -647,9 +583,7 @@ expression: parse_ast Name( ExprName { range: 485..486, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -671,9 +605,7 @@ expression: parse_ast target: Name( ExprName { range: 510..515, - id: Identifier( - "match", - ), + id: "match", ctx: Store, }, ), @@ -704,9 +636,7 @@ expression: parse_ast subject: Name( ExprName { range: 533..538, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), @@ -771,9 +701,7 @@ expression: parse_ast Name( ExprName { range: 582..587, - id: Identifier( - "match", - ), + id: "match", ctx: Store, }, ), @@ -789,9 +717,10 @@ expression: parse_ast range: 597..602, def: Arg { range: 597..602, - arg: Identifier( - "query", - ), + arg: Identifier { + id: "query", + range: 597..602, + }, annotation: None, type_comment: None, }, @@ -808,9 +737,7 @@ expression: parse_ast left: Name( ExprName { range: 604..609, - id: Identifier( - "query", - ), + id: "query", ctx: Load, }, ), @@ -821,9 +748,7 @@ expression: parse_ast Name( ExprName { range: 613..618, - id: Identifier( - "event", - ), + id: "event", ctx: Load, }, ), @@ -844,9 +769,7 @@ expression: parse_ast func: Name( ExprName { range: 619..624, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -857,9 +780,7 @@ expression: parse_ast func: Name( ExprName { range: 625..630, - id: Identifier( - "match", - ), + id: "match", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap index aba6bff5..139ee40a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap @@ -10,18 +10,14 @@ BoolOp( Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap index c7f31caa..71c1e95a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap @@ -10,18 +10,14 @@ BoolOp( Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap index 69ae0f5e..516365fc 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap @@ -6,25 +6,22 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" ClassDef( StmtClassDef { range: 0..98, - name: Identifier( - "Foo", - ), + name: Identifier { + id: "Foo", + range: 6..9, + }, bases: [ Name( ExprName { range: 10..11, - id: Identifier( - "A", - ), + id: "A", ctx: Load, }, ), Name( ExprName { range: 13..14, - id: Identifier( - "B", - ), + id: "B", ctx: Load, }, ), @@ -34,9 +31,10 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" FunctionDef( StmtFunctionDef { range: 18..44, - name: Identifier( - "__init__", - ), + name: Identifier { + id: "__init__", + range: 22..30, + }, args: Arguments { range: 30..36, posonlyargs: [], @@ -45,9 +43,10 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" range: 31..35, def: Arg { range: 31..35, - arg: Identifier( - "self", - ), + arg: Identifier { + id: "self", + range: 31..35, + }, annotation: None, type_comment: None, }, @@ -73,9 +72,10 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" FunctionDef( StmtFunctionDef { range: 46..98, - name: Identifier( - "method_with_default", - ), + name: Identifier { + id: "method_with_default", + range: 50..69, + }, args: Arguments { range: 69..90, posonlyargs: [], @@ -84,9 +84,10 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" range: 70..74, def: Arg { range: 70..74, - arg: Identifier( - "self", - ), + arg: Identifier { + id: "self", + range: 70..74, + }, annotation: None, type_comment: None, }, @@ -96,9 +97,10 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" range: 76..79, def: Arg { range: 76..79, - arg: Identifier( - "arg", - ), + arg: Identifier { + id: "arg", + range: 76..79, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap index bfae4a3b..69d3ae78 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap @@ -8,18 +8,14 @@ DictComp( key: Name( ExprName { range: 1..3, - id: Identifier( - "x1", - ), + id: "x1", ctx: Load, }, ), value: Name( ExprName { range: 5..7, - id: Identifier( - "x2", - ), + id: "x2", ctx: Load, }, ), @@ -29,18 +25,14 @@ DictComp( target: Name( ExprName { range: 12..13, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 17..18, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap index 9a35c965..3f381687 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap @@ -8,9 +8,7 @@ ListComp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -24,18 +22,14 @@ ListComp( Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), Name( ExprName { range: 10..12, - id: Identifier( - "y2", - ), + id: "y2", ctx: Store, }, ), @@ -46,9 +40,7 @@ ListComp( iter: Name( ExprName { range: 16..17, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), @@ -60,18 +52,14 @@ ListComp( target: Name( ExprName { range: 22..23, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), iter: Name( ExprName { range: 27..28, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -82,9 +70,7 @@ ListComp( left: Name( ExprName { range: 32..33, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -110,9 +96,7 @@ ListComp( left: Name( ExprName { range: 41..42, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap index 82e2cc68..f9bede46 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap @@ -8,9 +8,7 @@ GeneratorExp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -20,18 +18,14 @@ GeneratorExp( target: Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 12..13, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap index 81286fe8..9d8e9d2e 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap @@ -11,27 +11,21 @@ GeneratorExp( test: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), body: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), orelse: Name( ExprName { range: 13..14, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -43,18 +37,14 @@ GeneratorExp( target: Name( ExprName { range: 19..20, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 24..25, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap index ca710ad8..c4d3b5bd 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..7, - id: Identifier( - "my_func", - ), + id: "my_func", ctx: Load, }, ), @@ -33,9 +31,10 @@ expression: parse_ast Keyword { range: 22..31, arg: Some( - Identifier( - "keyword", - ), + Identifier { + id: "keyword", + range: 22..31, + }, ), value: Constant( ExprConstant { diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap index a2971926..4797c541 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap @@ -17,9 +17,10 @@ expression: parse_ast range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "x", - ), + arg: Identifier { + id: "x", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -29,9 +30,10 @@ expression: parse_ast range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "y", - ), + arg: Identifier { + id: "y", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -48,9 +50,7 @@ expression: parse_ast left: Name( ExprName { range: 13..14, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -58,9 +58,7 @@ expression: parse_ast right: Name( ExprName { range: 17..18, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap index ef246765..2b7560f2 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap @@ -8,9 +8,7 @@ ListComp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -20,18 +18,14 @@ ListComp( target: Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 12..13, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap index 1bb5643b..d603f5e6 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap @@ -11,9 +11,7 @@ GeneratorExp( target: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ GeneratorExp( left: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -49,18 +45,14 @@ GeneratorExp( target: Name( ExprName { range: 16..17, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 21..22, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap index af722c3e..46376e27 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..5, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap index 68b75119..4c55021c 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..5, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap index c0172d1b..55b03e4d 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap @@ -1,6 +1,6 @@ --- source: parser/src/parser.rs -expression: "parse_program(source, \"\").unwrap()" +expression: "ast::Suite::parse(source, \"\").unwrap()" --- [ Assign( @@ -14,18 +14,14 @@ expression: "parse_program(source, \"\").unwrap()" Name( ExprName { range: 0..1, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), Name( ExprName { range: 3..4, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap b/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap index 7b3b5774..04b97fe9 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap @@ -9,9 +9,7 @@ expression: parse_ast subject: Name( ExprName { range: 73..74, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -48,9 +46,7 @@ expression: parse_ast Name( ExprName { range: 98..99, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -78,9 +74,7 @@ expression: parse_ast subject: Name( ExprName { range: 132..133, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -93,9 +87,7 @@ expression: parse_ast cls: Name( ExprName { range: 144..149, - id: Identifier( - "bytes", - ), + id: "bytes", ctx: Load, }, ), @@ -105,9 +97,10 @@ expression: parse_ast range: 150..151, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 150..151, + }, ), }, ), @@ -125,9 +118,7 @@ expression: parse_ast Name( ExprName { range: 162..163, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -155,9 +146,7 @@ expression: parse_ast subject: Name( ExprName { range: 196..197, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -197,9 +186,7 @@ expression: parse_ast Name( ExprName { range: 224..225, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -253,9 +240,7 @@ expression: parse_ast Name( ExprName { range: 255..256, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -364,9 +349,7 @@ expression: parse_ast Name( ExprName { range: 324..325, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -394,9 +377,7 @@ expression: parse_ast subject: Name( ExprName { range: 361..362, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -489,9 +470,7 @@ expression: parse_ast Name( ExprName { range: 398..399, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -519,9 +498,7 @@ expression: parse_ast subject: Name( ExprName { range: 451..452, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -600,9 +577,7 @@ expression: parse_ast subject: Name( ExprName { range: 552..553, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -680,9 +655,7 @@ expression: parse_ast Name( ExprName { range: 589..590, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -918,9 +891,7 @@ expression: parse_ast Name( ExprName { range: 682..683, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -956,9 +927,7 @@ expression: parse_ast Name( ExprName { range: 709..710, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -986,9 +955,7 @@ expression: parse_ast subject: Name( ExprName { range: 743..744, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1034,9 +1001,7 @@ expression: parse_ast Name( ExprName { range: 777..778, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1064,9 +1029,7 @@ expression: parse_ast subject: Name( ExprName { range: 811..812, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1103,9 +1066,7 @@ expression: parse_ast Name( ExprName { range: 836..837, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1214,9 +1175,7 @@ expression: parse_ast Name( ExprName { range: 905..906, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -1244,9 +1203,7 @@ expression: parse_ast subject: Name( ExprName { range: 942..943, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1271,9 +1228,7 @@ expression: parse_ast Name( ExprName { range: 959..960, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1286,9 +1241,7 @@ expression: parse_ast Name( ExprName { range: 970..971, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1316,9 +1269,7 @@ expression: parse_ast subject: Name( ExprName { range: 1004..1005, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1367,9 +1318,7 @@ expression: parse_ast Name( ExprName { range: 1032..1033, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1432,9 +1381,7 @@ expression: parse_ast Name( ExprName { range: 1063..1064, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1461,9 +1408,10 @@ expression: parse_ast keys: [], patterns: [], rest: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 1081..1082, + }, ), }, ), @@ -1476,9 +1424,7 @@ expression: parse_ast Name( ExprName { range: 1093..1094, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1509,9 +1455,7 @@ expression: parse_ast func: Name( ExprName { range: 1127..1130, - id: Identifier( - "Seq", - ), + id: "Seq", ctx: Load, }, ), @@ -1544,9 +1488,7 @@ expression: parse_ast Name( ExprName { range: 1157..1158, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1574,9 +1516,7 @@ expression: parse_ast subject: Name( ExprName { range: 1191..1192, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1606,9 +1546,7 @@ expression: parse_ast Name( ExprName { range: 1214..1215, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1652,9 +1590,7 @@ expression: parse_ast Name( ExprName { range: 1240..1241, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1682,9 +1618,7 @@ expression: parse_ast subject: Name( ExprName { range: 1274..1275, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1711,9 +1645,10 @@ expression: parse_ast range: 1294..1297, pattern: None, name: Some( - Identifier( - "bar", - ), + Identifier { + id: "bar", + range: 1294..1297, + }, ), }, ), @@ -1730,9 +1665,7 @@ expression: parse_ast Name( ExprName { range: 1308..1309, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1740,9 +1673,7 @@ expression: parse_ast value: Name( ExprName { range: 1312..1315, - id: Identifier( - "bar", - ), + id: "bar", ctx: Load, }, ), @@ -1831,9 +1762,10 @@ expression: parse_ast PatternMatchStar { range: 1371..1373, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 1372..1373, + }, ), }, ), @@ -1863,9 +1795,7 @@ expression: parse_ast Name( ExprName { range: 1387..1388, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1893,9 +1823,7 @@ expression: parse_ast subject: Name( ExprName { range: 1421..1422, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1932,9 +1860,7 @@ expression: parse_ast Name( ExprName { range: 1446..1447, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1997,9 +1923,7 @@ expression: parse_ast target: Name( ExprName { range: 1472..1473, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -2009,9 +1933,7 @@ expression: parse_ast value: Name( ExprName { range: 1477..1478, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2047,9 +1969,7 @@ expression: parse_ast Name( ExprName { range: 1493..1494, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2114,9 +2034,7 @@ expression: parse_ast Name( ExprName { range: 1524..1525, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2144,9 +2062,7 @@ expression: parse_ast subject: Name( ExprName { range: 1558..1559, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), @@ -2162,9 +2078,10 @@ expression: parse_ast range: 1571..1572, pattern: None, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 1571..1572, + }, ), }, ), @@ -2173,9 +2090,10 @@ expression: parse_ast range: 1574..1575, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 1574..1575, + }, ), }, ), @@ -2197,9 +2115,7 @@ expression: parse_ast Name( ExprName { range: 1590..1591, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2227,9 +2143,7 @@ expression: parse_ast subject: Name( ExprName { range: 1624..1625, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2281,9 +2195,7 @@ expression: parse_ast Name( ExprName { range: 1659..1660, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2315,9 +2227,7 @@ expression: parse_ast Name( ExprName { range: 1694..1695, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2337,9 +2247,10 @@ expression: parse_ast range: 1709..1710, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 1709..1710, + }, ), }, ), @@ -2355,9 +2266,7 @@ expression: parse_ast Name( ExprName { range: 1721..1722, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2385,9 +2294,7 @@ expression: parse_ast subject: Name( ExprName { range: 1755..1756, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2409,27 +2316,28 @@ expression: parse_ast value: Name( ExprName { range: 1767..1768, - id: Identifier( - "A", - ), + id: "A", ctx: Load, }, ), - attr: Identifier( - "B", - ), + attr: Identifier { + id: "B", + range: 1769..1770, + }, ctx: Load, }, ), - attr: Identifier( - "C", - ), + attr: Identifier { + id: "C", + range: 1771..1772, + }, ctx: Load, }, ), - attr: Identifier( - "D", - ), + attr: Identifier { + id: "D", + range: 1773..1774, + }, ctx: Load, }, ), @@ -2444,9 +2352,7 @@ expression: parse_ast Name( ExprName { range: 1784..1785, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2474,9 +2380,7 @@ expression: parse_ast subject: Name( ExprName { range: 1818..1819, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2498,9 +2402,7 @@ expression: parse_ast Name( ExprName { range: 1844..1845, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2528,9 +2430,7 @@ expression: parse_ast subject: Name( ExprName { range: 1878..1879, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2560,9 +2460,7 @@ expression: parse_ast Name( ExprName { range: 1901..1902, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2590,9 +2488,7 @@ expression: parse_ast subject: Name( ExprName { range: 1935..1936, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2616,9 +2512,7 @@ expression: parse_ast Name( ExprName { range: 1962..1963, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2646,9 +2540,7 @@ expression: parse_ast subject: Name( ExprName { range: 1996..1997, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2670,9 +2562,7 @@ expression: parse_ast Name( ExprName { range: 2020..2021, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2723,9 +2613,7 @@ expression: parse_ast Name( ExprName { range: 2049..2050, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2769,9 +2657,7 @@ expression: parse_ast Name( ExprName { range: 2076..2077, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2799,9 +2685,7 @@ expression: parse_ast subject: Name( ExprName { range: 2110..2111, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2813,9 +2697,10 @@ expression: parse_ast range: 2122..2123, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2122..2123, + }, ), }, ), @@ -2828,9 +2713,7 @@ expression: parse_ast Name( ExprName { range: 2133..2134, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2858,9 +2741,7 @@ expression: parse_ast subject: Name( ExprName { range: 2167..2168, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), @@ -2876,9 +2757,10 @@ expression: parse_ast range: 2180..2181, pattern: None, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2180..2181, + }, ), }, ), @@ -2887,9 +2769,10 @@ expression: parse_ast range: 2183..2184, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2183..2184, + }, ), }, ), @@ -2897,9 +2780,10 @@ expression: parse_ast PatternMatchStar { range: 2186..2191, name: Some( - Identifier( - "rest", - ), + Identifier { + id: "rest", + range: 2187..2191, + }, ), }, ), @@ -2915,9 +2799,7 @@ expression: parse_ast Name( ExprName { range: 2202..2203, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2945,9 +2827,7 @@ expression: parse_ast subject: Name( ExprName { range: 2236..2237, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2978,9 +2858,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2254..2255, + }, ), }, ), @@ -3004,9 +2885,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2265..2266, + }, ), }, ), @@ -3030,9 +2912,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2276..2277, + }, ), }, ), @@ -3046,9 +2929,7 @@ expression: parse_ast left: Name( ExprName { range: 2282..2283, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), @@ -3062,9 +2943,7 @@ expression: parse_ast left: Name( ExprName { range: 2287..2288, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3092,9 +2971,7 @@ expression: parse_ast Name( ExprName { range: 2302..2303, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3122,9 +2999,7 @@ expression: parse_ast subject: Name( ExprName { range: 2336..2337, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3202,9 +3077,7 @@ expression: parse_ast Name( ExprName { range: 2373..2374, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3440,9 +3313,7 @@ expression: parse_ast Name( ExprName { range: 2467..2468, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3478,9 +3349,7 @@ expression: parse_ast Name( ExprName { range: 2494..2495, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3565,9 +3434,10 @@ expression: parse_ast PatternMatchStar { range: 2551..2553, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2552..2553, + }, ), }, ), @@ -3583,9 +3453,7 @@ expression: parse_ast Name( ExprName { range: 2563..2564, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3656,9 +3524,10 @@ expression: parse_ast PatternMatchStar { range: 2617..2619, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2618..2619, + }, ), }, ), @@ -3688,9 +3557,7 @@ expression: parse_ast Name( ExprName { range: 2633..2634, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3718,9 +3585,7 @@ expression: parse_ast subject: Name( ExprName { range: 2667..2668, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3736,9 +3601,10 @@ expression: parse_ast range: 2680..2681, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2680..2681, + }, ), }, ), @@ -3754,9 +3620,7 @@ expression: parse_ast Name( ExprName { range: 2692..2693, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -3788,18 +3652,14 @@ expression: parse_ast Name( ExprName { range: 2726..2727, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), Name( ExprName { range: 2729..2730, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3819,9 +3679,10 @@ expression: parse_ast range: 2741..2742, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2741..2742, + }, ), }, ), @@ -3830,9 +3691,10 @@ expression: parse_ast range: 2744..2745, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2744..2745, + }, ), }, ), @@ -3848,9 +3710,7 @@ expression: parse_ast Name( ExprName { range: 2755..2756, - id: Identifier( - "v", - ), + id: "v", ctx: Store, }, ), @@ -3881,18 +3741,14 @@ expression: parse_ast target: Name( ExprName { range: 2789..2790, - id: Identifier( - "w", - ), + id: "w", ctx: Store, }, ), value: Name( ExprName { range: 2794..2795, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3914,17 +3770,19 @@ expression: parse_ast range: 2807..2808, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2807..2808, + }, ), }, ), ), name: Some( - Identifier( - "v", - ), + Identifier { + id: "v", + range: 2812..2813, + }, ), }, ), @@ -3940,9 +3798,7 @@ expression: parse_ast Name( ExprName { range: 2824..2825, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap b/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap index 8622a681..f994344c 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap @@ -8,9 +8,7 @@ Subscript( value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap b/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap index 8a43e4db..24ccff88 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..11, - id: Identifier( - "array_slice", - ), + id: "array_slice", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast value: Name( ExprName { range: 14..19, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -48,9 +44,7 @@ expression: parse_ast value: Name( ExprName { range: 24..31, - id: Identifier( - "indexes", - ), + id: "indexes", ctx: Load, }, ), @@ -92,9 +86,7 @@ expression: parse_ast value: Name( ExprName { range: 37..42, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -117,9 +109,7 @@ expression: parse_ast value: Name( ExprName { range: 47..54, - id: Identifier( - "indexes", - ), + id: "indexes", ctx: Load, }, ), @@ -152,9 +142,7 @@ expression: parse_ast value: Name( ExprName { range: 62..73, - id: Identifier( - "array_slice", - ), + id: "array_slice", ctx: Load, }, ), @@ -170,9 +158,7 @@ expression: parse_ast value: Name( ExprName { range: 74..79, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -186,9 +172,7 @@ expression: parse_ast value: Name( ExprName { range: 81..98, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), @@ -201,9 +185,7 @@ expression: parse_ast value: Name( ExprName { range: 101..118, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), @@ -228,9 +210,7 @@ expression: parse_ast value: Name( ExprName { range: 120..125, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -272,9 +252,7 @@ expression: parse_ast value: Name( ExprName { range: 132..149, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__try.snap b/parser/src/snapshots/rustpython_parser__parser__tests__try.snap index 467e34f2..d76069a1 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__try.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__try.snap @@ -17,9 +17,7 @@ expression: parse_ast func: Name( ExprName { range: 15..25, - id: Identifier( - "ValueError", - ), + id: "ValueError", ctx: Load, }, ), @@ -50,17 +48,16 @@ expression: parse_ast Name( ExprName { range: 36..45, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 49..50, + }, ), body: [ Expr( @@ -72,9 +69,7 @@ expression: parse_ast func: Name( ExprName { range: 56..61, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -101,9 +96,7 @@ expression: parse_ast func: Name( ExprName { range: 72..76, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -111,9 +104,7 @@ expression: parse_ast Name( ExprName { range: 77..78, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -144,17 +135,16 @@ expression: parse_ast Name( ExprName { range: 90..97, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 101..102, + }, ), body: [ Expr( @@ -166,9 +156,7 @@ expression: parse_ast func: Name( ExprName { range: 108..113, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -195,9 +183,7 @@ expression: parse_ast func: Name( ExprName { range: 124..128, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -205,9 +191,7 @@ expression: parse_ast Name( ExprName { range: 129..130, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap b/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap index b5925f67..841d9823 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap @@ -17,9 +17,7 @@ expression: parse_ast func: Name( ExprName { range: 15..29, - id: Identifier( - "ExceptionGroup", - ), + id: "ExceptionGroup", ctx: Load, }, ), @@ -43,9 +41,7 @@ expression: parse_ast func: Name( ExprName { range: 45..55, - id: Identifier( - "ValueError", - ), + id: "ValueError", ctx: Load, }, ), @@ -69,9 +65,7 @@ expression: parse_ast func: Name( ExprName { range: 60..69, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), @@ -95,9 +89,7 @@ expression: parse_ast func: Name( ExprName { range: 74..81, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), @@ -121,9 +113,7 @@ expression: parse_ast func: Name( ExprName { range: 86..93, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), @@ -162,17 +152,16 @@ expression: parse_ast Name( ExprName { range: 107..116, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 120..121, + }, ), body: [ Expr( @@ -184,9 +173,7 @@ expression: parse_ast func: Name( ExprName { range: 127..132, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -213,9 +200,7 @@ expression: parse_ast func: Name( ExprName { range: 143..147, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -223,9 +208,7 @@ expression: parse_ast Name( ExprName { range: 148..149, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -255,15 +238,14 @@ expression: parse_ast value: Name( ExprName { range: 165..166, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), - attr: Identifier( - "exceptions", - ), + attr: Identifier { + id: "exceptions", + range: 167..177, + }, ctx: Load, }, ), @@ -290,17 +272,16 @@ expression: parse_ast Name( ExprName { range: 189..196, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 200..201, + }, ), body: [ Expr( @@ -312,9 +293,7 @@ expression: parse_ast func: Name( ExprName { range: 207..212, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -341,9 +320,7 @@ expression: parse_ast func: Name( ExprName { range: 223..227, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -351,9 +328,7 @@ expression: parse_ast Name( ExprName { range: 228..229, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -383,15 +358,14 @@ expression: parse_ast value: Name( ExprName { range: 245..246, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), - attr: Identifier( - "exceptions", - ), + attr: Identifier { + id: "exceptions", + range: 247..257, + }, ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap index 76c481a0..8d6c6e3d 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap @@ -6,9 +6,10 @@ expression: parse_ast FunctionDef( StmtFunctionDef { range: 1..49, - name: Identifier( - "args_to_tuple", - ), + name: Identifier { + id: "args_to_tuple", + range: 5..18, + }, args: Arguments { range: 18..30, posonlyargs: [], @@ -16,9 +17,10 @@ expression: parse_ast vararg: Some( Arg { range: 20..29, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 20..24, + }, annotation: Some( Starred( ExprStarred { @@ -26,9 +28,7 @@ expression: parse_ast value: Name( ExprName { range: 27..29, - id: Identifier( - "Ts", - ), + id: "Ts", ctx: Load, }, ), @@ -64,9 +64,7 @@ expression: parse_ast value: Name( ExprName { range: 34..39, - id: Identifier( - "Tuple", - ), + id: "Tuple", ctx: Load, }, ), @@ -76,9 +74,7 @@ expression: parse_ast value: Name( ExprName { range: 41..43, - id: Identifier( - "Ts", - ), + id: "Ts", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap b/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap index d59ac12b..5530e674 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap @@ -50,9 +50,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 23..24, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -129,9 +127,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 57..58, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -152,9 +148,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 65..66, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -264,9 +258,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 120..121, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -326,9 +318,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 153..154, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -392,9 +382,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 188..189, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -466,9 +454,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 225..226, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -562,9 +548,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 266..267, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -597,9 +581,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 281..282, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -639,9 +621,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 298..299, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -656,9 +636,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 305..306, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -700,9 +678,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 323..324, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -751,9 +727,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 342..343, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -768,9 +742,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 348..349, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -799,9 +771,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 362..363, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -841,9 +811,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 382..383, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -862,9 +830,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 393..394, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -897,9 +863,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 407..408, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -920,9 +884,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 415..416, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -970,9 +932,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 435..436, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -993,9 +953,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 443..444, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -1018,9 +976,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 454..455, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -1056,9 +1012,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 473..474, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1094,9 +1048,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 493..494, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1132,9 +1084,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 514..515, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1155,9 +1105,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 522..523, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -1193,9 +1141,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 542..543, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1216,9 +1162,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 550..551, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap index 942ce114..a7e92554 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap index df9b65ba..276bff7b 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap index 80923028..6b536a08 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap index 66613b1e..33eed095 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..7, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap index 8d86b0c4..8ce8de79 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap @@ -36,9 +36,7 @@ expression: parse_ast value: Name( ExprName { range: 7..11, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), @@ -79,9 +77,7 @@ expression: parse_ast value: Name( ExprName { range: 29..35, - id: Identifier( - "second", - ), + id: "second", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap index 458ca1ee..9e4391e4 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..7, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap index 72e1f421..18d0dd5e 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap index 75707ef5..aeb71829 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -25,9 +23,7 @@ expression: parse_ast value: Name( ExprName { range: 7..8, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap index 5a1bd11f..61462e3a 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..6, - id: Identifier( - "foo", - ), + id: "foo", ctx: Load, }, ), @@ -27,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 8..12, - id: Identifier( - "spec", - ), + id: "spec", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap index 1331a891..dfc93454 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..6, - id: Identifier( - "foo", - ), + id: "foo", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap index d1514337..f02d4cef 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap index 8ce955b0..c74ea03b 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap index 79258eac..d6f10352 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap @@ -16,9 +16,7 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap index d3660102..759ece38 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap @@ -16,9 +16,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), From 5c6d5ade4c04711afe5162ca54a3d0878c2ba0b7 Mon Sep 17 00:00:00 2001 From: Zanie Date: Mon, 10 Jul 2023 12:51:35 -0500 Subject: [PATCH 10/15] Fix ArgWithDefault TextRange (#13) --- ast/src/lib.rs | 2 +- format/Cargo.toml | 3 + format/src/lib.rs | 2 +- parser/src/python.lalrpop | 6 +- parser/src/python.rs | 2402 +++++++++-------- ...__function_kw_only_args_with_defaults.snap | 4 +- ...on_pos_and_kw_only_args_with_defaults.snap | 4 +- ...w_only_args_with_defaults_and_varargs.snap | 4 +- ..._with_defaults_and_varargs_and_kwargs.snap | 4 +- ...ests__function_pos_args_with_defaults.snap | 4 +- ...ts__lambda_kw_only_args_with_defaults.snap | 4 +- ..._tests__lambda_pos_args_with_defaults.snap | 4 +- ...on_parser__parser__tests__parse_class.snap | 2 +- 13 files changed, 1254 insertions(+), 1191 deletions(-) diff --git a/ast/src/lib.rs b/ast/src/lib.rs index 9aa6da1d..1b12a93e 100644 --- a/ast/src/lib.rs +++ b/ast/src/lib.rs @@ -22,7 +22,7 @@ mod ranged; #[cfg(feature = "malachite-bigint")] pub use malachite_bigint as bigint; -#[cfg(feature = "num-bigint")] +#[cfg(all(feature = "num-bigint", not(feature = "malachite-bigint")))] pub use num_bigint as bigint; pub use builtin::*; diff --git a/format/Cargo.toml b/format/Cargo.toml index a9185b5a..b11b25db 100644 --- a/format/Cargo.toml +++ b/format/Cargo.toml @@ -15,3 +15,6 @@ itertools = "0.10.5" num-traits = { workspace = true } num-bigint = { workspace = true, optional = true } malachite-bigint = { workspace = true, optional = true } + +[features] +default = ["malachite-bigint"] \ No newline at end of file diff --git a/format/src/lib.rs b/format/src/lib.rs index d3833c18..61de9d55 100644 --- a/format/src/lib.rs +++ b/format/src/lib.rs @@ -1,6 +1,6 @@ #[cfg(feature = "malachite-bigint")] pub use malachite_bigint as bigint; -#[cfg(feature = "num-bigint")] +#[cfg(all(feature = "num-bigint", not(feature = "malachite-bigint")))] pub use num_bigint as bigint; pub use crate::format::*; diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index dde1f94e..6aa4988f 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -1067,8 +1067,12 @@ ParameterDefs: (Vec, Vec) = { ParameterDef: ast::ArgWithDefault = { => i, - "=" > => { + "=" > => { i.default = Some(Box::new(e)); + #[cfg(feature = "all-nodes-with-ranges")] + { + i.range = optional_range(i.range.start(), end_location); + } i }, }; diff --git a/parser/src/python.rs b/parser/src/python.rs index 68150798..d46320c9 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: 14e81ae63fc1bc518b1a33a3fc6271ec1586361626d59701a3688b51fbb96c46 +// sha3: 4caf54d50e2859da942dd4db1d0d538083a10c1a232b8619e44f266f1ae25384 use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -11891,11 +11891,11 @@ mod __parse__Top { __reduce158(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 159 => { - // ArgumentList = FunctionArgument => ActionFn(1469); + // ArgumentList = FunctionArgument => ActionFn(1471); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1469::<>(__sym0) { + let __nt = match super::__action1471::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11903,10 +11903,10 @@ mod __parse__Top { (1, 83) } 160 => { - // ArgumentList = => ActionFn(1470); + // ArgumentList = => ActionFn(1472); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = match super::__action1470::<>(&__start, &__end) { + let __nt = match super::__action1472::<>(&__start, &__end) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11914,13 +11914,13 @@ mod __parse__Top { (0, 83) } 161 => { - // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1471); + // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1473); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1471::<>(__sym0, __sym1) { + let __nt = match super::__action1473::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11928,11 +11928,11 @@ mod __parse__Top { (2, 83) } 162 => { - // ArgumentList = ( ",")+ => ActionFn(1472); + // ArgumentList = ( ",")+ => ActionFn(1474); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1472::<>(__sym0) { + let __nt = match super::__action1474::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13033,7 +13033,7 @@ mod __parse__Top { __reduce433(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 434 => { - // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1639); + // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1641); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13041,7 +13041,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1639::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1641::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13049,14 +13049,14 @@ mod __parse__Top { (4, 162) } 435 => { - // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1640); + // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1642); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1640::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1642::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13376,7 +13376,7 @@ mod __parse__Top { __reduce533(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 534 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1519); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1521); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13387,7 +13387,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13395,7 +13395,7 @@ mod __parse__Top { (7, 202) } 535 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1520); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1522); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13408,7 +13408,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13416,7 +13416,7 @@ mod __parse__Top { (9, 202) } 536 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1521); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1523); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13430,7 +13430,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13438,7 +13438,7 @@ mod __parse__Top { (10, 202) } 537 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1522); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1524); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -13448,7 +13448,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13456,7 +13456,7 @@ mod __parse__Top { (6, 202) } 538 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1523); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1525); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13468,7 +13468,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13476,7 +13476,7 @@ mod __parse__Top { (8, 202) } 539 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1524); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1526); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13489,7 +13489,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13497,7 +13497,7 @@ mod __parse__Top { (9, 202) } 540 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1525); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1527); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13509,7 +13509,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13517,7 +13517,7 @@ mod __parse__Top { (8, 202) } 541 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1526); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1528); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13531,7 +13531,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13539,7 +13539,7 @@ mod __parse__Top { (10, 202) } 542 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1527); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1529); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); @@ -13554,7 +13554,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13562,7 +13562,7 @@ mod __parse__Top { (11, 202) } 543 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1528); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1530); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13573,7 +13573,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13581,7 +13581,7 @@ mod __parse__Top { (7, 202) } 544 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1529); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1531); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13594,7 +13594,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13602,7 +13602,7 @@ mod __parse__Top { (9, 202) } 545 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1530); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1532); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13616,7 +13616,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13624,7 +13624,7 @@ mod __parse__Top { (10, 202) } 546 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1531); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1533); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -13633,7 +13633,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13641,7 +13641,7 @@ mod __parse__Top { (5, 202) } 547 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1532); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1534); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -13652,7 +13652,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13660,7 +13660,7 @@ mod __parse__Top { (7, 202) } 548 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1533); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1535); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -13672,7 +13672,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13680,7 +13680,7 @@ mod __parse__Top { (8, 202) } 549 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1534); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1536); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13688,7 +13688,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1536::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13696,7 +13696,7 @@ mod __parse__Top { (4, 202) } 550 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1535); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1537); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -13706,7 +13706,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1537::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13714,7 +13714,7 @@ mod __parse__Top { (6, 202) } 551 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1536); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1538); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13725,7 +13725,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1536::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13733,7 +13733,7 @@ mod __parse__Top { (7, 202) } 552 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1537); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1539); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); @@ -13743,7 +13743,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1537::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13751,7 +13751,7 @@ mod __parse__Top { (6, 202) } 553 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1538); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1540); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13763,7 +13763,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13771,7 +13771,7 @@ mod __parse__Top { (8, 202) } 554 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1539); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1541); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); @@ -13784,7 +13784,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13792,7 +13792,7 @@ mod __parse__Top { (9, 202) } 555 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1540); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1542); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -13801,7 +13801,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13809,7 +13809,7 @@ mod __parse__Top { (5, 202) } 556 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1541); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1543); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -13820,7 +13820,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13828,7 +13828,7 @@ mod __parse__Top { (7, 202) } 557 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1542); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1544); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13840,7 +13840,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13848,13 +13848,13 @@ mod __parse__Top { (8, 202) } 558 => { - // ParameterList = OneOrMore>, "," => ActionFn(1543); + // ParameterList = OneOrMore>, "," => ActionFn(1545); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1543::<>(__sym0, __sym1) { + let __nt = match super::__action1545::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13862,7 +13862,7 @@ mod __parse__Top { (2, 202) } 559 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1544); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1546); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -13870,7 +13870,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13878,7 +13878,7 @@ mod __parse__Top { (4, 202) } 560 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1545); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1547); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -13887,7 +13887,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13895,7 +13895,7 @@ mod __parse__Top { (5, 202) } 561 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1546); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1548); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -13905,7 +13905,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13913,7 +13913,7 @@ mod __parse__Top { (6, 202) } 562 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1547); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1549); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -13925,7 +13925,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13933,7 +13933,7 @@ mod __parse__Top { (8, 202) } 563 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1548); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1550); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -13946,7 +13946,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13954,7 +13954,7 @@ mod __parse__Top { (9, 202) } 564 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1549); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1551); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -13963,7 +13963,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13971,7 +13971,7 @@ mod __parse__Top { (5, 202) } 565 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1550); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1552); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13982,7 +13982,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13990,7 +13990,7 @@ mod __parse__Top { (7, 202) } 566 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1551); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1553); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14002,7 +14002,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14010,7 +14010,7 @@ mod __parse__Top { (8, 202) } 567 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1552); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1554); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14021,7 +14021,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14029,7 +14029,7 @@ mod __parse__Top { (7, 202) } 568 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1553); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1555); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14042,7 +14042,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14050,7 +14050,7 @@ mod __parse__Top { (9, 202) } 569 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1554); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1556); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -14064,7 +14064,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14072,7 +14072,7 @@ mod __parse__Top { (10, 202) } 570 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1555); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1557); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14082,7 +14082,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14090,7 +14090,7 @@ mod __parse__Top { (6, 202) } 571 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1556); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1558); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14102,7 +14102,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14110,7 +14110,7 @@ mod __parse__Top { (8, 202) } 572 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1557); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1559); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14123,7 +14123,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14131,7 +14131,7 @@ mod __parse__Top { (9, 202) } 573 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1558); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1560); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14139,7 +14139,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14147,7 +14147,7 @@ mod __parse__Top { (4, 202) } 574 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1559); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1561); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14157,7 +14157,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14165,7 +14165,7 @@ mod __parse__Top { (6, 202) } 575 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1560); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1562); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14176,7 +14176,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14184,14 +14184,14 @@ mod __parse__Top { (7, 202) } 576 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1561); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1563); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14199,7 +14199,7 @@ mod __parse__Top { (3, 202) } 577 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1562); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1564); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14208,7 +14208,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14216,7 +14216,7 @@ mod __parse__Top { (5, 202) } 578 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1563); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1565); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14226,7 +14226,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14234,7 +14234,7 @@ mod __parse__Top { (6, 202) } 579 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1564); + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1566); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -14243,7 +14243,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14251,7 +14251,7 @@ mod __parse__Top { (5, 202) } 580 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1565); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1567); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -14262,7 +14262,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14270,7 +14270,7 @@ mod __parse__Top { (7, 202) } 581 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1566); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1568); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -14282,7 +14282,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14290,7 +14290,7 @@ mod __parse__Top { (8, 202) } 582 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1567); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1569); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14298,7 +14298,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14306,7 +14306,7 @@ mod __parse__Top { (4, 202) } 583 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1568); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1570); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14316,7 +14316,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14324,7 +14324,7 @@ mod __parse__Top { (6, 202) } 584 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1569); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1571); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14335,7 +14335,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14343,11 +14343,11 @@ mod __parse__Top { (7, 202) } 585 => { - // ParameterList = OneOrMore> => ActionFn(1570); + // ParameterList = OneOrMore> => ActionFn(1572); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1570::<>(__sym0) { + let __nt = match super::__action1572::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14355,14 +14355,14 @@ mod __parse__Top { (1, 202) } 586 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1571); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1573); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14370,7 +14370,7 @@ mod __parse__Top { (3, 202) } 587 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1572); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1574); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14378,7 +14378,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14386,7 +14386,7 @@ mod __parse__Top { (4, 202) } 588 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1573); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1575); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14394,7 +14394,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14402,7 +14402,7 @@ mod __parse__Top { (4, 202) } 589 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1574); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1576); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14412,7 +14412,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14420,7 +14420,7 @@ mod __parse__Top { (6, 202) } 590 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1575); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1577); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14431,7 +14431,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14439,14 +14439,14 @@ mod __parse__Top { (7, 202) } 591 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1576); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1578); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14454,7 +14454,7 @@ mod __parse__Top { (3, 202) } 592 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1577); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1579); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14463,7 +14463,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14471,7 +14471,7 @@ mod __parse__Top { (5, 202) } 593 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1578); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1580); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -14481,7 +14481,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14489,7 +14489,7 @@ mod __parse__Top { (6, 202) } 594 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1323); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1325); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14498,7 +14498,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14506,7 +14506,7 @@ mod __parse__Top { (5, 202) } 595 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1324); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1326); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14514,7 +14514,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14522,7 +14522,7 @@ mod __parse__Top { (4, 202) } 596 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1325); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1327); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14532,7 +14532,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14540,7 +14540,7 @@ mod __parse__Top { (6, 202) } 597 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1326); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1328); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14549,7 +14549,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1328::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14557,14 +14557,14 @@ mod __parse__Top { (5, 202) } 598 => { - // ParameterList = "*", StarTypedParameter, "," => ActionFn(1327); + // ParameterList = "*", StarTypedParameter, "," => ActionFn(1329); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1329::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14572,13 +14572,13 @@ mod __parse__Top { (3, 202) } 599 => { - // ParameterList = "*", "," => ActionFn(1328); + // ParameterList = "*", "," => ActionFn(1330); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1328::<>(__sym0, __sym1) { + let __nt = match super::__action1330::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14586,7 +14586,7 @@ mod __parse__Top { (2, 202) } 600 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1329); + // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1331); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); @@ -14594,7 +14594,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1329::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1331::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14602,14 +14602,14 @@ mod __parse__Top { (4, 202) } 601 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1330); + // ParameterList = "*", ("," >)+, "," => ActionFn(1332); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1330::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1332::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14617,7 +14617,7 @@ mod __parse__Top { (3, 202) } 602 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1331); + // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1333); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14625,7 +14625,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1331::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1333::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14633,14 +14633,14 @@ mod __parse__Top { (4, 202) } 603 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1332); + // ParameterList = "*", ",", KwargParameter => ActionFn(1334); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1332::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1334::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14648,7 +14648,7 @@ mod __parse__Top { (3, 202) } 604 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1333); + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1335); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -14657,7 +14657,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1333::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1335::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14665,7 +14665,7 @@ mod __parse__Top { (5, 202) } 605 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1334); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1336); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14673,7 +14673,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1334::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1336::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14681,13 +14681,13 @@ mod __parse__Top { (4, 202) } 606 => { - // ParameterList = "*", StarTypedParameter => ActionFn(1335); + // ParameterList = "*", StarTypedParameter => ActionFn(1337); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1335::<>(__sym0, __sym1) { + let __nt = match super::__action1337::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14695,11 +14695,11 @@ mod __parse__Top { (2, 202) } 607 => { - // ParameterList = "*" => ActionFn(1336); + // ParameterList = "*" => ActionFn(1338); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1336::<>(__sym0) { + let __nt = match super::__action1338::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14707,14 +14707,14 @@ mod __parse__Top { (1, 202) } 608 => { - // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1337); + // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1339); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1337::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1339::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14722,13 +14722,13 @@ mod __parse__Top { (3, 202) } 609 => { - // ParameterList = "*", ("," >)+ => ActionFn(1338); + // ParameterList = "*", ("," >)+ => ActionFn(1340); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1338::<>(__sym0, __sym1) { + let __nt = match super::__action1340::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14742,7 +14742,7 @@ mod __parse__Top { __reduce611(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 612 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1579); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1581); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14753,7 +14753,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14761,7 +14761,7 @@ mod __parse__Top { (7, 203) } 613 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1580); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1582); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14774,7 +14774,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14782,7 +14782,7 @@ mod __parse__Top { (9, 203) } 614 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1581); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1583); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14796,7 +14796,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14804,7 +14804,7 @@ mod __parse__Top { (10, 203) } 615 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1582); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1584); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -14814,7 +14814,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14822,7 +14822,7 @@ mod __parse__Top { (6, 203) } 616 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1583); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1585); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14834,7 +14834,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14842,7 +14842,7 @@ mod __parse__Top { (8, 203) } 617 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1584); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1586); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14855,7 +14855,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14863,7 +14863,7 @@ mod __parse__Top { (9, 203) } 618 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1585); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1587); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14875,7 +14875,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14883,7 +14883,7 @@ mod __parse__Top { (8, 203) } 619 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1586); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1588); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14897,7 +14897,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14905,7 +14905,7 @@ mod __parse__Top { (10, 203) } 620 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1587); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1589); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); @@ -14920,7 +14920,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14928,7 +14928,7 @@ mod __parse__Top { (11, 203) } 621 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1588); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1590); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14939,7 +14939,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14947,7 +14947,7 @@ mod __parse__Top { (7, 203) } 622 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1589); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1591); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14960,7 +14960,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14968,7 +14968,7 @@ mod __parse__Top { (9, 203) } 623 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1590); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1592); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14982,7 +14982,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -14990,7 +14990,7 @@ mod __parse__Top { (10, 203) } 624 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1591); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1593); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -14999,7 +14999,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15007,7 +15007,7 @@ mod __parse__Top { (5, 203) } 625 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1592); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1594); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -15018,7 +15018,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15026,7 +15026,7 @@ mod __parse__Top { (7, 203) } 626 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1593); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1595); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -15038,7 +15038,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15046,7 +15046,7 @@ mod __parse__Top { (8, 203) } 627 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1594); + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1596); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15054,7 +15054,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15062,7 +15062,7 @@ mod __parse__Top { (4, 203) } 628 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1595); + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1597); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15072,7 +15072,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15080,7 +15080,7 @@ mod __parse__Top { (6, 203) } 629 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1596); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1598); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15091,7 +15091,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15099,7 +15099,7 @@ mod __parse__Top { (7, 203) } 630 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1597); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1599); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); @@ -15109,7 +15109,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15117,7 +15117,7 @@ mod __parse__Top { (6, 203) } 631 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1598); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1600); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15129,7 +15129,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15137,7 +15137,7 @@ mod __parse__Top { (8, 203) } 632 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1599); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1601); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); @@ -15150,7 +15150,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15158,7 +15158,7 @@ mod __parse__Top { (9, 203) } 633 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1600); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1602); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -15167,7 +15167,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15175,7 +15175,7 @@ mod __parse__Top { (5, 203) } 634 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1601); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1603); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -15186,7 +15186,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15194,7 +15194,7 @@ mod __parse__Top { (7, 203) } 635 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1602); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1604); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15206,7 +15206,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15214,13 +15214,13 @@ mod __parse__Top { (8, 203) } 636 => { - // ParameterList = OneOrMore>, "," => ActionFn(1603); + // ParameterList = OneOrMore>, "," => ActionFn(1605); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1603::<>(__sym0, __sym1) { + let __nt = match super::__action1605::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15228,7 +15228,7 @@ mod __parse__Top { (2, 203) } 637 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1604); + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1606); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15236,7 +15236,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15244,7 +15244,7 @@ mod __parse__Top { (4, 203) } 638 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1605); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1607); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); @@ -15253,7 +15253,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15261,7 +15261,7 @@ mod __parse__Top { (5, 203) } 639 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1606); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1608); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15271,7 +15271,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15279,7 +15279,7 @@ mod __parse__Top { (6, 203) } 640 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1607); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1609); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15291,7 +15291,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15299,7 +15299,7 @@ mod __parse__Top { (8, 203) } 641 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1608); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1610); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15312,7 +15312,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15320,7 +15320,7 @@ mod __parse__Top { (9, 203) } 642 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1609); + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1611); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15329,7 +15329,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15337,7 +15337,7 @@ mod __parse__Top { (5, 203) } 643 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1610); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1612); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15348,7 +15348,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15356,7 +15356,7 @@ mod __parse__Top { (7, 203) } 644 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1611); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1613); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15368,7 +15368,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15376,7 +15376,7 @@ mod __parse__Top { (8, 203) } 645 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1612); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1614); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15387,7 +15387,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15395,7 +15395,7 @@ mod __parse__Top { (7, 203) } 646 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1613); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1615); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15408,7 +15408,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15416,7 +15416,7 @@ mod __parse__Top { (9, 203) } 647 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1614); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1616); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -15430,7 +15430,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15438,7 +15438,7 @@ mod __parse__Top { (10, 203) } 648 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1615); + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1617); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15448,7 +15448,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15456,7 +15456,7 @@ mod __parse__Top { (6, 203) } 649 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1616); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1618); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15468,7 +15468,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15476,7 +15476,7 @@ mod __parse__Top { (8, 203) } 650 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1617); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1619); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15489,7 +15489,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15497,7 +15497,7 @@ mod __parse__Top { (9, 203) } 651 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1618); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1620); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15505,7 +15505,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15513,7 +15513,7 @@ mod __parse__Top { (4, 203) } 652 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1619); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1621); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15523,7 +15523,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15531,7 +15531,7 @@ mod __parse__Top { (6, 203) } 653 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1620); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1622); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15542,7 +15542,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15550,14 +15550,14 @@ mod __parse__Top { (7, 203) } 654 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1621); + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1623); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15565,7 +15565,7 @@ mod __parse__Top { (3, 203) } 655 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1622); + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1624); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15574,7 +15574,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15582,7 +15582,7 @@ mod __parse__Top { (5, 203) } 656 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1623); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1625); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15592,7 +15592,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15600,7 +15600,7 @@ mod __parse__Top { (6, 203) } 657 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1624); + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1626); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); let __sym3 = __pop_Variant61(__symbols); @@ -15609,7 +15609,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15617,7 +15617,7 @@ mod __parse__Top { (5, 203) } 658 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1625); + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1627); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant61(__symbols); @@ -15628,7 +15628,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15636,7 +15636,7 @@ mod __parse__Top { (7, 203) } 659 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1626); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1628); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); let __sym6 = __pop_Variant61(__symbols); @@ -15648,7 +15648,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15656,7 +15656,7 @@ mod __parse__Top { (8, 203) } 660 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1627); + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1629); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15664,7 +15664,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15672,7 +15672,7 @@ mod __parse__Top { (4, 203) } 661 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1628); + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1630); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15682,7 +15682,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15690,7 +15690,7 @@ mod __parse__Top { (6, 203) } 662 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1629); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1631); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15701,7 +15701,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15709,11 +15709,11 @@ mod __parse__Top { (7, 203) } 663 => { - // ParameterList = OneOrMore> => ActionFn(1630); + // ParameterList = OneOrMore> => ActionFn(1632); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1630::<>(__sym0) { + let __nt = match super::__action1632::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15721,14 +15721,14 @@ mod __parse__Top { (1, 203) } 664 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1631); + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1633); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15736,7 +15736,7 @@ mod __parse__Top { (3, 203) } 665 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1632); + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1634); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15744,7 +15744,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15752,7 +15752,7 @@ mod __parse__Top { (4, 203) } 666 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1633); + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1635); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15760,7 +15760,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1635::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15768,7 +15768,7 @@ mod __parse__Top { (4, 203) } 667 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1634); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1636); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -15778,7 +15778,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1636::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15786,7 +15786,7 @@ mod __parse__Top { (6, 203) } 668 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1635); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1637); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -15797,7 +15797,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1635::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1637::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15805,14 +15805,14 @@ mod __parse__Top { (7, 203) } 669 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1636); + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1638); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1636::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1638::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15820,7 +15820,7 @@ mod __parse__Top { (3, 203) } 670 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1637); + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1639); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -15829,7 +15829,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1637::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1639::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15837,7 +15837,7 @@ mod __parse__Top { (5, 203) } 671 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1638); + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1640); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -15847,7 +15847,7 @@ mod __parse__Top { let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1638::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1640::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15855,7 +15855,7 @@ mod __parse__Top { (6, 203) } 672 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1361); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1363); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15864,7 +15864,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15872,7 +15872,7 @@ mod __parse__Top { (5, 203) } 673 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1362); + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1364); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15880,7 +15880,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15888,7 +15888,7 @@ mod __parse__Top { (4, 203) } 674 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1363); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1365); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); @@ -15898,7 +15898,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15906,7 +15906,7 @@ mod __parse__Top { (6, 203) } 675 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1364); + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1366); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15915,7 +15915,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1366::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15923,14 +15923,14 @@ mod __parse__Top { (5, 203) } 676 => { - // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1365); + // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1367); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1367::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15938,13 +15938,13 @@ mod __parse__Top { (3, 203) } 677 => { - // ParameterList = "*", "," => ActionFn(1366); + // ParameterList = "*", "," => ActionFn(1368); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1366::<>(__sym0, __sym1) { + let __nt = match super::__action1368::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15952,7 +15952,7 @@ mod __parse__Top { (2, 203) } 678 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1367); + // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1369); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); @@ -15960,7 +15960,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1367::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1369::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15968,14 +15968,14 @@ mod __parse__Top { (4, 203) } 679 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1368); + // ParameterList = "*", ("," >)+, "," => ActionFn(1370); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1368::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1370::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15983,7 +15983,7 @@ mod __parse__Top { (3, 203) } 680 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1369); + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1371); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -15991,7 +15991,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1369::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1371::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -15999,14 +15999,14 @@ mod __parse__Top { (4, 203) } 681 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1370); + // ParameterList = "*", ",", KwargParameter => ActionFn(1372); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1370::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1372::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16014,7 +16014,7 @@ mod __parse__Top { (3, 203) } 682 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1371); + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1373); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -16023,7 +16023,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1371::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1373::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16031,7 +16031,7 @@ mod __parse__Top { (5, 203) } 683 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1372); + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1374); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16039,7 +16039,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1372::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1374::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16047,13 +16047,13 @@ mod __parse__Top { (4, 203) } 684 => { - // ParameterList = "*", StarUntypedParameter => ActionFn(1373); + // ParameterList = "*", StarUntypedParameter => ActionFn(1375); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1373::<>(__sym0, __sym1) { + let __nt = match super::__action1375::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16061,11 +16061,11 @@ mod __parse__Top { (2, 203) } 685 => { - // ParameterList = "*" => ActionFn(1374); + // ParameterList = "*" => ActionFn(1376); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1374::<>(__sym0) { + let __nt = match super::__action1376::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16073,14 +16073,14 @@ mod __parse__Top { (1, 203) } 686 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1375); + // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1377); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1375::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1377::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16088,13 +16088,13 @@ mod __parse__Top { (3, 203) } 687 => { - // ParameterList = "*", ("," >)+ => ActionFn(1376); + // ParameterList = "*", ("," >)+ => ActionFn(1378); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1376::<>(__sym0, __sym1) { + let __nt = match super::__action1378::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16352,14 +16352,14 @@ mod __parse__Top { (2, 206) } 708 => { - // Parameters = "(", ParameterList, ")" => ActionFn(1459); + // Parameters = "(", ParameterList, ")" => ActionFn(1461); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant44(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1459::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1461::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -16367,13 +16367,13 @@ mod __parse__Top { (3, 207) } 709 => { - // Parameters = "(", ")" => ActionFn(1460); + // Parameters = "(", ")" => ActionFn(1462); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1460::<>(__sym0, __sym1) { + let __nt = match super::__action1462::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -19411,13 +19411,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = OneOrMore>, "," => ActionFn(1439); + // ( ",") = OneOrMore>, "," => ActionFn(1441); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1439::<>(__sym0, __sym1); + let __nt = super::__action1441::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (2, 65) } @@ -19428,13 +19428,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")? = OneOrMore>, "," => ActionFn(1442); + // ( ",")? = OneOrMore>, "," => ActionFn(1444); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1442::<>(__sym0, __sym1); + let __nt = super::__action1444::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant39(__nt), __end)); (2, 66) } @@ -19474,11 +19474,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = string => ActionFn(1451); + // (@L string @R)+ = string => ActionFn(1453); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1451::<>(__sym0); + let __nt = super::__action1453::<>(__sym0); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (1, 68) } @@ -19489,13 +19489,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = (@L string @R)+, string => ActionFn(1452); + // (@L string @R)+ = (@L string @R)+, string => ActionFn(1454); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1452::<>(__sym0, __sym1); + let __nt = super::__action1454::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (2, 68) } @@ -19523,13 +19523,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1453); + // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1455); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant53(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1453::<>(__sym0, __sym1); + let __nt = super::__action1455::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (2, 70) } @@ -19540,14 +19540,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1454); + // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1456); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant53(__symbols); let __sym0 = __pop_Variant43(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1454::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1456::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (3, 70) } @@ -19573,11 +19573,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard)? = Guard => ActionFn(1455); + // (Guard)? = Guard => ActionFn(1457); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1455::<>(__sym0); + let __nt = super::__action1457::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 72) } @@ -19617,11 +19617,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList)? = ParameterList => ActionFn(1458); + // (ParameterList)? = ParameterList => ActionFn(1460); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1458::<>(__sym0); + let __nt = super::__action1460::<>(__sym0); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); (1, 74) } @@ -20091,14 +20091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1515); + // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1517); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1515::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1517::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20109,13 +20109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", "]" => ActionFn(1516); + // Atom<"all"> = "[", "]" => ActionFn(1518); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1516::<>(__sym0, __sym1); + let __nt = super::__action1518::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20236,14 +20236,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1499); + // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1501); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1499::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1501::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20254,13 +20254,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", "}" => ActionFn(1500); + // Atom<"all"> = "{", "}" => ActionFn(1502); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1500::<>(__sym0, __sym1); + let __nt = super::__action1502::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20417,14 +20417,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1517); + // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1519); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1517::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1519::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20435,13 +20435,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", "]" => ActionFn(1518); + // Atom<"no-withitems"> = "[", "]" => ActionFn(1520); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1518::<>(__sym0, __sym1); + let __nt = super::__action1520::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20525,14 +20525,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1501); + // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1503); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1501::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1503::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20543,13 +20543,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", "}" => ActionFn(1502); + // Atom<"no-withitems"> = "{", "}" => ActionFn(1504); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1502::<>(__sym0, __sym1); + let __nt = super::__action1504::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -21092,7 +21092,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1487); + // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1489); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21103,7 +21103,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 100) } @@ -21114,7 +21114,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1488); + // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1490); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -21126,7 +21126,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 100) } @@ -21137,7 +21137,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, ":", Suite => ActionFn(1489); + // ClassDef = "class", Identifier, ":", Suite => ActionFn(1491); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -21145,7 +21145,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 100) } @@ -21156,7 +21156,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1490); + // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1492); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21165,7 +21165,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1492::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 100) } @@ -21559,11 +21559,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = FunctionArgument => ActionFn(1465); + // Comma = FunctionArgument => ActionFn(1467); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1465::<>(__sym0); + let __nt = super::__action1467::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21574,10 +21574,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1466); + // Comma = => ActionFn(1468); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1466::<>(&__start, &__end); + let __nt = super::__action1468::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (0, 103) } @@ -21588,13 +21588,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, FunctionArgument => ActionFn(1467); + // Comma = ( ",")+, FunctionArgument => ActionFn(1469); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1467::<>(__sym0, __sym1); + let __nt = super::__action1469::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (2, 103) } @@ -21605,11 +21605,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1468); + // Comma = ( ",")+ => ActionFn(1470); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1468::<>(__sym0); + let __nt = super::__action1470::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } @@ -21620,11 +21620,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = Pattern => ActionFn(1473); + // Comma = Pattern => ActionFn(1475); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1473::<>(__sym0); + let __nt = super::__action1475::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -21635,10 +21635,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1474); + // Comma = => ActionFn(1476); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1474::<>(&__start, &__end); + let __nt = super::__action1476::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (0, 104) } @@ -21649,13 +21649,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, Pattern => ActionFn(1475); + // Comma = ( ",")+, Pattern => ActionFn(1477); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1475::<>(__sym0, __sym1); + let __nt = super::__action1477::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (2, 104) } @@ -21666,11 +21666,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1476); + // Comma = ( ",")+ => ActionFn(1478); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1476::<>(__sym0); + let __nt = super::__action1478::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } @@ -22534,7 +22534,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1643); + // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1645); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -22542,7 +22542,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1643::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1645::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (4, 128) } @@ -22553,14 +22553,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", ":", Suite => ActionFn(1644); + // ExceptClause = "except", ":", Suite => ActionFn(1646); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1644::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1646::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (3, 128) } @@ -22856,11 +22856,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList => ActionFn(1668); + // ExpressionStatement = GenericList => ActionFn(1670); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1668::<>(__sym0); + let __nt = super::__action1670::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 138) } @@ -22871,13 +22871,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1669); + // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1671); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant17(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1669::<>(__sym0, __sym1); + let __nt = super::__action1671::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 138) } @@ -22888,14 +22888,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1670); + // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1672); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1670::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1672::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -22906,7 +22906,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1463); + // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1465); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -22914,7 +22914,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1463::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1465::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 138) } @@ -22925,14 +22925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1464); + // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1466); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1464::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1466::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } @@ -23037,13 +23037,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return", GenericList => ActionFn(1664); + // FlowStatement = "return", GenericList => ActionFn(1666); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1664::<>(__sym0, __sym1); + let __nt = super::__action1666::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 141) } @@ -23054,11 +23054,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return" => ActionFn(1665); + // FlowStatement = "return" => ActionFn(1667); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1665::<>(__sym0); + let __nt = super::__action1667::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } @@ -23099,7 +23099,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1655); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1657); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -23113,7 +23113,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1655::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1657::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 142) } @@ -23124,7 +23124,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1656); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1658); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23135,7 +23135,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1656::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1658::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 142) } @@ -23146,7 +23146,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1657); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1659); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23159,7 +23159,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1657::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1659::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 142) } @@ -23170,7 +23170,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1658); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1660); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23180,7 +23180,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1658::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1660::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 142) } @@ -23191,7 +23191,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1491); + // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1493); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23203,7 +23203,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1493::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23214,7 +23214,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1492); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1494); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23227,7 +23227,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1492::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1494::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 143) } @@ -23238,7 +23238,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1493); + // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1495); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23248,7 +23248,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1493::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1495::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23259,7 +23259,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1494); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1496); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23270,7 +23270,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1494::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1496::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23281,7 +23281,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1495); + // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1497); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23292,7 +23292,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1495::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1497::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } @@ -23303,7 +23303,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1496); + // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1498); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23315,7 +23315,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1496::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1498::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } @@ -23326,7 +23326,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1497); + // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1499); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -23335,7 +23335,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1497::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1499::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 143) } @@ -23346,7 +23346,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1498); + // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1500); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23356,7 +23356,7 @@ mod __parse__Top { let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1498::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1500::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } @@ -23367,13 +23367,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1481); + // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1483); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant51(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1481::<>(__sym0, __sym1); + let __nt = super::__action1483::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } @@ -23384,11 +23384,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest => ActionFn(1482); + // FunctionArgument = NamedExpressionTest => ActionFn(1484); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1482::<>(__sym0); + let __nt = super::__action1484::<>(__sym0); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (1, 144) } @@ -23901,11 +23901,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = DottedName => ActionFn(1513); + // ImportFromLocation = DottedName => ActionFn(1515); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1513::<>(__sym0); + let __nt = super::__action1515::<>(__sym0); __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } @@ -23916,13 +23916,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = ImportDots+, DottedName => ActionFn(1514); + // ImportFromLocation = ImportDots+, DottedName => ActionFn(1516); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1514::<>(__sym0, __sym1); + let __nt = super::__action1516::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (2, 158) } @@ -23984,13 +23984,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1503); + // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1505); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1503::<>(__sym0, __sym1); + let __nt = super::__action1505::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 160) } @@ -24001,11 +24001,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(1504); + // KwargParameter = "**" => ActionFn(1506); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1504::<>(__sym0); + let __nt = super::__action1506::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 160) } @@ -24410,7 +24410,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1456); + // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1458); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24419,7 +24419,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1456::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1458::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (5, 168) } @@ -24430,7 +24430,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, ":", Suite => ActionFn(1457); + // MatchCase = "case", Patterns, ":", Suite => ActionFn(1459); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24438,7 +24438,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1457::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1459::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (4, 168) } @@ -24991,14 +24991,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName, "as", Identifier => ActionFn(1505); + // OneOrMore> = DottedName, "as", Identifier => ActionFn(1507); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1505::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1507::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } @@ -25009,11 +25009,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName => ActionFn(1506); + // OneOrMore> = DottedName => ActionFn(1508); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1506::<>(__sym0); + let __nt = super::__action1508::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 185) } @@ -25024,7 +25024,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1507); + // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1509); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -25033,7 +25033,7 @@ mod __parse__Top { let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1507::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1509::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 185) } @@ -25044,14 +25044,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1508); + // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1510); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1508::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1510::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } @@ -25062,14 +25062,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier, "as", Identifier => ActionFn(1509); + // OneOrMore> = Identifier, "as", Identifier => ActionFn(1511); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1509::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1511::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } @@ -25080,11 +25080,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier => ActionFn(1510); + // OneOrMore> = Identifier => ActionFn(1512); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1510::<>(__sym0); + let __nt = super::__action1512::<>(__sym0); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 186) } @@ -25095,7 +25095,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1511); + // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1513); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -25104,7 +25104,7 @@ mod __parse__Top { let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1511::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1513::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 186) } @@ -25115,14 +25115,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1512); + // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1514); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1512::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1514::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } @@ -25506,14 +25506,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = TypedParameter, "=", Test<"all"> => ActionFn(454); + // ParameterDef = TypedParameter, "=", Test<"all"> => ActionFn(1303); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action454::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1303::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (3, 198) } @@ -25539,14 +25539,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = UntypedParameter, "=", Test<"all"> => ActionFn(443); + // ParameterDef = UntypedParameter, "=", Test<"all"> => ActionFn(1304); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action443::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1304::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (3, 199) } @@ -25661,13 +25661,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1339); + // ParameterList = KwargParameter, "," => ActionFn(1341); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1339::<>(__sym0, __sym1); + let __nt = super::__action1341::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 202) } @@ -25678,11 +25678,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1340); + // ParameterList = KwargParameter => ActionFn(1342); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1340::<>(__sym0); + let __nt = super::__action1342::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 202) } @@ -25693,13 +25693,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1377); + // ParameterList = KwargParameter, "," => ActionFn(1379); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1377::<>(__sym0, __sym1); + let __nt = super::__action1379::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (2, 203) } @@ -25710,11 +25710,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1378); + // ParameterList = KwargParameter => ActionFn(1380); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1378::<>(__sym0); + let __nt = super::__action1380::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 203) } @@ -25754,11 +25754,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // PassStatement = "pass" => ActionFn(1380); + // PassStatement = "pass" => ActionFn(1382); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1380::<>(__sym0); + let __nt = super::__action1382::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 208) } @@ -25828,13 +25828,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = Pattern, "," => ActionFn(1381); + // Patterns = Pattern, "," => ActionFn(1383); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1381::<>(__sym0, __sym1); + let __nt = super::__action1383::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25845,13 +25845,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore, "," => ActionFn(1382); + // Patterns = TwoOrMore, "," => ActionFn(1384); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1382::<>(__sym0, __sym1); + let __nt = super::__action1384::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 211) } @@ -25862,11 +25862,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore => ActionFn(1383); + // Patterns = TwoOrMore => ActionFn(1385); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1383::<>(__sym0); + let __nt = super::__action1385::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 211) } @@ -25892,14 +25892,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1384); + // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1386); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1384::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1386::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 212) } @@ -25925,14 +25925,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1385); + // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1387); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1385::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1387::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 213) } @@ -26082,11 +26082,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise" => ActionFn(1386); + // RaiseStatement = "raise" => ActionFn(1388); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1386::<>(__sym0); + let __nt = super::__action1388::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 215) } @@ -26097,7 +26097,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1387); + // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1389); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26105,7 +26105,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1387::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1389::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 215) } @@ -26116,13 +26116,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all"> => ActionFn(1388); + // RaiseStatement = "raise", Test<"all"> => ActionFn(1390); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1388::<>(__sym0, __sym1); + let __nt = super::__action1390::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 215) } @@ -26133,14 +26133,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ")" => ActionFn(1389); + // SequencePattern = "(", Pattern, ")" => ActionFn(1391); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1391::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26151,13 +26151,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ")" => ActionFn(1390); + // SequencePattern = "(", ")" => ActionFn(1392); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1390::<>(__sym0, __sym1); + let __nt = super::__action1392::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26168,7 +26168,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1391); + // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1393); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26176,7 +26176,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1391::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1393::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26187,7 +26187,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1392); + // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1394); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26196,7 +26196,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1392::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1394::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 216) } @@ -26207,7 +26207,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1393); + // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1395); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26215,7 +26215,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1393::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1395::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26226,14 +26226,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", Pattern, "]" => ActionFn(1477); + // SequencePattern = "[", Pattern, "]" => ActionFn(1479); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1477::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1479::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26244,13 +26244,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", "]" => ActionFn(1478); + // SequencePattern = "[", "]" => ActionFn(1480); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1478::<>(__sym0, __sym1); + let __nt = super::__action1480::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 216) } @@ -26261,7 +26261,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1479); + // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1481); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26269,7 +26269,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 216) } @@ -26280,14 +26280,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, "]" => ActionFn(1480); + // SequencePattern = "[", ( ",")+, "]" => ActionFn(1482); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant34(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1480::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1482::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 216) } @@ -26330,14 +26330,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1395); + // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1397); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1395::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1397::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 218) } @@ -26363,14 +26363,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1396); + // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1398); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1396::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1398::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 219) } @@ -26426,7 +26426,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1483); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1485); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26435,7 +26435,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } @@ -26446,7 +26446,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1484); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1486); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant17(__symbols); let __sym4 = __pop_Variant15(__symbols); @@ -26456,7 +26456,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (6, 221) } @@ -26467,7 +26467,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1485); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1487); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26475,7 +26475,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (4, 221) } @@ -26486,7 +26486,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1486); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1488); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant17(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -26495,7 +26495,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant81(__nt), __end)); (5, 221) } @@ -26538,13 +26538,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":", Test<"all"> => ActionFn(1645); + // SliceOp = ":", Test<"all"> => ActionFn(1647); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1645::<>(__sym0, __sym1); + let __nt = super::__action1647::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (2, 223) } @@ -26555,11 +26555,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":" => ActionFn(1646); + // SliceOp = ":" => ActionFn(1648); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1646::<>(__sym0); + let __nt = super::__action1648::<>(__sym0); __symbols.push((__start, __Symbol::Variant83(__nt), __end)); (1, 223) } @@ -26719,13 +26719,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarExpr = "*", Expression<"all"> => ActionFn(1399); + // StarExpr = "*", Expression<"all"> => ActionFn(1401); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1399::<>(__sym0, __sym1); + let __nt = super::__action1401::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 226) } @@ -26736,13 +26736,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarPattern = "*", Identifier => ActionFn(1400); + // StarPattern = "*", Identifier => ActionFn(1402); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1400::<>(__sym0, __sym1); + let __nt = super::__action1402::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 227) } @@ -26753,14 +26753,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1401); + // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1403); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1401::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1403::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 228) } @@ -26771,11 +26771,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier => ActionFn(1402); + // StarTypedParameter = Identifier => ActionFn(1404); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1402::<>(__sym0); + let __nt = super::__action1404::<>(__sym0); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 228) } @@ -26815,11 +26815,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter = Identifier => ActionFn(1403); + // StarUntypedParameter = Identifier => ActionFn(1405); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1403::<>(__sym0); + let __nt = super::__action1405::<>(__sym0); __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 230) } @@ -27054,7 +27054,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1647); + // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1649); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant83(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -27062,7 +27062,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1647::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1649::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 233) } @@ -27073,14 +27073,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", SliceOp => ActionFn(1648); + // Subscript = Test<"all">, ":", SliceOp => ActionFn(1650); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1648::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1650::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27091,14 +27091,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all">, SliceOp => ActionFn(1649); + // Subscript = ":", Test<"all">, SliceOp => ActionFn(1651); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant83(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1649::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1651::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27109,13 +27109,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", SliceOp => ActionFn(1650); + // Subscript = ":", SliceOp => ActionFn(1652); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant83(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1650::<>(__sym0, __sym1); + let __nt = super::__action1652::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27126,14 +27126,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1651); + // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1653); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1651::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1653::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 233) } @@ -27144,13 +27144,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":" => ActionFn(1652); + // Subscript = Test<"all">, ":" => ActionFn(1654); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1652::<>(__sym0, __sym1); + let __nt = super::__action1654::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27161,13 +27161,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all"> => ActionFn(1653); + // Subscript = ":", Test<"all"> => ActionFn(1655); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1653::<>(__sym0, __sym1); + let __nt = super::__action1655::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 233) } @@ -27178,11 +27178,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":" => ActionFn(1654); + // Subscript = ":" => ActionFn(1656); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1654::<>(__sym0); + let __nt = super::__action1656::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 233) } @@ -27193,11 +27193,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript => ActionFn(1405); + // SubscriptList = Subscript => ActionFn(1407); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1405::<>(__sym0); + let __nt = super::__action1407::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27208,13 +27208,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript, "," => ActionFn(1406); + // SubscriptList = Subscript, "," => ActionFn(1408); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1406::<>(__sym0, __sym1); + let __nt = super::__action1408::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27225,13 +27225,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore, "," => ActionFn(1407); + // SubscriptList = TwoOrMore, "," => ActionFn(1409); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1407::<>(__sym0, __sym1); + let __nt = super::__action1409::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 234) } @@ -27242,11 +27242,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore => ActionFn(1408); + // SubscriptList = TwoOrMore => ActionFn(1410); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1408::<>(__sym0); + let __nt = super::__action1410::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 234) } @@ -27348,14 +27348,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1409); + // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1411); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1409::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1411::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 236) } @@ -27381,14 +27381,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1410); + // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1412); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1410::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1412::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 237) } @@ -27414,7 +27414,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1411); + // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1413); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27423,7 +27423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1413::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 238) } @@ -27493,7 +27493,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1412); + // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1414); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27502,7 +27502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1414::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (5, 240) } @@ -27558,11 +27558,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList? = GenericList => ActionFn(1659); + // TestList? = GenericList => ActionFn(1661); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1659::<>(__sym0); + let __nt = super::__action1661::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 242) } @@ -27587,11 +27587,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestListOrYieldExpr = GenericList => ActionFn(1660); + // TestListOrYieldExpr = GenericList => ActionFn(1662); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1660::<>(__sym0); + let __nt = super::__action1662::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 243) } @@ -27647,11 +27647,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExprList = GenericList => ActionFn(1661); + // TestOrStarExprList = GenericList => ActionFn(1663); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1661::<>(__sym0); + let __nt = super::__action1663::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 245) } @@ -27692,13 +27692,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartModule, Program => ActionFn(1413); + // Top = StartModule, Program => ActionFn(1415); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1413::<>(__sym0, __sym1); + let __nt = super::__action1415::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27709,13 +27709,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartInteractive, Program => ActionFn(1414); + // Top = StartInteractive, Program => ActionFn(1416); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1414::<>(__sym0, __sym1); + let __nt = super::__action1416::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27726,13 +27726,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList => ActionFn(1662); + // Top = StartExpression, GenericList => ActionFn(1664); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1662::<>(__sym0, __sym1); + let __nt = super::__action1664::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (2, 247) } @@ -27743,14 +27743,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1663); + // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1665); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant22(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1663::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1665::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant86(__nt), __end)); (3, 247) } @@ -27761,7 +27761,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1417); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1419); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27775,7 +27775,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1419::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27786,7 +27786,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1418); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1420); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27797,7 +27797,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1418::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1420::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27808,7 +27808,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1419); + // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1421); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27819,7 +27819,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1419::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1421::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27830,7 +27830,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1420); + // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1422); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); @@ -27838,7 +27838,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1420::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1422::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -27849,7 +27849,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1421); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1423); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27863,7 +27863,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1421::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1423::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 248) } @@ -27874,7 +27874,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1422); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1424); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27885,7 +27885,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1422::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1424::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27896,7 +27896,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1423); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1425); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -27907,7 +27907,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1423::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1425::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 248) } @@ -27918,7 +27918,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1424); + // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1426); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); @@ -27926,7 +27926,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1424::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1426::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 248) } @@ -28102,14 +28102,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1425); + // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1427); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1425::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1427::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (3, 253) } @@ -28120,11 +28120,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier => ActionFn(1426); + // TypedParameter = Identifier => ActionFn(1428); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1426::<>(__sym0); + let __nt = super::__action1428::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 253) } @@ -28180,11 +28180,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UntypedParameter = Identifier => ActionFn(1427); + // UntypedParameter = Identifier => ActionFn(1429); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1427::<>(__sym0); + let __nt = super::__action1429::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (1, 255) } @@ -28195,11 +28195,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ValuePattern = MatchNameOrAttr => ActionFn(1428); + // ValuePattern = MatchNameOrAttr => ActionFn(1430); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1428::<>(__sym0); + let __nt = super::__action1430::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 256) } @@ -28251,11 +28251,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all"> => ActionFn(1429); + // WithItem<"all"> = Test<"all"> => ActionFn(1431); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1429::<>(__sym0); + let __nt = super::__action1431::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 258) } @@ -28266,14 +28266,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1430); + // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1432); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1430::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1432::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 258) } @@ -28284,14 +28284,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1431); + // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1433); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1431::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1433::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 259) } @@ -28302,11 +28302,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1432); + // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1434); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1432::<>(__sym0); + let __nt = super::__action1434::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (1, 260) } @@ -28317,14 +28317,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1433); + // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1435); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1433::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1435::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (3, 260) } @@ -28335,7 +28335,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1440); + // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1442); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28343,7 +28343,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1442::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28354,14 +28354,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ")" => ActionFn(1441); + // WithItems = "(", OneOrMore>, ")" => ActionFn(1443); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1441::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1443::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28372,7 +28372,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1443); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1445); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -28382,7 +28382,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1445::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28393,7 +28393,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1444); + // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1446); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28401,7 +28401,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1444::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1446::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28412,7 +28412,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1445); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1447); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28423,7 +28423,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1445::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1447::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (7, 261) } @@ -28434,7 +28434,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1446); + // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1448); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28443,7 +28443,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1446::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1448::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28454,7 +28454,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1447); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1449); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant18(__symbols); @@ -28463,7 +28463,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1447::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1449::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (5, 261) } @@ -28474,14 +28474,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ")" => ActionFn(1448); + // WithItems = "(", WithItem<"as">, ")" => ActionFn(1450); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1448::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1450::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (3, 261) } @@ -28492,7 +28492,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1449); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1451); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant19(__symbols); @@ -28502,7 +28502,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1449::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1451::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (6, 261) } @@ -28513,7 +28513,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1450); + // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1452); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant19(__symbols); @@ -28521,7 +28521,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1452::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (4, 261) } @@ -28564,11 +28564,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItemsNoAs = OneOrMore> => ActionFn(1434); + // WithItemsNoAs = OneOrMore> => ActionFn(1436); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1434::<>(__sym0); + let __nt = super::__action1436::<>(__sym0); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (1, 262) } @@ -28618,14 +28618,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1435); + // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1437); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1435::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1437::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 264) } @@ -28651,14 +28651,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1436); + // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1438); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1436::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1438::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 265) } @@ -28684,13 +28684,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", GenericList => ActionFn(1666); + // YieldExpr = "yield", GenericList => ActionFn(1668); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1666::<>(__sym0, __sym1); + let __nt = super::__action1668::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 266) } @@ -28701,11 +28701,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield" => ActionFn(1667); + // YieldExpr = "yield" => ActionFn(1669); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1667::<>(__sym0); + let __nt = super::__action1669::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 266) } @@ -28716,14 +28716,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1438); + // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1440); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1438::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1440::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 266) } @@ -34371,10 +34371,15 @@ fn __action443< (_, mut i, _): (TextSize, ast::ArgWithDefault, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::ArgWithDefault { { i.default = Some(Box::new(e)); + #[cfg(feature = "all-nodes-with-ranges")] + { + i.range = optional_range(i.range.start(), end_location); + } i } } @@ -34484,10 +34489,15 @@ fn __action454< (_, mut i, _): (TextSize, ast::ArgWithDefault, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::ArgWithDefault { { i.default = Some(Box::new(e)); + #[cfg(feature = "all-nodes-with-ranges")] + { + i.range = optional_range(i.range.start(), end_location); + } i } } @@ -54025,6 +54035,52 @@ fn __action1302< #[allow(clippy::too_many_arguments)] fn __action1303< +>( + __0: (TextSize, ast::ArgWithDefault, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), +) -> ast::ArgWithDefault +{ + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action454( + __0, + __1, + __2, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1304< +>( + __0: (TextSize, ast::ArgWithDefault, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), +) -> ast::ArgWithDefault +{ + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action372( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action443( + __0, + __1, + __2, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1305< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54055,7 +54111,7 @@ fn __action1303< } #[allow(clippy::too_many_arguments)] -fn __action1304< +fn __action1306< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54084,7 +54140,7 @@ fn __action1304< } #[allow(clippy::too_many_arguments)] -fn __action1305< +fn __action1307< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54117,7 +54173,7 @@ fn __action1305< } #[allow(clippy::too_many_arguments)] -fn __action1306< +fn __action1308< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54148,7 +54204,7 @@ fn __action1306< } #[allow(clippy::too_many_arguments)] -fn __action1307< +fn __action1309< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54175,7 +54231,7 @@ fn __action1307< } #[allow(clippy::too_many_arguments)] -fn __action1308< +fn __action1310< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54200,7 +54256,7 @@ fn __action1308< } #[allow(clippy::too_many_arguments)] -fn __action1309< +fn __action1311< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54229,7 +54285,7 @@ fn __action1309< } #[allow(clippy::too_many_arguments)] -fn __action1310< +fn __action1312< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54256,7 +54312,7 @@ fn __action1310< } #[allow(clippy::too_many_arguments)] -fn __action1311< +fn __action1313< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54277,7 +54333,7 @@ fn __action1311< } #[allow(clippy::too_many_arguments)] -fn __action1312< +fn __action1314< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54306,7 +54362,7 @@ fn __action1312< } #[allow(clippy::too_many_arguments)] -fn __action1313< +fn __action1315< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54333,7 +54389,7 @@ fn __action1313< } #[allow(clippy::too_many_arguments)] -fn __action1314< +fn __action1316< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54364,7 +54420,7 @@ fn __action1314< } #[allow(clippy::too_many_arguments)] -fn __action1315< +fn __action1317< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54393,7 +54449,7 @@ fn __action1315< } #[allow(clippy::too_many_arguments)] -fn __action1316< +fn __action1318< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54418,7 +54474,7 @@ fn __action1316< } #[allow(clippy::too_many_arguments)] -fn __action1317< +fn __action1319< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54441,7 +54497,7 @@ fn __action1317< } #[allow(clippy::too_many_arguments)] -fn __action1318< +fn __action1320< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54468,7 +54524,7 @@ fn __action1318< } #[allow(clippy::too_many_arguments)] -fn __action1319< +fn __action1321< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54493,7 +54549,7 @@ fn __action1319< } #[allow(clippy::too_many_arguments)] -fn __action1320< +fn __action1322< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -54512,7 +54568,7 @@ fn __action1320< } #[allow(clippy::too_many_arguments)] -fn __action1321< +fn __action1323< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54537,7 +54593,7 @@ fn __action1321< } #[allow(clippy::too_many_arguments)] -fn __action1322< +fn __action1324< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54560,7 +54616,7 @@ fn __action1322< } #[allow(clippy::too_many_arguments)] -fn __action1323< +fn __action1325< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54587,7 +54643,7 @@ fn __action1323< } #[allow(clippy::too_many_arguments)] -fn __action1324< +fn __action1326< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54612,7 +54668,7 @@ fn __action1324< } #[allow(clippy::too_many_arguments)] -fn __action1325< +fn __action1327< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54641,7 +54697,7 @@ fn __action1325< } #[allow(clippy::too_many_arguments)] -fn __action1326< +fn __action1328< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54668,7 +54724,7 @@ fn __action1326< } #[allow(clippy::too_many_arguments)] -fn __action1327< +fn __action1329< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54691,7 +54747,7 @@ fn __action1327< } #[allow(clippy::too_many_arguments)] -fn __action1328< +fn __action1330< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54712,7 +54768,7 @@ fn __action1328< } #[allow(clippy::too_many_arguments)] -fn __action1329< +fn __action1331< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54737,7 +54793,7 @@ fn __action1329< } #[allow(clippy::too_many_arguments)] -fn __action1330< +fn __action1332< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54760,7 +54816,7 @@ fn __action1330< } #[allow(clippy::too_many_arguments)] -fn __action1331< +fn __action1333< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54785,7 +54841,7 @@ fn __action1331< } #[allow(clippy::too_many_arguments)] -fn __action1332< +fn __action1334< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54808,7 +54864,7 @@ fn __action1332< } #[allow(clippy::too_many_arguments)] -fn __action1333< +fn __action1335< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54835,7 +54891,7 @@ fn __action1333< } #[allow(clippy::too_many_arguments)] -fn __action1334< +fn __action1336< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54860,7 +54916,7 @@ fn __action1334< } #[allow(clippy::too_many_arguments)] -fn __action1335< +fn __action1337< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54881,7 +54937,7 @@ fn __action1335< } #[allow(clippy::too_many_arguments)] -fn __action1336< +fn __action1338< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -54900,7 +54956,7 @@ fn __action1336< } #[allow(clippy::too_many_arguments)] -fn __action1337< +fn __action1339< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54923,7 +54979,7 @@ fn __action1337< } #[allow(clippy::too_many_arguments)] -fn __action1338< +fn __action1340< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54944,7 +55000,7 @@ fn __action1338< } #[allow(clippy::too_many_arguments)] -fn __action1339< +fn __action1341< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54965,7 +55021,7 @@ fn __action1339< } #[allow(clippy::too_many_arguments)] -fn __action1340< +fn __action1342< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -54984,7 +55040,7 @@ fn __action1340< } #[allow(clippy::too_many_arguments)] -fn __action1341< +fn __action1343< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55015,7 +55071,7 @@ fn __action1341< } #[allow(clippy::too_many_arguments)] -fn __action1342< +fn __action1344< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55044,7 +55100,7 @@ fn __action1342< } #[allow(clippy::too_many_arguments)] -fn __action1343< +fn __action1345< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55077,7 +55133,7 @@ fn __action1343< } #[allow(clippy::too_many_arguments)] -fn __action1344< +fn __action1346< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55108,7 +55164,7 @@ fn __action1344< } #[allow(clippy::too_many_arguments)] -fn __action1345< +fn __action1347< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55135,7 +55191,7 @@ fn __action1345< } #[allow(clippy::too_many_arguments)] -fn __action1346< +fn __action1348< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55160,7 +55216,7 @@ fn __action1346< } #[allow(clippy::too_many_arguments)] -fn __action1347< +fn __action1349< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55189,7 +55245,7 @@ fn __action1347< } #[allow(clippy::too_many_arguments)] -fn __action1348< +fn __action1350< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55216,7 +55272,7 @@ fn __action1348< } #[allow(clippy::too_many_arguments)] -fn __action1349< +fn __action1351< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55237,7 +55293,7 @@ fn __action1349< } #[allow(clippy::too_many_arguments)] -fn __action1350< +fn __action1352< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55266,7 +55322,7 @@ fn __action1350< } #[allow(clippy::too_many_arguments)] -fn __action1351< +fn __action1353< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55293,7 +55349,7 @@ fn __action1351< } #[allow(clippy::too_many_arguments)] -fn __action1352< +fn __action1354< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55324,7 +55380,7 @@ fn __action1352< } #[allow(clippy::too_many_arguments)] -fn __action1353< +fn __action1355< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55353,7 +55409,7 @@ fn __action1353< } #[allow(clippy::too_many_arguments)] -fn __action1354< +fn __action1356< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55378,7 +55434,7 @@ fn __action1354< } #[allow(clippy::too_many_arguments)] -fn __action1355< +fn __action1357< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55401,7 +55457,7 @@ fn __action1355< } #[allow(clippy::too_many_arguments)] -fn __action1356< +fn __action1358< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55428,7 +55484,7 @@ fn __action1356< } #[allow(clippy::too_many_arguments)] -fn __action1357< +fn __action1359< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55453,7 +55509,7 @@ fn __action1357< } #[allow(clippy::too_many_arguments)] -fn __action1358< +fn __action1360< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> @@ -55472,7 +55528,7 @@ fn __action1358< } #[allow(clippy::too_many_arguments)] -fn __action1359< +fn __action1361< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55497,7 +55553,7 @@ fn __action1359< } #[allow(clippy::too_many_arguments)] -fn __action1360< +fn __action1362< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55520,7 +55576,7 @@ fn __action1360< } #[allow(clippy::too_many_arguments)] -fn __action1361< +fn __action1363< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55547,7 +55603,7 @@ fn __action1361< } #[allow(clippy::too_many_arguments)] -fn __action1362< +fn __action1364< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55572,7 +55628,7 @@ fn __action1362< } #[allow(clippy::too_many_arguments)] -fn __action1363< +fn __action1365< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55601,7 +55657,7 @@ fn __action1363< } #[allow(clippy::too_many_arguments)] -fn __action1364< +fn __action1366< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55628,7 +55684,7 @@ fn __action1364< } #[allow(clippy::too_many_arguments)] -fn __action1365< +fn __action1367< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55651,7 +55707,7 @@ fn __action1365< } #[allow(clippy::too_many_arguments)] -fn __action1366< +fn __action1368< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55672,7 +55728,7 @@ fn __action1366< } #[allow(clippy::too_many_arguments)] -fn __action1367< +fn __action1369< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55697,7 +55753,7 @@ fn __action1367< } #[allow(clippy::too_many_arguments)] -fn __action1368< +fn __action1370< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55720,7 +55776,7 @@ fn __action1368< } #[allow(clippy::too_many_arguments)] -fn __action1369< +fn __action1371< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55745,7 +55801,7 @@ fn __action1369< } #[allow(clippy::too_many_arguments)] -fn __action1370< +fn __action1372< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55768,7 +55824,7 @@ fn __action1370< } #[allow(clippy::too_many_arguments)] -fn __action1371< +fn __action1373< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55795,7 +55851,7 @@ fn __action1371< } #[allow(clippy::too_many_arguments)] -fn __action1372< +fn __action1374< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55820,7 +55876,7 @@ fn __action1372< } #[allow(clippy::too_many_arguments)] -fn __action1373< +fn __action1375< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55841,7 +55897,7 @@ fn __action1373< } #[allow(clippy::too_many_arguments)] -fn __action1374< +fn __action1376< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> @@ -55860,7 +55916,7 @@ fn __action1374< } #[allow(clippy::too_many_arguments)] -fn __action1375< +fn __action1377< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55883,7 +55939,7 @@ fn __action1375< } #[allow(clippy::too_many_arguments)] -fn __action1376< +fn __action1378< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55904,7 +55960,7 @@ fn __action1376< } #[allow(clippy::too_many_arguments)] -fn __action1377< +fn __action1379< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55925,7 +55981,7 @@ fn __action1377< } #[allow(clippy::too_many_arguments)] -fn __action1378< +fn __action1380< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments @@ -55944,7 +56000,7 @@ fn __action1378< } #[allow(clippy::too_many_arguments)] -fn __action1379< +fn __action1381< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -55967,7 +56023,7 @@ fn __action1379< } #[allow(clippy::too_many_arguments)] -fn __action1380< +fn __action1382< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -55986,7 +56042,7 @@ fn __action1380< } #[allow(clippy::too_many_arguments)] -fn __action1381< +fn __action1383< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56007,7 +56063,7 @@ fn __action1381< } #[allow(clippy::too_many_arguments)] -fn __action1382< +fn __action1384< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56028,7 +56084,7 @@ fn __action1382< } #[allow(clippy::too_many_arguments)] -fn __action1383< +fn __action1385< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern @@ -56047,7 +56103,7 @@ fn __action1383< } #[allow(clippy::too_many_arguments)] -fn __action1384< +fn __action1386< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56070,7 +56126,7 @@ fn __action1384< } #[allow(clippy::too_many_arguments)] -fn __action1385< +fn __action1387< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56093,7 +56149,7 @@ fn __action1385< } #[allow(clippy::too_many_arguments)] -fn __action1386< +fn __action1388< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -56112,7 +56168,7 @@ fn __action1386< } #[allow(clippy::too_many_arguments)] -fn __action1387< +fn __action1389< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56137,7 +56193,7 @@ fn __action1387< } #[allow(clippy::too_many_arguments)] -fn __action1388< +fn __action1390< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56158,7 +56214,7 @@ fn __action1388< } #[allow(clippy::too_many_arguments)] -fn __action1389< +fn __action1391< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56181,7 +56237,7 @@ fn __action1389< } #[allow(clippy::too_many_arguments)] -fn __action1390< +fn __action1392< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56202,7 +56258,7 @@ fn __action1390< } #[allow(clippy::too_many_arguments)] -fn __action1391< +fn __action1393< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56227,7 +56283,7 @@ fn __action1391< } #[allow(clippy::too_many_arguments)] -fn __action1392< +fn __action1394< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56254,7 +56310,7 @@ fn __action1392< } #[allow(clippy::too_many_arguments)] -fn __action1393< +fn __action1395< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56279,7 +56335,7 @@ fn __action1393< } #[allow(clippy::too_many_arguments)] -fn __action1394< +fn __action1396< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -56302,7 +56358,7 @@ fn __action1394< } #[allow(clippy::too_many_arguments)] -fn __action1395< +fn __action1397< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56325,7 +56381,7 @@ fn __action1395< } #[allow(clippy::too_many_arguments)] -fn __action1396< +fn __action1398< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56348,7 +56404,7 @@ fn __action1396< } #[allow(clippy::too_many_arguments)] -fn __action1397< +fn __action1399< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56377,7 +56433,7 @@ fn __action1397< } #[allow(clippy::too_many_arguments)] -fn __action1398< +fn __action1400< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56404,7 +56460,7 @@ fn __action1398< } #[allow(clippy::too_many_arguments)] -fn __action1399< +fn __action1401< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56425,7 +56481,7 @@ fn __action1399< } #[allow(clippy::too_many_arguments)] -fn __action1400< +fn __action1402< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -56446,7 +56502,7 @@ fn __action1400< } #[allow(clippy::too_many_arguments)] -fn __action1401< +fn __action1403< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56469,7 +56525,7 @@ fn __action1401< } #[allow(clippy::too_many_arguments)] -fn __action1402< +fn __action1404< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56488,7 +56544,7 @@ fn __action1402< } #[allow(clippy::too_many_arguments)] -fn __action1403< +fn __action1405< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg @@ -56507,7 +56563,7 @@ fn __action1403< } #[allow(clippy::too_many_arguments)] -fn __action1404< +fn __action1406< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56532,7 +56588,7 @@ fn __action1404< } #[allow(clippy::too_many_arguments)] -fn __action1405< +fn __action1407< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -56551,7 +56607,7 @@ fn __action1405< } #[allow(clippy::too_many_arguments)] -fn __action1406< +fn __action1408< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56572,7 +56628,7 @@ fn __action1406< } #[allow(clippy::too_many_arguments)] -fn __action1407< +fn __action1409< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56593,7 +56649,7 @@ fn __action1407< } #[allow(clippy::too_many_arguments)] -fn __action1408< +fn __action1410< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr @@ -56612,7 +56668,7 @@ fn __action1408< } #[allow(clippy::too_many_arguments)] -fn __action1409< +fn __action1411< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56635,7 +56691,7 @@ fn __action1409< } #[allow(clippy::too_many_arguments)] -fn __action1410< +fn __action1412< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56658,7 +56714,7 @@ fn __action1410< } #[allow(clippy::too_many_arguments)] -fn __action1411< +fn __action1413< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56685,7 +56741,7 @@ fn __action1411< } #[allow(clippy::too_many_arguments)] -fn __action1412< +fn __action1414< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56712,7 +56768,7 @@ fn __action1412< } #[allow(clippy::too_many_arguments)] -fn __action1413< +fn __action1415< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56733,7 +56789,7 @@ fn __action1413< } #[allow(clippy::too_many_arguments)] -fn __action1414< +fn __action1416< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56754,7 +56810,7 @@ fn __action1414< } #[allow(clippy::too_many_arguments)] -fn __action1415< +fn __action1417< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56775,7 +56831,7 @@ fn __action1415< } #[allow(clippy::too_many_arguments)] -fn __action1416< +fn __action1418< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56798,7 +56854,7 @@ fn __action1416< } #[allow(clippy::too_many_arguments)] -fn __action1417< +fn __action1419< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56835,7 +56891,7 @@ fn __action1417< } #[allow(clippy::too_many_arguments)] -fn __action1418< +fn __action1420< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56866,7 +56922,7 @@ fn __action1418< } #[allow(clippy::too_many_arguments)] -fn __action1419< +fn __action1421< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56897,7 +56953,7 @@ fn __action1419< } #[allow(clippy::too_many_arguments)] -fn __action1420< +fn __action1422< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56922,7 +56978,7 @@ fn __action1420< } #[allow(clippy::too_many_arguments)] -fn __action1421< +fn __action1423< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56959,7 +57015,7 @@ fn __action1421< } #[allow(clippy::too_many_arguments)] -fn __action1422< +fn __action1424< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56990,7 +57046,7 @@ fn __action1422< } #[allow(clippy::too_many_arguments)] -fn __action1423< +fn __action1425< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57021,7 +57077,7 @@ fn __action1423< } #[allow(clippy::too_many_arguments)] -fn __action1424< +fn __action1426< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57046,7 +57102,7 @@ fn __action1424< } #[allow(clippy::too_many_arguments)] -fn __action1425< +fn __action1427< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57069,7 +57125,7 @@ fn __action1425< } #[allow(clippy::too_many_arguments)] -fn __action1426< +fn __action1428< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -57088,7 +57144,7 @@ fn __action1426< } #[allow(clippy::too_many_arguments)] -fn __action1427< +fn __action1429< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault @@ -57107,7 +57163,7 @@ fn __action1427< } #[allow(clippy::too_many_arguments)] -fn __action1428< +fn __action1430< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern @@ -57126,7 +57182,7 @@ fn __action1428< } #[allow(clippy::too_many_arguments)] -fn __action1429< +fn __action1431< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -57145,7 +57201,7 @@ fn __action1429< } #[allow(clippy::too_many_arguments)] -fn __action1430< +fn __action1432< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57168,7 +57224,7 @@ fn __action1430< } #[allow(clippy::too_many_arguments)] -fn __action1431< +fn __action1433< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57191,7 +57247,7 @@ fn __action1431< } #[allow(clippy::too_many_arguments)] -fn __action1432< +fn __action1434< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem @@ -57210,7 +57266,7 @@ fn __action1432< } #[allow(clippy::too_many_arguments)] -fn __action1433< +fn __action1435< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57233,7 +57289,7 @@ fn __action1433< } #[allow(clippy::too_many_arguments)] -fn __action1434< +fn __action1436< >( __0: (TextSize, Vec, TextSize), ) -> Vec @@ -57252,7 +57308,7 @@ fn __action1434< } #[allow(clippy::too_many_arguments)] -fn __action1435< +fn __action1437< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57275,7 +57331,7 @@ fn __action1435< } #[allow(clippy::too_many_arguments)] -fn __action1436< +fn __action1438< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57298,7 +57354,7 @@ fn __action1436< } #[allow(clippy::too_many_arguments)] -fn __action1437< +fn __action1439< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -57319,7 +57375,7 @@ fn __action1437< } #[allow(clippy::too_many_arguments)] -fn __action1438< +fn __action1440< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57342,7 +57398,7 @@ fn __action1438< } #[allow(clippy::too_many_arguments)] -fn __action1439< +fn __action1441< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57350,7 +57406,7 @@ fn __action1439< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1434( + let __temp0 = __action1436( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -57361,7 +57417,7 @@ fn __action1439< } #[allow(clippy::too_many_arguments)] -fn __action1440< +fn __action1442< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57371,7 +57427,7 @@ fn __action1440< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1434( + let __temp0 = __action1436( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57384,7 +57440,7 @@ fn __action1440< } #[allow(clippy::too_many_arguments)] -fn __action1441< +fn __action1443< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57393,7 +57449,7 @@ fn __action1441< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1434( + let __temp0 = __action1436( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -57405,7 +57461,7 @@ fn __action1441< } #[allow(clippy::too_many_arguments)] -fn __action1442< +fn __action1444< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57413,7 +57469,7 @@ fn __action1442< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1439( + let __temp0 = __action1441( __0, __1, ); @@ -57424,7 +57480,7 @@ fn __action1442< } #[allow(clippy::too_many_arguments)] -fn __action1443< +fn __action1445< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57436,7 +57492,7 @@ fn __action1443< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1442( + let __temp0 = __action1444( __1, __2, ); @@ -57451,7 +57507,7 @@ fn __action1443< } #[allow(clippy::too_many_arguments)] -fn __action1444< +fn __action1446< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57476,7 +57532,7 @@ fn __action1444< } #[allow(clippy::too_many_arguments)] -fn __action1445< +fn __action1447< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57489,7 +57545,7 @@ fn __action1445< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1442( + let __temp0 = __action1444( __1, __2, ); @@ -57505,7 +57561,7 @@ fn __action1445< } #[allow(clippy::too_many_arguments)] -fn __action1446< +fn __action1448< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57532,7 +57588,7 @@ fn __action1446< } #[allow(clippy::too_many_arguments)] -fn __action1447< +fn __action1449< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57543,7 +57599,7 @@ fn __action1447< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1442( + let __temp0 = __action1444( __1, __2, ); @@ -57557,7 +57613,7 @@ fn __action1447< } #[allow(clippy::too_many_arguments)] -fn __action1448< +fn __action1450< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57580,7 +57636,7 @@ fn __action1448< } #[allow(clippy::too_many_arguments)] -fn __action1449< +fn __action1451< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57592,7 +57648,7 @@ fn __action1449< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1442( + let __temp0 = __action1444( __1, __2, ); @@ -57607,7 +57663,7 @@ fn __action1449< } #[allow(clippy::too_many_arguments)] -fn __action1450< +fn __action1452< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57632,7 +57688,7 @@ fn __action1450< } #[allow(clippy::too_many_arguments)] -fn __action1451< +fn __action1453< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)> @@ -57649,7 +57705,7 @@ fn __action1451< } #[allow(clippy::too_many_arguments)] -fn __action1452< +fn __action1454< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, (String, StringKind, bool), TextSize), @@ -57668,7 +57724,7 @@ fn __action1452< } #[allow(clippy::too_many_arguments)] -fn __action1453< +fn __action1455< >( __0: (TextSize, ast::CmpOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -57687,7 +57743,7 @@ fn __action1453< } #[allow(clippy::too_many_arguments)] -fn __action1454< +fn __action1456< >( __0: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), __1: (TextSize, ast::CmpOp, TextSize), @@ -57708,7 +57764,7 @@ fn __action1454< } #[allow(clippy::too_many_arguments)] -fn __action1455< +fn __action1457< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -57725,7 +57781,7 @@ fn __action1455< } #[allow(clippy::too_many_arguments)] -fn __action1456< +fn __action1458< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57736,7 +57792,7 @@ fn __action1456< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1455( + let __temp0 = __action1457( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -57750,7 +57806,7 @@ fn __action1456< } #[allow(clippy::too_many_arguments)] -fn __action1457< +fn __action1459< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57775,7 +57831,7 @@ fn __action1457< } #[allow(clippy::too_many_arguments)] -fn __action1458< +fn __action1460< >( __0: (TextSize, ast::Arguments, TextSize), ) -> core::option::Option @@ -57792,7 +57848,7 @@ fn __action1458< } #[allow(clippy::too_many_arguments)] -fn __action1459< +fn __action1461< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -57801,11 +57857,11 @@ fn __action1459< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1458( + let __temp0 = __action1460( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1379( + __action1381( __0, __temp0, __2, @@ -57813,7 +57869,7 @@ fn __action1459< } #[allow(clippy::too_many_arguments)] -fn __action1460< +fn __action1462< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57826,7 +57882,7 @@ fn __action1460< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1379( + __action1381( __0, __temp0, __1, @@ -57834,7 +57890,7 @@ fn __action1460< } #[allow(clippy::too_many_arguments)] -fn __action1461< +fn __action1463< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt @@ -57853,7 +57909,7 @@ fn __action1461< } #[allow(clippy::too_many_arguments)] -fn __action1462< +fn __action1464< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -57872,7 +57928,7 @@ fn __action1462< } #[allow(clippy::too_many_arguments)] -fn __action1463< +fn __action1465< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57895,7 +57951,7 @@ fn __action1463< } #[allow(clippy::too_many_arguments)] -fn __action1464< +fn __action1466< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57918,7 +57974,7 @@ fn __action1464< } #[allow(clippy::too_many_arguments)] -fn __action1465< +fn __action1467< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57935,7 +57991,7 @@ fn __action1465< } #[allow(clippy::too_many_arguments)] -fn __action1466< +fn __action1468< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57954,7 +58010,7 @@ fn __action1466< } #[allow(clippy::too_many_arguments)] -fn __action1467< +fn __action1469< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57973,7 +58029,7 @@ fn __action1467< } #[allow(clippy::too_many_arguments)] -fn __action1468< +fn __action1470< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -57992,14 +58048,14 @@ fn __action1468< } #[allow(clippy::too_many_arguments)] -fn __action1469< +fn __action1471< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1465( + let __temp0 = __action1467( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58009,7 +58065,7 @@ fn __action1469< } #[allow(clippy::too_many_arguments)] -fn __action1470< +fn __action1472< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -58017,7 +58073,7 @@ fn __action1470< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action1466( + let __temp0 = __action1468( &__start0, &__end0, ); @@ -58028,7 +58084,7 @@ fn __action1470< } #[allow(clippy::too_many_arguments)] -fn __action1471< +fn __action1473< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -58036,7 +58092,7 @@ fn __action1471< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1467( + let __temp0 = __action1469( __0, __1, ); @@ -58047,14 +58103,14 @@ fn __action1471< } #[allow(clippy::too_many_arguments)] -fn __action1472< +fn __action1474< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1468( + let __temp0 = __action1470( __0, ); let __temp0 = (__start0, __temp0, __end0); @@ -58064,7 +58120,7 @@ fn __action1472< } #[allow(clippy::too_many_arguments)] -fn __action1473< +fn __action1475< >( __0: (TextSize, ast::Pattern, TextSize), ) -> Vec @@ -58081,7 +58137,7 @@ fn __action1473< } #[allow(clippy::too_many_arguments)] -fn __action1474< +fn __action1476< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -58100,7 +58156,7 @@ fn __action1474< } #[allow(clippy::too_many_arguments)] -fn __action1475< +fn __action1477< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -58119,7 +58175,7 @@ fn __action1475< } #[allow(clippy::too_many_arguments)] -fn __action1476< +fn __action1478< >( __0: (TextSize, alloc::vec::Vec, TextSize), ) -> Vec @@ -58138,7 +58194,7 @@ fn __action1476< } #[allow(clippy::too_many_arguments)] -fn __action1477< +fn __action1479< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -58147,11 +58203,11 @@ fn __action1477< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1473( + let __temp0 = __action1475( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1394( + __action1396( __0, __temp0, __2, @@ -58159,7 +58215,7 @@ fn __action1477< } #[allow(clippy::too_many_arguments)] -fn __action1478< +fn __action1480< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58167,12 +58223,12 @@ fn __action1478< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action1474( + let __temp0 = __action1476( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1394( + __action1396( __0, __temp0, __1, @@ -58180,7 +58236,7 @@ fn __action1478< } #[allow(clippy::too_many_arguments)] -fn __action1479< +fn __action1481< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58190,12 +58246,12 @@ fn __action1479< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1475( + let __temp0 = __action1477( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1394( + __action1396( __0, __temp0, __3, @@ -58203,7 +58259,7 @@ fn __action1479< } #[allow(clippy::too_many_arguments)] -fn __action1480< +fn __action1482< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58212,11 +58268,11 @@ fn __action1480< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1476( + let __temp0 = __action1478( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1394( + __action1396( __0, __temp0, __2, @@ -58224,7 +58280,7 @@ fn __action1480< } #[allow(clippy::too_many_arguments)] -fn __action1481< +fn __action1483< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, Vec, TextSize), @@ -58243,7 +58299,7 @@ fn __action1481< } #[allow(clippy::too_many_arguments)] -fn __action1482< +fn __action1484< >( __0: (TextSize, ast::Expr, TextSize), ) -> (Option<(TextSize, TextSize, Option)>, ast::Expr) @@ -58262,7 +58318,7 @@ fn __action1482< } #[allow(clippy::too_many_arguments)] -fn __action1483< +fn __action1485< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58278,7 +58334,7 @@ fn __action1483< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1399( __0, __1, __2, @@ -58289,7 +58345,7 @@ fn __action1483< } #[allow(clippy::too_many_arguments)] -fn __action1484< +fn __action1486< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58305,7 +58361,7 @@ fn __action1484< __5, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1399( __0, __1, __2, @@ -58316,7 +58372,7 @@ fn __action1484< } #[allow(clippy::too_many_arguments)] -fn __action1485< +fn __action1487< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58331,7 +58387,7 @@ fn __action1485< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1398( + __action1400( __0, __1, __2, @@ -58341,7 +58397,7 @@ fn __action1485< } #[allow(clippy::too_many_arguments)] -fn __action1486< +fn __action1488< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58356,7 +58412,7 @@ fn __action1486< __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1398( + __action1400( __0, __1, __2, @@ -58366,7 +58422,7 @@ fn __action1486< } #[allow(clippy::too_many_arguments)] -fn __action1487< +fn __action1489< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58397,7 +58453,7 @@ fn __action1487< } #[allow(clippy::too_many_arguments)] -fn __action1488< +fn __action1490< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58428,7 +58484,7 @@ fn __action1488< } #[allow(clippy::too_many_arguments)] -fn __action1489< +fn __action1491< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58453,7 +58509,7 @@ fn __action1489< } #[allow(clippy::too_many_arguments)] -fn __action1490< +fn __action1492< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58478,7 +58534,7 @@ fn __action1490< } #[allow(clippy::too_many_arguments)] -fn __action1491< +fn __action1493< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58511,7 +58567,7 @@ fn __action1491< } #[allow(clippy::too_many_arguments)] -fn __action1492< +fn __action1494< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58544,7 +58600,7 @@ fn __action1492< } #[allow(clippy::too_many_arguments)] -fn __action1493< +fn __action1495< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58573,7 +58629,7 @@ fn __action1493< } #[allow(clippy::too_many_arguments)] -fn __action1494< +fn __action1496< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58602,7 +58658,7 @@ fn __action1494< } #[allow(clippy::too_many_arguments)] -fn __action1495< +fn __action1497< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58633,7 +58689,7 @@ fn __action1495< } #[allow(clippy::too_many_arguments)] -fn __action1496< +fn __action1498< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58664,7 +58720,7 @@ fn __action1496< } #[allow(clippy::too_many_arguments)] -fn __action1497< +fn __action1499< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58691,7 +58747,7 @@ fn __action1497< } #[allow(clippy::too_many_arguments)] -fn __action1498< +fn __action1500< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58718,7 +58774,7 @@ fn __action1498< } #[allow(clippy::too_many_arguments)] -fn __action1499< +fn __action1501< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58739,7 +58795,7 @@ fn __action1499< } #[allow(clippy::too_many_arguments)] -fn __action1500< +fn __action1502< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58760,7 +58816,7 @@ fn __action1500< } #[allow(clippy::too_many_arguments)] -fn __action1501< +fn __action1503< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58781,7 +58837,7 @@ fn __action1501< } #[allow(clippy::too_many_arguments)] -fn __action1502< +fn __action1504< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58802,7 +58858,7 @@ fn __action1502< } #[allow(clippy::too_many_arguments)] -fn __action1503< +fn __action1505< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -58821,7 +58877,7 @@ fn __action1503< } #[allow(clippy::too_many_arguments)] -fn __action1504< +fn __action1506< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> @@ -58840,7 +58896,7 @@ fn __action1504< } #[allow(clippy::too_many_arguments)] -fn __action1505< +fn __action1507< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58861,7 +58917,7 @@ fn __action1505< } #[allow(clippy::too_many_arguments)] -fn __action1506< +fn __action1508< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec @@ -58878,7 +58934,7 @@ fn __action1506< } #[allow(clippy::too_many_arguments)] -fn __action1507< +fn __action1509< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58903,7 +58959,7 @@ fn __action1507< } #[allow(clippy::too_many_arguments)] -fn __action1508< +fn __action1510< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58924,7 +58980,7 @@ fn __action1508< } #[allow(clippy::too_many_arguments)] -fn __action1509< +fn __action1511< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58945,7 +59001,7 @@ fn __action1509< } #[allow(clippy::too_many_arguments)] -fn __action1510< +fn __action1512< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec @@ -58962,7 +59018,7 @@ fn __action1510< } #[allow(clippy::too_many_arguments)] -fn __action1511< +fn __action1513< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58987,7 +59043,7 @@ fn __action1511< } #[allow(clippy::too_many_arguments)] -fn __action1512< +fn __action1514< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59008,7 +59064,7 @@ fn __action1512< } #[allow(clippy::too_many_arguments)] -fn __action1513< +fn __action1515< >( __0: (TextSize, ast::Identifier, TextSize), ) -> (Option, Option) @@ -59027,7 +59083,7 @@ fn __action1513< } #[allow(clippy::too_many_arguments)] -fn __action1514< +fn __action1516< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -59046,7 +59102,7 @@ fn __action1514< } #[allow(clippy::too_many_arguments)] -fn __action1515< +fn __action1517< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -59067,7 +59123,7 @@ fn __action1515< } #[allow(clippy::too_many_arguments)] -fn __action1516< +fn __action1518< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59088,7 +59144,7 @@ fn __action1516< } #[allow(clippy::too_many_arguments)] -fn __action1517< +fn __action1519< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -59109,7 +59165,7 @@ fn __action1517< } #[allow(clippy::too_many_arguments)] -fn __action1518< +fn __action1520< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59130,7 +59186,7 @@ fn __action1518< } #[allow(clippy::too_many_arguments)] -fn __action1519< +fn __action1521< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59147,7 +59203,7 @@ fn __action1519< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1305( __temp0, __1, __2, @@ -59159,7 +59215,7 @@ fn __action1519< } #[allow(clippy::too_many_arguments)] -fn __action1520< +fn __action1522< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59180,7 +59236,7 @@ fn __action1520< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1305( __temp0, __3, __4, @@ -59192,7 +59248,7 @@ fn __action1520< } #[allow(clippy::too_many_arguments)] -fn __action1521< +fn __action1523< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59215,7 +59271,7 @@ fn __action1521< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1305( __temp0, __4, __5, @@ -59227,7 +59283,7 @@ fn __action1521< } #[allow(clippy::too_many_arguments)] -fn __action1522< +fn __action1524< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59243,7 +59299,7 @@ fn __action1522< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1306( __temp0, __1, __2, @@ -59254,7 +59310,7 @@ fn __action1522< } #[allow(clippy::too_many_arguments)] -fn __action1523< +fn __action1525< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59274,7 +59330,7 @@ fn __action1523< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1306( __temp0, __3, __4, @@ -59285,7 +59341,7 @@ fn __action1523< } #[allow(clippy::too_many_arguments)] -fn __action1524< +fn __action1526< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59307,7 +59363,7 @@ fn __action1524< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1306( __temp0, __4, __5, @@ -59318,7 +59374,7 @@ fn __action1524< } #[allow(clippy::too_many_arguments)] -fn __action1525< +fn __action1527< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59336,7 +59392,7 @@ fn __action1525< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1307( __temp0, __1, __2, @@ -59349,7 +59405,7 @@ fn __action1525< } #[allow(clippy::too_many_arguments)] -fn __action1526< +fn __action1528< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59371,7 +59427,7 @@ fn __action1526< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1307( __temp0, __3, __4, @@ -59384,7 +59440,7 @@ fn __action1526< } #[allow(clippy::too_many_arguments)] -fn __action1527< +fn __action1529< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59408,7 +59464,7 @@ fn __action1527< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1307( __temp0, __4, __5, @@ -59421,7 +59477,7 @@ fn __action1527< } #[allow(clippy::too_many_arguments)] -fn __action1528< +fn __action1530< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59438,7 +59494,7 @@ fn __action1528< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1308( __temp0, __1, __2, @@ -59450,7 +59506,7 @@ fn __action1528< } #[allow(clippy::too_many_arguments)] -fn __action1529< +fn __action1531< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59471,7 +59527,7 @@ fn __action1529< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1308( __temp0, __3, __4, @@ -59483,7 +59539,7 @@ fn __action1529< } #[allow(clippy::too_many_arguments)] -fn __action1530< +fn __action1532< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59506,7 +59562,7 @@ fn __action1530< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1308( __temp0, __4, __5, @@ -59518,7 +59574,7 @@ fn __action1530< } #[allow(clippy::too_many_arguments)] -fn __action1531< +fn __action1533< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59533,7 +59589,7 @@ fn __action1531< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1309( __temp0, __1, __2, @@ -59543,7 +59599,7 @@ fn __action1531< } #[allow(clippy::too_many_arguments)] -fn __action1532< +fn __action1534< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59562,7 +59618,7 @@ fn __action1532< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1309( __temp0, __3, __4, @@ -59572,7 +59628,7 @@ fn __action1532< } #[allow(clippy::too_many_arguments)] -fn __action1533< +fn __action1535< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59593,7 +59649,7 @@ fn __action1533< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1309( __temp0, __4, __5, @@ -59603,7 +59659,7 @@ fn __action1533< } #[allow(clippy::too_many_arguments)] -fn __action1534< +fn __action1536< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59617,7 +59673,7 @@ fn __action1534< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1310( __temp0, __1, __2, @@ -59626,7 +59682,7 @@ fn __action1534< } #[allow(clippy::too_many_arguments)] -fn __action1535< +fn __action1537< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59644,7 +59700,7 @@ fn __action1535< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1310( __temp0, __3, __4, @@ -59653,7 +59709,7 @@ fn __action1535< } #[allow(clippy::too_many_arguments)] -fn __action1536< +fn __action1538< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59673,7 +59729,7 @@ fn __action1536< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1310( __temp0, __4, __5, @@ -59682,7 +59738,7 @@ fn __action1536< } #[allow(clippy::too_many_arguments)] -fn __action1537< +fn __action1539< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59698,7 +59754,7 @@ fn __action1537< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1311( __temp0, __1, __2, @@ -59709,7 +59765,7 @@ fn __action1537< } #[allow(clippy::too_many_arguments)] -fn __action1538< +fn __action1540< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59729,7 +59785,7 @@ fn __action1538< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1311( __temp0, __3, __4, @@ -59740,7 +59796,7 @@ fn __action1538< } #[allow(clippy::too_many_arguments)] -fn __action1539< +fn __action1541< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59762,7 +59818,7 @@ fn __action1539< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1311( __temp0, __4, __5, @@ -59773,7 +59829,7 @@ fn __action1539< } #[allow(clippy::too_many_arguments)] -fn __action1540< +fn __action1542< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59788,7 +59844,7 @@ fn __action1540< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1312( __temp0, __1, __2, @@ -59798,7 +59854,7 @@ fn __action1540< } #[allow(clippy::too_many_arguments)] -fn __action1541< +fn __action1543< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59817,7 +59873,7 @@ fn __action1541< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1312( __temp0, __3, __4, @@ -59827,7 +59883,7 @@ fn __action1541< } #[allow(clippy::too_many_arguments)] -fn __action1542< +fn __action1544< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59848,7 +59904,7 @@ fn __action1542< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1312( __temp0, __4, __5, @@ -59858,7 +59914,7 @@ fn __action1542< } #[allow(clippy::too_many_arguments)] -fn __action1543< +fn __action1545< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59870,14 +59926,14 @@ fn __action1543< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1313( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1544< +fn __action1546< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59893,14 +59949,14 @@ fn __action1544< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1313( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1545< +fn __action1547< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59918,14 +59974,14 @@ fn __action1545< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1313( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1546< +fn __action1548< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59941,7 +59997,7 @@ fn __action1546< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1314( __temp0, __1, __2, @@ -59952,7 +60008,7 @@ fn __action1546< } #[allow(clippy::too_many_arguments)] -fn __action1547< +fn __action1549< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59972,7 +60028,7 @@ fn __action1547< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1314( __temp0, __3, __4, @@ -59983,7 +60039,7 @@ fn __action1547< } #[allow(clippy::too_many_arguments)] -fn __action1548< +fn __action1550< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60005,7 +60061,7 @@ fn __action1548< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1314( __temp0, __4, __5, @@ -60016,7 +60072,7 @@ fn __action1548< } #[allow(clippy::too_many_arguments)] -fn __action1549< +fn __action1551< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60031,7 +60087,7 @@ fn __action1549< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1315( __temp0, __1, __2, @@ -60041,7 +60097,7 @@ fn __action1549< } #[allow(clippy::too_many_arguments)] -fn __action1550< +fn __action1552< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60060,7 +60116,7 @@ fn __action1550< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1315( __temp0, __3, __4, @@ -60070,7 +60126,7 @@ fn __action1550< } #[allow(clippy::too_many_arguments)] -fn __action1551< +fn __action1553< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60091,7 +60147,7 @@ fn __action1551< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1315( __temp0, __4, __5, @@ -60101,7 +60157,7 @@ fn __action1551< } #[allow(clippy::too_many_arguments)] -fn __action1552< +fn __action1554< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60118,7 +60174,7 @@ fn __action1552< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1316( __temp0, __1, __2, @@ -60130,7 +60186,7 @@ fn __action1552< } #[allow(clippy::too_many_arguments)] -fn __action1553< +fn __action1555< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60151,7 +60207,7 @@ fn __action1553< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1316( __temp0, __3, __4, @@ -60163,7 +60219,7 @@ fn __action1553< } #[allow(clippy::too_many_arguments)] -fn __action1554< +fn __action1556< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60186,7 +60242,7 @@ fn __action1554< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1316( __temp0, __4, __5, @@ -60198,7 +60254,7 @@ fn __action1554< } #[allow(clippy::too_many_arguments)] -fn __action1555< +fn __action1557< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60214,7 +60270,7 @@ fn __action1555< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1317( __temp0, __1, __2, @@ -60225,7 +60281,7 @@ fn __action1555< } #[allow(clippy::too_many_arguments)] -fn __action1556< +fn __action1558< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60245,7 +60301,7 @@ fn __action1556< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1317( __temp0, __3, __4, @@ -60256,7 +60312,7 @@ fn __action1556< } #[allow(clippy::too_many_arguments)] -fn __action1557< +fn __action1559< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60278,7 +60334,7 @@ fn __action1557< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1317( __temp0, __4, __5, @@ -60289,7 +60345,7 @@ fn __action1557< } #[allow(clippy::too_many_arguments)] -fn __action1558< +fn __action1560< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60303,7 +60359,7 @@ fn __action1558< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1318( __temp0, __1, __2, @@ -60312,7 +60368,7 @@ fn __action1558< } #[allow(clippy::too_many_arguments)] -fn __action1559< +fn __action1561< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60330,7 +60386,7 @@ fn __action1559< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1318( __temp0, __3, __4, @@ -60339,7 +60395,7 @@ fn __action1559< } #[allow(clippy::too_many_arguments)] -fn __action1560< +fn __action1562< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60359,7 +60415,7 @@ fn __action1560< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1316( + __action1318( __temp0, __4, __5, @@ -60368,7 +60424,7 @@ fn __action1560< } #[allow(clippy::too_many_arguments)] -fn __action1561< +fn __action1563< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60381,7 +60437,7 @@ fn __action1561< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1317( + __action1319( __temp0, __1, __2, @@ -60389,7 +60445,7 @@ fn __action1561< } #[allow(clippy::too_many_arguments)] -fn __action1562< +fn __action1564< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60406,7 +60462,7 @@ fn __action1562< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1317( + __action1319( __temp0, __3, __4, @@ -60414,7 +60470,7 @@ fn __action1562< } #[allow(clippy::too_many_arguments)] -fn __action1563< +fn __action1565< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60433,7 +60489,7 @@ fn __action1563< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1317( + __action1319( __temp0, __4, __5, @@ -60441,7 +60497,7 @@ fn __action1563< } #[allow(clippy::too_many_arguments)] -fn __action1564< +fn __action1566< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60456,7 +60512,7 @@ fn __action1564< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1318( + __action1320( __temp0, __1, __2, @@ -60466,7 +60522,7 @@ fn __action1564< } #[allow(clippy::too_many_arguments)] -fn __action1565< +fn __action1567< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60485,7 +60541,7 @@ fn __action1565< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1318( + __action1320( __temp0, __3, __4, @@ -60495,7 +60551,7 @@ fn __action1565< } #[allow(clippy::too_many_arguments)] -fn __action1566< +fn __action1568< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60516,7 +60572,7 @@ fn __action1566< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1318( + __action1320( __temp0, __4, __5, @@ -60526,7 +60582,7 @@ fn __action1566< } #[allow(clippy::too_many_arguments)] -fn __action1567< +fn __action1569< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60540,7 +60596,7 @@ fn __action1567< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1319( + __action1321( __temp0, __1, __2, @@ -60549,7 +60605,7 @@ fn __action1567< } #[allow(clippy::too_many_arguments)] -fn __action1568< +fn __action1570< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60567,7 +60623,7 @@ fn __action1568< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1319( + __action1321( __temp0, __3, __4, @@ -60576,7 +60632,7 @@ fn __action1568< } #[allow(clippy::too_many_arguments)] -fn __action1569< +fn __action1571< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60596,7 +60652,7 @@ fn __action1569< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1319( + __action1321( __temp0, __4, __5, @@ -60605,7 +60661,7 @@ fn __action1569< } #[allow(clippy::too_many_arguments)] -fn __action1570< +fn __action1572< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -60616,13 +60672,13 @@ fn __action1570< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1320( + __action1322( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1571< +fn __action1573< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60637,13 +60693,13 @@ fn __action1571< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1320( + __action1322( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1572< +fn __action1574< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60660,13 +60716,13 @@ fn __action1572< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1320( + __action1322( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1573< +fn __action1575< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60680,7 +60736,7 @@ fn __action1573< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1321( + __action1323( __temp0, __1, __2, @@ -60689,7 +60745,7 @@ fn __action1573< } #[allow(clippy::too_many_arguments)] -fn __action1574< +fn __action1576< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60707,7 +60763,7 @@ fn __action1574< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1321( + __action1323( __temp0, __3, __4, @@ -60716,7 +60772,7 @@ fn __action1574< } #[allow(clippy::too_many_arguments)] -fn __action1575< +fn __action1577< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60736,7 +60792,7 @@ fn __action1575< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1321( + __action1323( __temp0, __4, __5, @@ -60745,7 +60801,7 @@ fn __action1575< } #[allow(clippy::too_many_arguments)] -fn __action1576< +fn __action1578< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60758,7 +60814,7 @@ fn __action1576< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1322( + __action1324( __temp0, __1, __2, @@ -60766,7 +60822,7 @@ fn __action1576< } #[allow(clippy::too_many_arguments)] -fn __action1577< +fn __action1579< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60783,7 +60839,7 @@ fn __action1577< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1322( + __action1324( __temp0, __3, __4, @@ -60791,7 +60847,7 @@ fn __action1577< } #[allow(clippy::too_many_arguments)] -fn __action1578< +fn __action1580< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60810,7 +60866,7 @@ fn __action1578< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1322( + __action1324( __temp0, __4, __5, @@ -60818,7 +60874,7 @@ fn __action1578< } #[allow(clippy::too_many_arguments)] -fn __action1579< +fn __action1581< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60835,7 +60891,7 @@ fn __action1579< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1343( __temp0, __1, __2, @@ -60847,7 +60903,7 @@ fn __action1579< } #[allow(clippy::too_many_arguments)] -fn __action1580< +fn __action1582< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60868,7 +60924,7 @@ fn __action1580< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1343( __temp0, __3, __4, @@ -60880,7 +60936,7 @@ fn __action1580< } #[allow(clippy::too_many_arguments)] -fn __action1581< +fn __action1583< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60903,7 +60959,7 @@ fn __action1581< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1343( __temp0, __4, __5, @@ -60915,7 +60971,7 @@ fn __action1581< } #[allow(clippy::too_many_arguments)] -fn __action1582< +fn __action1584< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60931,7 +60987,7 @@ fn __action1582< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1344( __temp0, __1, __2, @@ -60942,7 +60998,7 @@ fn __action1582< } #[allow(clippy::too_many_arguments)] -fn __action1583< +fn __action1585< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60962,7 +61018,7 @@ fn __action1583< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1344( __temp0, __3, __4, @@ -60973,7 +61029,7 @@ fn __action1583< } #[allow(clippy::too_many_arguments)] -fn __action1584< +fn __action1586< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60995,7 +61051,7 @@ fn __action1584< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1344( __temp0, __4, __5, @@ -61006,7 +61062,7 @@ fn __action1584< } #[allow(clippy::too_many_arguments)] -fn __action1585< +fn __action1587< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61024,7 +61080,7 @@ fn __action1585< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1345( __temp0, __1, __2, @@ -61037,7 +61093,7 @@ fn __action1585< } #[allow(clippy::too_many_arguments)] -fn __action1586< +fn __action1588< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61059,7 +61115,7 @@ fn __action1586< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1345( __temp0, __3, __4, @@ -61072,7 +61128,7 @@ fn __action1586< } #[allow(clippy::too_many_arguments)] -fn __action1587< +fn __action1589< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61096,7 +61152,7 @@ fn __action1587< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1345( __temp0, __4, __5, @@ -61109,7 +61165,7 @@ fn __action1587< } #[allow(clippy::too_many_arguments)] -fn __action1588< +fn __action1590< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61126,7 +61182,7 @@ fn __action1588< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1346( __temp0, __1, __2, @@ -61138,7 +61194,7 @@ fn __action1588< } #[allow(clippy::too_many_arguments)] -fn __action1589< +fn __action1591< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61159,7 +61215,7 @@ fn __action1589< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1346( __temp0, __3, __4, @@ -61171,7 +61227,7 @@ fn __action1589< } #[allow(clippy::too_many_arguments)] -fn __action1590< +fn __action1592< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61194,7 +61250,7 @@ fn __action1590< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1346( __temp0, __4, __5, @@ -61206,7 +61262,7 @@ fn __action1590< } #[allow(clippy::too_many_arguments)] -fn __action1591< +fn __action1593< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61221,7 +61277,7 @@ fn __action1591< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1347( __temp0, __1, __2, @@ -61231,7 +61287,7 @@ fn __action1591< } #[allow(clippy::too_many_arguments)] -fn __action1592< +fn __action1594< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61250,7 +61306,7 @@ fn __action1592< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1347( __temp0, __3, __4, @@ -61260,7 +61316,7 @@ fn __action1592< } #[allow(clippy::too_many_arguments)] -fn __action1593< +fn __action1595< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61281,7 +61337,7 @@ fn __action1593< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1347( __temp0, __4, __5, @@ -61291,7 +61347,7 @@ fn __action1593< } #[allow(clippy::too_many_arguments)] -fn __action1594< +fn __action1596< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61305,7 +61361,7 @@ fn __action1594< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1348( __temp0, __1, __2, @@ -61314,7 +61370,7 @@ fn __action1594< } #[allow(clippy::too_many_arguments)] -fn __action1595< +fn __action1597< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61332,7 +61388,7 @@ fn __action1595< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1348( __temp0, __3, __4, @@ -61341,7 +61397,7 @@ fn __action1595< } #[allow(clippy::too_many_arguments)] -fn __action1596< +fn __action1598< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61361,7 +61417,7 @@ fn __action1596< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1348( __temp0, __4, __5, @@ -61370,7 +61426,7 @@ fn __action1596< } #[allow(clippy::too_many_arguments)] -fn __action1597< +fn __action1599< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61386,7 +61442,7 @@ fn __action1597< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1349( __temp0, __1, __2, @@ -61397,7 +61453,7 @@ fn __action1597< } #[allow(clippy::too_many_arguments)] -fn __action1598< +fn __action1600< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61417,7 +61473,7 @@ fn __action1598< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1349( __temp0, __3, __4, @@ -61428,7 +61484,7 @@ fn __action1598< } #[allow(clippy::too_many_arguments)] -fn __action1599< +fn __action1601< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61450,7 +61506,7 @@ fn __action1599< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1349( __temp0, __4, __5, @@ -61461,7 +61517,7 @@ fn __action1599< } #[allow(clippy::too_many_arguments)] -fn __action1600< +fn __action1602< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61476,7 +61532,7 @@ fn __action1600< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1350( __temp0, __1, __2, @@ -61486,7 +61542,7 @@ fn __action1600< } #[allow(clippy::too_many_arguments)] -fn __action1601< +fn __action1603< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61505,7 +61561,7 @@ fn __action1601< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1350( __temp0, __3, __4, @@ -61515,7 +61571,7 @@ fn __action1601< } #[allow(clippy::too_many_arguments)] -fn __action1602< +fn __action1604< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61536,7 +61592,7 @@ fn __action1602< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1350( __temp0, __4, __5, @@ -61546,7 +61602,7 @@ fn __action1602< } #[allow(clippy::too_many_arguments)] -fn __action1603< +fn __action1605< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61558,14 +61614,14 @@ fn __action1603< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1351( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1604< +fn __action1606< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61581,14 +61637,14 @@ fn __action1604< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1351( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1605< +fn __action1607< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61606,14 +61662,14 @@ fn __action1605< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1351( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1606< +fn __action1608< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61629,7 +61685,7 @@ fn __action1606< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1352( __temp0, __1, __2, @@ -61640,7 +61696,7 @@ fn __action1606< } #[allow(clippy::too_many_arguments)] -fn __action1607< +fn __action1609< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61660,7 +61716,7 @@ fn __action1607< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1352( __temp0, __3, __4, @@ -61671,7 +61727,7 @@ fn __action1607< } #[allow(clippy::too_many_arguments)] -fn __action1608< +fn __action1610< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61693,7 +61749,7 @@ fn __action1608< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1352( __temp0, __4, __5, @@ -61704,7 +61760,7 @@ fn __action1608< } #[allow(clippy::too_many_arguments)] -fn __action1609< +fn __action1611< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61719,7 +61775,7 @@ fn __action1609< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1353( __temp0, __1, __2, @@ -61729,7 +61785,7 @@ fn __action1609< } #[allow(clippy::too_many_arguments)] -fn __action1610< +fn __action1612< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61748,7 +61804,7 @@ fn __action1610< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1353( __temp0, __3, __4, @@ -61758,7 +61814,7 @@ fn __action1610< } #[allow(clippy::too_many_arguments)] -fn __action1611< +fn __action1613< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61779,7 +61835,7 @@ fn __action1611< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1353( __temp0, __4, __5, @@ -61789,7 +61845,7 @@ fn __action1611< } #[allow(clippy::too_many_arguments)] -fn __action1612< +fn __action1614< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61806,7 +61862,7 @@ fn __action1612< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1354( __temp0, __1, __2, @@ -61818,7 +61874,7 @@ fn __action1612< } #[allow(clippy::too_many_arguments)] -fn __action1613< +fn __action1615< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61839,7 +61895,7 @@ fn __action1613< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1354( __temp0, __3, __4, @@ -61851,7 +61907,7 @@ fn __action1613< } #[allow(clippy::too_many_arguments)] -fn __action1614< +fn __action1616< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61874,7 +61930,7 @@ fn __action1614< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1354( __temp0, __4, __5, @@ -61886,7 +61942,7 @@ fn __action1614< } #[allow(clippy::too_many_arguments)] -fn __action1615< +fn __action1617< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61902,7 +61958,7 @@ fn __action1615< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1355( __temp0, __1, __2, @@ -61913,7 +61969,7 @@ fn __action1615< } #[allow(clippy::too_many_arguments)] -fn __action1616< +fn __action1618< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61933,7 +61989,7 @@ fn __action1616< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1355( __temp0, __3, __4, @@ -61944,7 +62000,7 @@ fn __action1616< } #[allow(clippy::too_many_arguments)] -fn __action1617< +fn __action1619< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61966,7 +62022,7 @@ fn __action1617< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1355( __temp0, __4, __5, @@ -61977,7 +62033,7 @@ fn __action1617< } #[allow(clippy::too_many_arguments)] -fn __action1618< +fn __action1620< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61991,7 +62047,7 @@ fn __action1618< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1356( __temp0, __1, __2, @@ -62000,7 +62056,7 @@ fn __action1618< } #[allow(clippy::too_many_arguments)] -fn __action1619< +fn __action1621< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62018,7 +62074,7 @@ fn __action1619< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1356( __temp0, __3, __4, @@ -62027,7 +62083,7 @@ fn __action1619< } #[allow(clippy::too_many_arguments)] -fn __action1620< +fn __action1622< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62047,7 +62103,7 @@ fn __action1620< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1354( + __action1356( __temp0, __4, __5, @@ -62056,7 +62112,7 @@ fn __action1620< } #[allow(clippy::too_many_arguments)] -fn __action1621< +fn __action1623< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62069,7 +62125,7 @@ fn __action1621< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1355( + __action1357( __temp0, __1, __2, @@ -62077,7 +62133,7 @@ fn __action1621< } #[allow(clippy::too_many_arguments)] -fn __action1622< +fn __action1624< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62094,7 +62150,7 @@ fn __action1622< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1355( + __action1357( __temp0, __3, __4, @@ -62102,7 +62158,7 @@ fn __action1622< } #[allow(clippy::too_many_arguments)] -fn __action1623< +fn __action1625< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62121,7 +62177,7 @@ fn __action1623< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1355( + __action1357( __temp0, __4, __5, @@ -62129,7 +62185,7 @@ fn __action1623< } #[allow(clippy::too_many_arguments)] -fn __action1624< +fn __action1626< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62144,7 +62200,7 @@ fn __action1624< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1356( + __action1358( __temp0, __1, __2, @@ -62154,7 +62210,7 @@ fn __action1624< } #[allow(clippy::too_many_arguments)] -fn __action1625< +fn __action1627< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62173,7 +62229,7 @@ fn __action1625< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1356( + __action1358( __temp0, __3, __4, @@ -62183,7 +62239,7 @@ fn __action1625< } #[allow(clippy::too_many_arguments)] -fn __action1626< +fn __action1628< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62204,7 +62260,7 @@ fn __action1626< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1356( + __action1358( __temp0, __4, __5, @@ -62214,7 +62270,7 @@ fn __action1626< } #[allow(clippy::too_many_arguments)] -fn __action1627< +fn __action1629< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62228,7 +62284,7 @@ fn __action1627< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1357( + __action1359( __temp0, __1, __2, @@ -62237,7 +62293,7 @@ fn __action1627< } #[allow(clippy::too_many_arguments)] -fn __action1628< +fn __action1630< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62255,7 +62311,7 @@ fn __action1628< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1357( + __action1359( __temp0, __3, __4, @@ -62264,7 +62320,7 @@ fn __action1628< } #[allow(clippy::too_many_arguments)] -fn __action1629< +fn __action1631< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62284,7 +62340,7 @@ fn __action1629< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1357( + __action1359( __temp0, __4, __5, @@ -62293,7 +62349,7 @@ fn __action1629< } #[allow(clippy::too_many_arguments)] -fn __action1630< +fn __action1632< >( __0: (TextSize, Vec, TextSize), ) -> Result> @@ -62304,13 +62360,13 @@ fn __action1630< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1358( + __action1360( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1631< +fn __action1633< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62325,13 +62381,13 @@ fn __action1631< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1358( + __action1360( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1632< +fn __action1634< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62348,13 +62404,13 @@ fn __action1632< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1358( + __action1360( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1633< +fn __action1635< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62368,7 +62424,7 @@ fn __action1633< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1359( + __action1361( __temp0, __1, __2, @@ -62377,7 +62433,7 @@ fn __action1633< } #[allow(clippy::too_many_arguments)] -fn __action1634< +fn __action1636< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62395,7 +62451,7 @@ fn __action1634< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1359( + __action1361( __temp0, __3, __4, @@ -62404,7 +62460,7 @@ fn __action1634< } #[allow(clippy::too_many_arguments)] -fn __action1635< +fn __action1637< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62424,7 +62480,7 @@ fn __action1635< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1359( + __action1361( __temp0, __4, __5, @@ -62433,7 +62489,7 @@ fn __action1635< } #[allow(clippy::too_many_arguments)] -fn __action1636< +fn __action1638< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62446,7 +62502,7 @@ fn __action1636< __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1360( + __action1362( __temp0, __1, __2, @@ -62454,7 +62510,7 @@ fn __action1636< } #[allow(clippy::too_many_arguments)] -fn __action1637< +fn __action1639< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62471,7 +62527,7 @@ fn __action1637< __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1360( + __action1362( __temp0, __3, __4, @@ -62479,7 +62535,7 @@ fn __action1637< } #[allow(clippy::too_many_arguments)] -fn __action1638< +fn __action1640< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62498,7 +62554,7 @@ fn __action1638< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1360( + __action1362( __temp0, __4, __5, @@ -62506,7 +62562,7 @@ fn __action1638< } #[allow(clippy::too_many_arguments)] -fn __action1639< +fn __action1641< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -62529,7 +62585,7 @@ fn __action1639< } #[allow(clippy::too_many_arguments)] -fn __action1640< +fn __action1642< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62552,7 +62608,7 @@ fn __action1640< } #[allow(clippy::too_many_arguments)] -fn __action1641< +fn __action1643< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62566,7 +62622,7 @@ fn __action1641< __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1404( + __action1406( __0, __1, __2, @@ -62575,7 +62631,7 @@ fn __action1641< } #[allow(clippy::too_many_arguments)] -fn __action1642< +fn __action1644< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62589,7 +62645,7 @@ fn __action1642< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1404( + __action1406( __0, __1, __2, @@ -62598,7 +62654,7 @@ fn __action1642< } #[allow(clippy::too_many_arguments)] -fn __action1643< +fn __action1645< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62621,7 +62677,7 @@ fn __action1643< } #[allow(clippy::too_many_arguments)] -fn __action1644< +fn __action1646< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62644,7 +62700,7 @@ fn __action1644< } #[allow(clippy::too_many_arguments)] -fn __action1645< +fn __action1647< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62663,7 +62719,7 @@ fn __action1645< } #[allow(clippy::too_many_arguments)] -fn __action1646< +fn __action1648< >( __0: (TextSize, token::Tok, TextSize), ) -> Option @@ -62682,7 +62738,7 @@ fn __action1646< } #[allow(clippy::too_many_arguments)] -fn __action1647< +fn __action1649< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62702,7 +62758,7 @@ fn __action1647< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1641( + __action1643( __temp0, __1, __temp1, @@ -62711,7 +62767,7 @@ fn __action1647< } #[allow(clippy::too_many_arguments)] -fn __action1648< +fn __action1650< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62731,7 +62787,7 @@ fn __action1648< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1641( + __action1643( __temp0, __1, __temp1, @@ -62740,7 +62796,7 @@ fn __action1648< } #[allow(clippy::too_many_arguments)] -fn __action1649< +fn __action1651< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62760,7 +62816,7 @@ fn __action1649< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1641( + __action1643( __temp0, __0, __temp1, @@ -62769,7 +62825,7 @@ fn __action1649< } #[allow(clippy::too_many_arguments)] -fn __action1650< +fn __action1652< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option, TextSize), @@ -62789,7 +62845,7 @@ fn __action1650< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1641( + __action1643( __temp0, __0, __temp1, @@ -62798,7 +62854,7 @@ fn __action1650< } #[allow(clippy::too_many_arguments)] -fn __action1651< +fn __action1653< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62817,7 +62873,7 @@ fn __action1651< __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1642( + __action1644( __temp0, __1, __temp1, @@ -62825,7 +62881,7 @@ fn __action1651< } #[allow(clippy::too_many_arguments)] -fn __action1652< +fn __action1654< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62844,7 +62900,7 @@ fn __action1652< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1642( + __action1644( __temp0, __1, __temp1, @@ -62852,7 +62908,7 @@ fn __action1652< } #[allow(clippy::too_many_arguments)] -fn __action1653< +fn __action1655< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62871,7 +62927,7 @@ fn __action1653< __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1642( + __action1644( __temp0, __0, __temp1, @@ -62879,7 +62935,7 @@ fn __action1653< } #[allow(clippy::too_many_arguments)] -fn __action1654< +fn __action1656< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -62898,7 +62954,7 @@ fn __action1654< &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1642( + __action1644( __temp0, __0, __temp1, @@ -62906,7 +62962,7 @@ fn __action1654< } #[allow(clippy::too_many_arguments)] -fn __action1655< +fn __action1657< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62941,7 +62997,7 @@ fn __action1655< } #[allow(clippy::too_many_arguments)] -fn __action1656< +fn __action1658< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62970,7 +63026,7 @@ fn __action1656< } #[allow(clippy::too_many_arguments)] -fn __action1657< +fn __action1659< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63003,7 +63059,7 @@ fn __action1657< } #[allow(clippy::too_many_arguments)] -fn __action1658< +fn __action1660< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63030,7 +63086,7 @@ fn __action1658< } #[allow(clippy::too_many_arguments)] -fn __action1659< +fn __action1661< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -63047,7 +63103,7 @@ fn __action1659< } #[allow(clippy::too_many_arguments)] -fn __action1660< +fn __action1662< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -63064,7 +63120,7 @@ fn __action1660< } #[allow(clippy::too_many_arguments)] -fn __action1661< +fn __action1663< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -63081,7 +63137,7 @@ fn __action1661< } #[allow(clippy::too_many_arguments)] -fn __action1662< +fn __action1664< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63093,14 +63149,14 @@ fn __action1662< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1415( + __action1417( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1663< +fn __action1665< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63113,7 +63169,7 @@ fn __action1663< __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1416( + __action1418( __0, __temp0, __2, @@ -63121,7 +63177,7 @@ fn __action1663< } #[allow(clippy::too_many_arguments)] -fn __action1664< +fn __action1666< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63129,7 +63185,7 @@ fn __action1664< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1659( + let __temp0 = __action1661( __1, ); let __temp0 = (__start0, __temp0, __end0); @@ -63140,7 +63196,7 @@ fn __action1664< } #[allow(clippy::too_many_arguments)] -fn __action1665< +fn __action1667< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt @@ -63159,7 +63215,7 @@ fn __action1665< } #[allow(clippy::too_many_arguments)] -fn __action1666< +fn __action1668< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -63167,18 +63223,18 @@ fn __action1666< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1659( + let __temp0 = __action1661( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1437( + __action1439( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1667< +fn __action1669< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -63190,31 +63246,31 @@ fn __action1667< &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1437( + __action1439( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1668< +fn __action1670< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1661( + let __temp0 = __action1663( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1461( + __action1463( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1669< +fn __action1671< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -63222,18 +63278,18 @@ fn __action1669< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1661( + let __temp0 = __action1663( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1462( + __action1464( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1670< +fn __action1672< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -63242,7 +63298,7 @@ fn __action1670< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1661( + let __temp0 = __action1663( __0, ); let __temp0 = (__start0, __temp0, __end0); diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap index f18c17d4..36996e22 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap @@ -31,7 +31,7 @@ Ok( default: None, }, ArgWithDefault { - range: 12..13, + range: 12..16, def: Arg { range: 12..13, arg: Identifier { @@ -54,7 +54,7 @@ Ok( ), }, ArgWithDefault { - range: 18..19, + range: 18..22, def: Arg { range: 18..19, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap index 575f4f47..6ddba078 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap @@ -71,7 +71,7 @@ Ok( default: None, }, ArgWithDefault { - range: 21..22, + range: 21..25, def: Arg { range: 21..22, arg: Identifier { @@ -94,7 +94,7 @@ Ok( ), }, ArgWithDefault { - range: 27..28, + range: 27..31, def: Arg { range: 27..28, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap index 972373c3..625461e1 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap @@ -81,7 +81,7 @@ Ok( default: None, }, ArgWithDefault { - range: 25..26, + range: 25..29, def: Arg { range: 25..26, arg: Identifier { @@ -104,7 +104,7 @@ Ok( ), }, ArgWithDefault { - range: 31..32, + range: 31..35, def: Arg { range: 31..32, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap index 27da55e2..16eb94a3 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap @@ -81,7 +81,7 @@ Ok( default: None, }, ArgWithDefault { - range: 25..26, + range: 25..29, def: Arg { range: 25..26, arg: Identifier { @@ -104,7 +104,7 @@ Ok( ), }, ArgWithDefault { - range: 31..32, + range: 31..35, def: Arg { range: 31..32, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap index fb009e49..d40bd262 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap @@ -29,7 +29,7 @@ Ok( default: None, }, ArgWithDefault { - range: 9..10, + range: 9..13, def: Arg { range: 9..10, arg: Identifier { @@ -52,7 +52,7 @@ Ok( ), }, ArgWithDefault { - range: 15..16, + range: 15..19, def: Arg { range: 15..16, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap index 103741c0..bf0d45ab 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap @@ -30,7 +30,7 @@ Ok( default: None, }, ArgWithDefault { - range: 13..14, + range: 13..17, def: Arg { range: 13..14, arg: Identifier { @@ -53,7 +53,7 @@ Ok( ), }, ArgWithDefault { - range: 19..20, + range: 19..23, def: Arg { range: 19..20, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap index 26fc8d66..4d302b30 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap @@ -28,7 +28,7 @@ Ok( default: None, }, ArgWithDefault { - range: 10..11, + range: 10..14, def: Arg { range: 10..11, arg: Identifier { @@ -51,7 +51,7 @@ Ok( ), }, ArgWithDefault { - range: 16..17, + range: 16..20, def: Arg { range: 16..17, arg: Identifier { diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap index 516365fc..2d3a6321 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap @@ -94,7 +94,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" default: None, }, ArgWithDefault { - range: 76..79, + range: 76..89, def: Arg { range: 76..79, arg: Identifier { From 7a4e0dc3cb1e797ad766d4a47e6b8177c8c35040 Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Thu, 22 Jun 2023 10:00:25 +0200 Subject: [PATCH 11/15] Fix range of keyword identifier (#14) --- parser/src/function.rs | 2 +- .../rustpython_parser__parser__tests__parse_kwargs.snap | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/parser/src/function.rs b/parser/src/function.rs index e68eed1f..3574f78e 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -103,7 +103,7 @@ pub(crate) fn parse_args(func_args: Vec) -> Result Date: Fri, 23 Jun 2023 22:18:55 +0200 Subject: [PATCH 12/15] Remove Range type parameter from AST nodes (#15) --- .github/workflows/ci.yaml | 4 +- ast/Cargo.toml | 1 - ast/asdl_rs.py | 62 +- ast/src/gen/generic.rs | 1618 ++++++++++++++++++------------------- ast/src/gen/ranged.rs | 170 ++-- ast/src/generic.rs | 264 +----- ast/src/impls.rs | 2 +- parser/Cargo.toml | 1 - parser/src/context.rs | 4 - parser/src/function.rs | 3 - parser/src/parser.rs | 24 +- parser/src/python.lalrpop | 41 +- parser/src/python.rs | 64 +- 13 files changed, 974 insertions(+), 1284 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3c627ddb..04a36190 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,7 +40,7 @@ jobs: - name: run tests with num-bigint run: cargo test --all --no-default-features --features num-bigint - name: run tests with malachite-bigint and all features - run: cargo test --all --features malachite-bigint,all-nodes-with-ranges,full-lexer,serde + run: cargo test --all --features malachite-bigint,full-lexer,serde lint: name: Check Rust code with rustfmt and clippy @@ -55,7 +55,7 @@ jobs: - name: run clippy run: cargo clippy --all --no-default-features --features num-bigint - name: run clippy - run: cargo clippy --all --features malachite-bigint,all-nodes-with-ranges,full-lexer,serde -- -Dwarnings + run: cargo clippy --all --features malachite-bigint,full-lexer,serde -- -Dwarnings - uses: actions/setup-python@v4 with: diff --git a/ast/Cargo.toml b/ast/Cargo.toml index 967b0e63..fe869346 100644 --- a/ast/Cargo.toml +++ b/ast/Cargo.toml @@ -9,7 +9,6 @@ license = "MIT" [features] default = ["malachite-bigint"] -all-nodes-with-ranges = [] [dependencies] rustpython-parser-core = { workspace = true } diff --git a/ast/asdl_rs.py b/ast/asdl_rs.py index 7e51da78..7d5c8bbb 100755 --- a/ast/asdl_rs.py +++ b/ast/asdl_rs.py @@ -286,13 +286,6 @@ def customized_type_info(self, type_name): def has_user_data(self, typ): return self.type_info[typ].has_user_data - def apply_generics(self, typ, *generics): - needs_generics = not self.type_info[typ].is_simple - if needs_generics: - return [f"<{g}>" for g in generics] - else: - return ["" for g in generics] - class EmitVisitor(asdl.VisitorBase, TypeInfoMixin): """Visit that emits lines""" @@ -393,17 +386,14 @@ def emit_attrs(self, depth): self.emit("#[derive(Clone, Debug, PartialEq)]", depth) def emit_range(self, has_attributes, depth): - if has_attributes: - self.emit("pub range: R,", depth + 1) - else: - self.emit("pub range: OptionalRange,", depth + 1) + self.emit("pub range: TextRange,", depth + 1) def visitModule(self, mod): self.emit_attrs(0) self.emit( """ #[derive(is_macro::Is)] - pub enum Ast { + pub enum Ast { """, 0, ) @@ -411,7 +401,6 @@ def visitModule(self, mod): info = self.customized_type_info(dfn.name) dfn = info.custom rust_name = info.full_type_name - generics = "" if self.type_info[dfn.name].is_simple else "" if dfn.name == "mod": # This is exceptional rule to other enums. # Unlike other enums, this is justified because `Mod` is only used as @@ -419,11 +408,11 @@ def visitModule(self, mod): # Because it will be very rarely used in very particular applications, # "ast_" prefix to everywhere seems less useful. self.emit('#[is(name = "module")]', 1) - self.emit(f"{rust_name}({rust_name}{generics}),", 1) + self.emit(f"{rust_name}({rust_name}),", 1) self.emit( """ } - impl Node for Ast { + impl Node for Ast { const NAME: &'static str = "AST"; const FIELD_NAMES: &'static [&'static str] = &[]; } @@ -433,11 +422,10 @@ def visitModule(self, mod): for dfn in mod.dfns: info = self.customized_type_info(dfn.name) rust_name = info.full_type_name - generics = "" if self.type_info[dfn.name].is_simple else "" self.emit( f""" - impl From<{rust_name}{generics}> for Ast {{ - fn from(node: {rust_name}{generics}) -> Self {{ + impl From<{rust_name}> for Ast {{ + fn from(node: {rust_name}) -> Self {{ Ast::{rust_name}(node) }} }} @@ -462,10 +450,9 @@ def visitSum(self, sum, type, depth): else: self.sum_with_constructors(sum, type, depth) - (generics_applied,) = self.apply_generics(type.name, "R") self.emit( f""" - impl{generics_applied} Node for {rust_type_name(type.name)}{generics_applied} {{ + impl Node for {rust_type_name(type.name)} {{ const NAME: &'static str = "{type.name}"; const FIELD_NAMES: &'static [&'static str] = &[]; }} @@ -512,7 +499,7 @@ def simple_sum(self, sum, type, depth): {rust_name}::{cons.name} }} }} - impl From<{rust_name}{cons.name}> for Ast {{ + impl From<{rust_name}{cons.name}> for Ast {{ fn from(_: {rust_name}{cons.name}) -> Self {{ {rust_name}::{cons.name}.into() }} @@ -537,7 +524,7 @@ def sum_with_constructors(self, sum, type, depth): self.emit_attrs(depth) self.emit("#[derive(is_macro::Is)]", depth) - self.emit(f"pub enum {rust_name} {{", depth) + self.emit(f"pub enum {rust_name} {{", depth) needs_escape = any(rust_field_name(t.name) in RUST_KEYWORDS for t in sum.types) for t in sum.types: if needs_escape: @@ -545,7 +532,7 @@ def sum_with_constructors(self, sum, type, depth): f'#[is(name = "{rust_field_name(t.name)}_{rust_name.lower()}")]', depth + 1, ) - self.emit(f"{t.name}({rust_name}{t.name}),", depth + 1) + self.emit(f"{t.name}({rust_name}{t.name}),", depth + 1) self.emit("}", depth) self.emit("", depth) @@ -559,7 +546,7 @@ def sum_subtype_struct(self, sum_type_info, t, rust_name, depth): ) self.emit_attrs(depth) payload_name = f"{rust_name}{t.name}" - self.emit(f"pub struct {payload_name} {{", depth) + self.emit(f"pub struct {payload_name} {{", depth) self.emit_range(sum_type_info.has_attributes, depth) for f in t.fields: self.visit(f, sum_type_info, "pub ", depth + 1, t.name) @@ -572,17 +559,17 @@ def sum_subtype_struct(self, sum_type_info, t, rust_name, depth): field_names = [f'"{f.name}"' for f in t.fields] self.emit( f""" - impl Node for {payload_name} {{ + impl Node for {payload_name} {{ const NAME: &'static str = "{t.name}"; const FIELD_NAMES: &'static [&'static str] = &[{', '.join(field_names)}]; }} - impl From<{payload_name}> for {rust_name} {{ - fn from(payload: {payload_name}) -> Self {{ + impl From<{payload_name}> for {rust_name} {{ + fn from(payload: {payload_name}) -> Self {{ {rust_name}::{t.name}(payload) }} }} - impl From<{payload_name}> for Ast {{ - fn from(payload: {payload_name}) -> Self {{ + impl From<{payload_name}> for Ast {{ + fn from(payload: {payload_name}) -> Self {{ {rust_name}::from(payload).into() }} }} @@ -609,7 +596,7 @@ def visitField(self, field, parent, vis, depth, constructor=None): field_type = None typ = rust_type_name(field.type) if field_type and not field_type.is_simple: - typ = f"{typ}" + typ = f"{typ}" # don't box if we're doing Vec, but do box if we're doing Vec>> if ( field_type @@ -642,7 +629,7 @@ def visitProduct(self, product, type, depth): type_info = self.type_info[type.name] product_name = type_info.full_type_name self.emit_attrs(depth) - self.emit(f"pub struct {product_name} {{", depth) + self.emit(f"pub struct {product_name} {{", depth) self.emit_range(product.attributes, depth + 1) for f in product.fields: self.visit(f, type_info, "pub ", depth + 1) @@ -652,7 +639,7 @@ def visitProduct(self, product, type, depth): field_names = [f'"{f.name}"' for f in product.fields] self.emit( f""" - impl Node for {product_name} {{ + impl Node for {product_name} {{ const NAME: &'static str = "{type.name}"; const FIELD_NAMES: &'static [&'static str] = &[ {', '.join(field_names)} @@ -692,8 +679,6 @@ def visitSum(self, sum, name, depth): self.emit_type_alias(variant_info) self.emit_ranged_impl(variant_info) - if not info.no_cfg(self.type_info): - self.emit('#[cfg(feature = "all-nodes-with-ranges")]', 0) self.emit( f""" @@ -716,21 +701,16 @@ def visitProduct(self, product, name, depth): def emit_type_alias(self, info): return # disable - generics = "" if info.is_simple else "::" - self.emit( - f"pub type {info.full_type_name} = crate::generic::{info.full_type_name}{generics};", + f"pub type {info.full_type_name} = crate::generic::{info.full_type_name};", 0, ) self.emit("", 0) def emit_ranged_impl(self, info): - if not info.no_cfg(self.type_info): - self.emit('#[cfg(feature = "all-nodes-with-ranges")]', 0) - self.file.write( f""" - impl Ranged for crate::generic::{info.full_type_name}:: {{ + impl Ranged for crate::generic::{info.full_type_name} {{ fn range(&self) -> TextRange {{ self.range }} diff --git a/ast/src/gen/generic.rs b/ast/src/gen/generic.rs index 87217eb2..36f79552 100644 --- a/ast/src/gen/generic.rs +++ b/ast/src/gen/generic.rs @@ -3,323 +3,323 @@ use crate::text_size::TextRange; #[derive(Clone, Debug, PartialEq)] #[derive(is_macro::Is)] -pub enum Ast { +pub enum Ast { #[is(name = "module")] - Mod(Mod), - Stmt(Stmt), - Expr(Expr), + Mod(Mod), + Stmt(Stmt), + Expr(Expr), ExprContext(ExprContext), BoolOp(BoolOp), Operator(Operator), UnaryOp(UnaryOp), CmpOp(CmpOp), - Comprehension(Comprehension), - ExceptHandler(ExceptHandler), - Arguments(Arguments), - Arg(Arg), - Keyword(Keyword), - Alias(Alias), - WithItem(WithItem), - MatchCase(MatchCase), - Pattern(Pattern), - TypeIgnore(TypeIgnore), - Decorator(Decorator), -} -impl Node for Ast { + Comprehension(Comprehension), + ExceptHandler(ExceptHandler), + Arguments(Arguments), + Arg(Arg), + Keyword(Keyword), + Alias(Alias), + WithItem(WithItem), + MatchCase(MatchCase), + Pattern(Pattern), + TypeIgnore(TypeIgnore), + Decorator(Decorator), +} +impl Node for Ast { const NAME: &'static str = "AST"; const FIELD_NAMES: &'static [&'static str] = &[]; } -impl From> for Ast { - fn from(node: Mod) -> Self { +impl From for Ast { + fn from(node: Mod) -> Self { Ast::Mod(node) } } -impl From> for Ast { - fn from(node: Stmt) -> Self { +impl From for Ast { + fn from(node: Stmt) -> Self { Ast::Stmt(node) } } -impl From> for Ast { - fn from(node: Expr) -> Self { +impl From for Ast { + fn from(node: Expr) -> Self { Ast::Expr(node) } } -impl From for Ast { +impl From for Ast { fn from(node: ExprContext) -> Self { Ast::ExprContext(node) } } -impl From for Ast { +impl From for Ast { fn from(node: BoolOp) -> Self { Ast::BoolOp(node) } } -impl From for Ast { +impl From for Ast { fn from(node: Operator) -> Self { Ast::Operator(node) } } -impl From for Ast { +impl From for Ast { fn from(node: UnaryOp) -> Self { Ast::UnaryOp(node) } } -impl From for Ast { +impl From for Ast { fn from(node: CmpOp) -> Self { Ast::CmpOp(node) } } -impl From> for Ast { - fn from(node: Comprehension) -> Self { +impl From for Ast { + fn from(node: Comprehension) -> Self { Ast::Comprehension(node) } } -impl From> for Ast { - fn from(node: ExceptHandler) -> Self { +impl From for Ast { + fn from(node: ExceptHandler) -> Self { Ast::ExceptHandler(node) } } -impl From> for Ast { - fn from(node: Arguments) -> Self { +impl From for Ast { + fn from(node: Arguments) -> Self { Ast::Arguments(node) } } -impl From> for Ast { - fn from(node: Arg) -> Self { +impl From for Ast { + fn from(node: Arg) -> Self { Ast::Arg(node) } } -impl From> for Ast { - fn from(node: Keyword) -> Self { +impl From for Ast { + fn from(node: Keyword) -> Self { Ast::Keyword(node) } } -impl From> for Ast { - fn from(node: Alias) -> Self { +impl From for Ast { + fn from(node: Alias) -> Self { Ast::Alias(node) } } -impl From> for Ast { - fn from(node: WithItem) -> Self { +impl From for Ast { + fn from(node: WithItem) -> Self { Ast::WithItem(node) } } -impl From> for Ast { - fn from(node: MatchCase) -> Self { +impl From for Ast { + fn from(node: MatchCase) -> Self { Ast::MatchCase(node) } } -impl From> for Ast { - fn from(node: Pattern) -> Self { +impl From for Ast { + fn from(node: Pattern) -> Self { Ast::Pattern(node) } } -impl From> for Ast { - fn from(node: TypeIgnore) -> Self { +impl From for Ast { + fn from(node: TypeIgnore) -> Self { Ast::TypeIgnore(node) } } -impl From> for Ast { - fn from(node: Decorator) -> Self { +impl From for Ast { + fn from(node: Decorator) -> Self { Ast::Decorator(node) } } /// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Mod { - Module(ModModule), - Interactive(ModInteractive), - Expression(ModExpression), - FunctionType(ModFunctionType), +pub enum Mod { + Module(ModModule), + Interactive(ModInteractive), + Expression(ModExpression), + FunctionType(ModFunctionType), } /// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module) #[derive(Clone, Debug, PartialEq)] -pub struct ModModule { - pub range: OptionalRange, - pub body: Vec>, - pub type_ignores: Vec>, +pub struct ModModule { + pub range: TextRange, + pub body: Vec, + pub type_ignores: Vec, } -impl Node for ModModule { +impl Node for ModModule { const NAME: &'static str = "Module"; const FIELD_NAMES: &'static [&'static str] = &["body", "type_ignores"]; } -impl From> for Mod { - fn from(payload: ModModule) -> Self { +impl From for Mod { + fn from(payload: ModModule) -> Self { Mod::Module(payload) } } -impl From> for Ast { - fn from(payload: ModModule) -> Self { +impl From for Ast { + fn from(payload: ModModule) -> Self { Mod::from(payload).into() } } /// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive) #[derive(Clone, Debug, PartialEq)] -pub struct ModInteractive { - pub range: OptionalRange, - pub body: Vec>, +pub struct ModInteractive { + pub range: TextRange, + pub body: Vec, } -impl Node for ModInteractive { +impl Node for ModInteractive { const NAME: &'static str = "Interactive"; const FIELD_NAMES: &'static [&'static str] = &["body"]; } -impl From> for Mod { - fn from(payload: ModInteractive) -> Self { +impl From for Mod { + fn from(payload: ModInteractive) -> Self { Mod::Interactive(payload) } } -impl From> for Ast { - fn from(payload: ModInteractive) -> Self { +impl From for Ast { + fn from(payload: ModInteractive) -> Self { Mod::from(payload).into() } } /// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression) #[derive(Clone, Debug, PartialEq)] -pub struct ModExpression { - pub range: OptionalRange, - pub body: Box>, +pub struct ModExpression { + pub range: TextRange, + pub body: Box, } -impl Node for ModExpression { +impl Node for ModExpression { const NAME: &'static str = "Expression"; const FIELD_NAMES: &'static [&'static str] = &["body"]; } -impl From> for Mod { - fn from(payload: ModExpression) -> Self { +impl From for Mod { + fn from(payload: ModExpression) -> Self { Mod::Expression(payload) } } -impl From> for Ast { - fn from(payload: ModExpression) -> Self { +impl From for Ast { + fn from(payload: ModExpression) -> Self { Mod::from(payload).into() } } /// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType) #[derive(Clone, Debug, PartialEq)] -pub struct ModFunctionType { - pub range: OptionalRange, - pub argtypes: Vec>, - pub returns: Box>, +pub struct ModFunctionType { + pub range: TextRange, + pub argtypes: Vec, + pub returns: Box, } -impl Node for ModFunctionType { +impl Node for ModFunctionType { const NAME: &'static str = "FunctionType"; const FIELD_NAMES: &'static [&'static str] = &["argtypes", "returns"]; } -impl From> for Mod { - fn from(payload: ModFunctionType) -> Self { +impl From for Mod { + fn from(payload: ModFunctionType) -> Self { Mod::FunctionType(payload) } } -impl From> for Ast { - fn from(payload: ModFunctionType) -> Self { +impl From for Ast { + fn from(payload: ModFunctionType) -> Self { Mod::from(payload).into() } } -impl Node for Mod { +impl Node for Mod { const NAME: &'static str = "mod"; const FIELD_NAMES: &'static [&'static str] = &[]; } /// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Stmt { +pub enum Stmt { #[is(name = "function_def_stmt")] - FunctionDef(StmtFunctionDef), + FunctionDef(StmtFunctionDef), #[is(name = "async_function_def_stmt")] - AsyncFunctionDef(StmtAsyncFunctionDef), + AsyncFunctionDef(StmtAsyncFunctionDef), #[is(name = "class_def_stmt")] - ClassDef(StmtClassDef), + ClassDef(StmtClassDef), #[is(name = "return_stmt")] - Return(StmtReturn), + Return(StmtReturn), #[is(name = "delete_stmt")] - Delete(StmtDelete), + Delete(StmtDelete), #[is(name = "assign_stmt")] - Assign(StmtAssign), + Assign(StmtAssign), #[is(name = "aug_assign_stmt")] - AugAssign(StmtAugAssign), + AugAssign(StmtAugAssign), #[is(name = "ann_assign_stmt")] - AnnAssign(StmtAnnAssign), + AnnAssign(StmtAnnAssign), #[is(name = "for_stmt")] - For(StmtFor), + For(StmtFor), #[is(name = "async_for_stmt")] - AsyncFor(StmtAsyncFor), + AsyncFor(StmtAsyncFor), #[is(name = "while_stmt")] - While(StmtWhile), + While(StmtWhile), #[is(name = "if_stmt")] - If(StmtIf), + If(StmtIf), #[is(name = "with_stmt")] - With(StmtWith), + With(StmtWith), #[is(name = "async_with_stmt")] - AsyncWith(StmtAsyncWith), + AsyncWith(StmtAsyncWith), #[is(name = "match_stmt")] - Match(StmtMatch), + Match(StmtMatch), #[is(name = "raise_stmt")] - Raise(StmtRaise), + Raise(StmtRaise), #[is(name = "try_stmt")] - Try(StmtTry), + Try(StmtTry), #[is(name = "try_star_stmt")] - TryStar(StmtTryStar), + TryStar(StmtTryStar), #[is(name = "assert_stmt")] - Assert(StmtAssert), + Assert(StmtAssert), #[is(name = "import_stmt")] - Import(StmtImport), + Import(StmtImport), #[is(name = "import_from_stmt")] - ImportFrom(StmtImportFrom), + ImportFrom(StmtImportFrom), #[is(name = "global_stmt")] - Global(StmtGlobal), + Global(StmtGlobal), #[is(name = "nonlocal_stmt")] - Nonlocal(StmtNonlocal), + Nonlocal(StmtNonlocal), #[is(name = "expr_stmt")] - Expr(StmtExpr), + Expr(StmtExpr), #[is(name = "pass_stmt")] - Pass(StmtPass), + Pass(StmtPass), #[is(name = "break_stmt")] - Break(StmtBreak), + Break(StmtBreak), #[is(name = "continue_stmt")] - Continue(StmtContinue), + Continue(StmtContinue), } /// See also [FunctionDef](https://docs.python.org/3/library/ast.html#ast.FunctionDef) #[derive(Clone, Debug, PartialEq)] -pub struct StmtFunctionDef { - pub range: R, +pub struct StmtFunctionDef { + pub range: TextRange, pub name: Identifier, - pub args: Box>, - pub body: Vec>, - pub decorator_list: Vec>, - pub returns: Option>>, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, pub type_comment: Option, } -impl Node for StmtFunctionDef { +impl Node for StmtFunctionDef { const NAME: &'static str = "FunctionDef"; const FIELD_NAMES: &'static [&'static str] = &[ "name", @@ -330,30 +330,30 @@ impl Node for StmtFunctionDef { "type_comment", ]; } -impl From> for Stmt { - fn from(payload: StmtFunctionDef) -> Self { +impl From for Stmt { + fn from(payload: StmtFunctionDef) -> Self { Stmt::FunctionDef(payload) } } -impl From> for Ast { - fn from(payload: StmtFunctionDef) -> Self { +impl From for Ast { + fn from(payload: StmtFunctionDef) -> Self { Stmt::from(payload).into() } } /// See also [AsyncFunctionDef](https://docs.python.org/3/library/ast.html#ast.AsyncFunctionDef) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFunctionDef { - pub range: R, +pub struct StmtAsyncFunctionDef { + pub range: TextRange, pub name: Identifier, - pub args: Box>, - pub body: Vec>, - pub decorator_list: Vec>, - pub returns: Option>>, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, pub type_comment: Option, } -impl Node for StmtAsyncFunctionDef { +impl Node for StmtAsyncFunctionDef { const NAME: &'static str = "AsyncFunctionDef"; const FIELD_NAMES: &'static [&'static str] = &[ "name", @@ -364,1295 +364,1295 @@ impl Node for StmtAsyncFunctionDef { "type_comment", ]; } -impl From> for Stmt { - fn from(payload: StmtAsyncFunctionDef) -> Self { +impl From for Stmt { + fn from(payload: StmtAsyncFunctionDef) -> Self { Stmt::AsyncFunctionDef(payload) } } -impl From> for Ast { - fn from(payload: StmtAsyncFunctionDef) -> Self { +impl From for Ast { + fn from(payload: StmtAsyncFunctionDef) -> Self { Stmt::from(payload).into() } } /// See also [ClassDef](https://docs.python.org/3/library/ast.html#ast.ClassDef) #[derive(Clone, Debug, PartialEq)] -pub struct StmtClassDef { - pub range: R, +pub struct StmtClassDef { + pub range: TextRange, pub name: Identifier, - pub bases: Vec>, - pub keywords: Vec>, - pub body: Vec>, - pub decorator_list: Vec>, + pub bases: Vec, + pub keywords: Vec, + pub body: Vec, + pub decorator_list: Vec, } -impl Node for StmtClassDef { +impl Node for StmtClassDef { const NAME: &'static str = "ClassDef"; const FIELD_NAMES: &'static [&'static str] = &["name", "bases", "keywords", "body", "decorator_list"]; } -impl From> for Stmt { - fn from(payload: StmtClassDef) -> Self { +impl From for Stmt { + fn from(payload: StmtClassDef) -> Self { Stmt::ClassDef(payload) } } -impl From> for Ast { - fn from(payload: StmtClassDef) -> Self { +impl From for Ast { + fn from(payload: StmtClassDef) -> Self { Stmt::from(payload).into() } } /// See also [Return](https://docs.python.org/3/library/ast.html#ast.Return) #[derive(Clone, Debug, PartialEq)] -pub struct StmtReturn { - pub range: R, - pub value: Option>>, +pub struct StmtReturn { + pub range: TextRange, + pub value: Option>, } -impl Node for StmtReturn { +impl Node for StmtReturn { const NAME: &'static str = "Return"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Stmt { - fn from(payload: StmtReturn) -> Self { +impl From for Stmt { + fn from(payload: StmtReturn) -> Self { Stmt::Return(payload) } } -impl From> for Ast { - fn from(payload: StmtReturn) -> Self { +impl From for Ast { + fn from(payload: StmtReturn) -> Self { Stmt::from(payload).into() } } /// See also [Delete](https://docs.python.org/3/library/ast.html#ast.Delete) #[derive(Clone, Debug, PartialEq)] -pub struct StmtDelete { - pub range: R, - pub targets: Vec>, +pub struct StmtDelete { + pub range: TextRange, + pub targets: Vec, } -impl Node for StmtDelete { +impl Node for StmtDelete { const NAME: &'static str = "Delete"; const FIELD_NAMES: &'static [&'static str] = &["targets"]; } -impl From> for Stmt { - fn from(payload: StmtDelete) -> Self { +impl From for Stmt { + fn from(payload: StmtDelete) -> Self { Stmt::Delete(payload) } } -impl From> for Ast { - fn from(payload: StmtDelete) -> Self { +impl From for Ast { + fn from(payload: StmtDelete) -> Self { Stmt::from(payload).into() } } /// See also [Assign](https://docs.python.org/3/library/ast.html#ast.Assign) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAssign { - pub range: R, - pub targets: Vec>, - pub value: Box>, +pub struct StmtAssign { + pub range: TextRange, + pub targets: Vec, + pub value: Box, pub type_comment: Option, } -impl Node for StmtAssign { +impl Node for StmtAssign { const NAME: &'static str = "Assign"; const FIELD_NAMES: &'static [&'static str] = &["targets", "value", "type_comment"]; } -impl From> for Stmt { - fn from(payload: StmtAssign) -> Self { +impl From for Stmt { + fn from(payload: StmtAssign) -> Self { Stmt::Assign(payload) } } -impl From> for Ast { - fn from(payload: StmtAssign) -> Self { +impl From for Ast { + fn from(payload: StmtAssign) -> Self { Stmt::from(payload).into() } } /// See also [AugAssign](https://docs.python.org/3/library/ast.html#ast.AugAssign) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAugAssign { - pub range: R, - pub target: Box>, +pub struct StmtAugAssign { + pub range: TextRange, + pub target: Box, pub op: Operator, - pub value: Box>, + pub value: Box, } -impl Node for StmtAugAssign { +impl Node for StmtAugAssign { const NAME: &'static str = "AugAssign"; const FIELD_NAMES: &'static [&'static str] = &["target", "op", "value"]; } -impl From> for Stmt { - fn from(payload: StmtAugAssign) -> Self { +impl From for Stmt { + fn from(payload: StmtAugAssign) -> Self { Stmt::AugAssign(payload) } } -impl From> for Ast { - fn from(payload: StmtAugAssign) -> Self { +impl From for Ast { + fn from(payload: StmtAugAssign) -> Self { Stmt::from(payload).into() } } /// See also [AnnAssign](https://docs.python.org/3/library/ast.html#ast.AnnAssign) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAnnAssign { - pub range: R, - pub target: Box>, - pub annotation: Box>, - pub value: Option>>, +pub struct StmtAnnAssign { + pub range: TextRange, + pub target: Box, + pub annotation: Box, + pub value: Option>, pub simple: bool, } -impl Node for StmtAnnAssign { +impl Node for StmtAnnAssign { const NAME: &'static str = "AnnAssign"; const FIELD_NAMES: &'static [&'static str] = &["target", "annotation", "value", "simple"]; } -impl From> for Stmt { - fn from(payload: StmtAnnAssign) -> Self { +impl From for Stmt { + fn from(payload: StmtAnnAssign) -> Self { Stmt::AnnAssign(payload) } } -impl From> for Ast { - fn from(payload: StmtAnnAssign) -> Self { +impl From for Ast { + fn from(payload: StmtAnnAssign) -> Self { Stmt::from(payload).into() } } /// See also [For](https://docs.python.org/3/library/ast.html#ast.For) #[derive(Clone, Debug, PartialEq)] -pub struct StmtFor { - pub range: R, - pub target: Box>, - pub iter: Box>, - pub body: Vec>, - pub orelse: Vec>, +pub struct StmtFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, pub type_comment: Option, } -impl Node for StmtFor { +impl Node for StmtFor { const NAME: &'static str = "For"; const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "body", "orelse", "type_comment"]; } -impl From> for Stmt { - fn from(payload: StmtFor) -> Self { +impl From for Stmt { + fn from(payload: StmtFor) -> Self { Stmt::For(payload) } } -impl From> for Ast { - fn from(payload: StmtFor) -> Self { +impl From for Ast { + fn from(payload: StmtFor) -> Self { Stmt::from(payload).into() } } /// See also [AsyncFor](https://docs.python.org/3/library/ast.html#ast.AsyncFor) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFor { - pub range: R, - pub target: Box>, - pub iter: Box>, - pub body: Vec>, - pub orelse: Vec>, +pub struct StmtAsyncFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, pub type_comment: Option, } -impl Node for StmtAsyncFor { +impl Node for StmtAsyncFor { const NAME: &'static str = "AsyncFor"; const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "body", "orelse", "type_comment"]; } -impl From> for Stmt { - fn from(payload: StmtAsyncFor) -> Self { +impl From for Stmt { + fn from(payload: StmtAsyncFor) -> Self { Stmt::AsyncFor(payload) } } -impl From> for Ast { - fn from(payload: StmtAsyncFor) -> Self { +impl From for Ast { + fn from(payload: StmtAsyncFor) -> Self { Stmt::from(payload).into() } } /// See also [While](https://docs.python.org/3/library/ast.html#ast.While) #[derive(Clone, Debug, PartialEq)] -pub struct StmtWhile { - pub range: R, - pub test: Box>, - pub body: Vec>, - pub orelse: Vec>, +pub struct StmtWhile { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, } -impl Node for StmtWhile { +impl Node for StmtWhile { const NAME: &'static str = "While"; const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; } -impl From> for Stmt { - fn from(payload: StmtWhile) -> Self { +impl From for Stmt { + fn from(payload: StmtWhile) -> Self { Stmt::While(payload) } } -impl From> for Ast { - fn from(payload: StmtWhile) -> Self { +impl From for Ast { + fn from(payload: StmtWhile) -> Self { Stmt::from(payload).into() } } /// See also [If](https://docs.python.org/3/library/ast.html#ast.If) #[derive(Clone, Debug, PartialEq)] -pub struct StmtIf { - pub range: R, - pub test: Box>, - pub body: Vec>, - pub orelse: Vec>, +pub struct StmtIf { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, } -impl Node for StmtIf { +impl Node for StmtIf { const NAME: &'static str = "If"; const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; } -impl From> for Stmt { - fn from(payload: StmtIf) -> Self { +impl From for Stmt { + fn from(payload: StmtIf) -> Self { Stmt::If(payload) } } -impl From> for Ast { - fn from(payload: StmtIf) -> Self { +impl From for Ast { + fn from(payload: StmtIf) -> Self { Stmt::from(payload).into() } } /// See also [With](https://docs.python.org/3/library/ast.html#ast.With) #[derive(Clone, Debug, PartialEq)] -pub struct StmtWith { - pub range: R, - pub items: Vec>, - pub body: Vec>, +pub struct StmtWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, pub type_comment: Option, } -impl Node for StmtWith { +impl Node for StmtWith { const NAME: &'static str = "With"; const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; } -impl From> for Stmt { - fn from(payload: StmtWith) -> Self { +impl From for Stmt { + fn from(payload: StmtWith) -> Self { Stmt::With(payload) } } -impl From> for Ast { - fn from(payload: StmtWith) -> Self { +impl From for Ast { + fn from(payload: StmtWith) -> Self { Stmt::from(payload).into() } } /// See also [AsyncWith](https://docs.python.org/3/library/ast.html#ast.AsyncWith) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncWith { - pub range: R, - pub items: Vec>, - pub body: Vec>, +pub struct StmtAsyncWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, pub type_comment: Option, } -impl Node for StmtAsyncWith { +impl Node for StmtAsyncWith { const NAME: &'static str = "AsyncWith"; const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; } -impl From> for Stmt { - fn from(payload: StmtAsyncWith) -> Self { +impl From for Stmt { + fn from(payload: StmtAsyncWith) -> Self { Stmt::AsyncWith(payload) } } -impl From> for Ast { - fn from(payload: StmtAsyncWith) -> Self { +impl From for Ast { + fn from(payload: StmtAsyncWith) -> Self { Stmt::from(payload).into() } } /// See also [Match](https://docs.python.org/3/library/ast.html#ast.Match) #[derive(Clone, Debug, PartialEq)] -pub struct StmtMatch { - pub range: R, - pub subject: Box>, - pub cases: Vec>, +pub struct StmtMatch { + pub range: TextRange, + pub subject: Box, + pub cases: Vec, } -impl Node for StmtMatch { +impl Node for StmtMatch { const NAME: &'static str = "Match"; const FIELD_NAMES: &'static [&'static str] = &["subject", "cases"]; } -impl From> for Stmt { - fn from(payload: StmtMatch) -> Self { +impl From for Stmt { + fn from(payload: StmtMatch) -> Self { Stmt::Match(payload) } } -impl From> for Ast { - fn from(payload: StmtMatch) -> Self { +impl From for Ast { + fn from(payload: StmtMatch) -> Self { Stmt::from(payload).into() } } /// See also [Raise](https://docs.python.org/3/library/ast.html#ast.Raise) #[derive(Clone, Debug, PartialEq)] -pub struct StmtRaise { - pub range: R, - pub exc: Option>>, - pub cause: Option>>, +pub struct StmtRaise { + pub range: TextRange, + pub exc: Option>, + pub cause: Option>, } -impl Node for StmtRaise { +impl Node for StmtRaise { const NAME: &'static str = "Raise"; const FIELD_NAMES: &'static [&'static str] = &["exc", "cause"]; } -impl From> for Stmt { - fn from(payload: StmtRaise) -> Self { +impl From for Stmt { + fn from(payload: StmtRaise) -> Self { Stmt::Raise(payload) } } -impl From> for Ast { - fn from(payload: StmtRaise) -> Self { +impl From for Ast { + fn from(payload: StmtRaise) -> Self { Stmt::from(payload).into() } } /// See also [Try](https://docs.python.org/3/library/ast.html#ast.Try) #[derive(Clone, Debug, PartialEq)] -pub struct StmtTry { - pub range: R, - pub body: Vec>, - pub handlers: Vec>, - pub orelse: Vec>, - pub finalbody: Vec>, +pub struct StmtTry { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, } -impl Node for StmtTry { +impl Node for StmtTry { const NAME: &'static str = "Try"; const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; } -impl From> for Stmt { - fn from(payload: StmtTry) -> Self { +impl From for Stmt { + fn from(payload: StmtTry) -> Self { Stmt::Try(payload) } } -impl From> for Ast { - fn from(payload: StmtTry) -> Self { +impl From for Ast { + fn from(payload: StmtTry) -> Self { Stmt::from(payload).into() } } /// See also [TryStar](https://docs.python.org/3/library/ast.html#ast.TryStar) #[derive(Clone, Debug, PartialEq)] -pub struct StmtTryStar { - pub range: R, - pub body: Vec>, - pub handlers: Vec>, - pub orelse: Vec>, - pub finalbody: Vec>, +pub struct StmtTryStar { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, } -impl Node for StmtTryStar { +impl Node for StmtTryStar { const NAME: &'static str = "TryStar"; const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; } -impl From> for Stmt { - fn from(payload: StmtTryStar) -> Self { +impl From for Stmt { + fn from(payload: StmtTryStar) -> Self { Stmt::TryStar(payload) } } -impl From> for Ast { - fn from(payload: StmtTryStar) -> Self { +impl From for Ast { + fn from(payload: StmtTryStar) -> Self { Stmt::from(payload).into() } } /// See also [Assert](https://docs.python.org/3/library/ast.html#ast.Assert) #[derive(Clone, Debug, PartialEq)] -pub struct StmtAssert { - pub range: R, - pub test: Box>, - pub msg: Option>>, +pub struct StmtAssert { + pub range: TextRange, + pub test: Box, + pub msg: Option>, } -impl Node for StmtAssert { +impl Node for StmtAssert { const NAME: &'static str = "Assert"; const FIELD_NAMES: &'static [&'static str] = &["test", "msg"]; } -impl From> for Stmt { - fn from(payload: StmtAssert) -> Self { +impl From for Stmt { + fn from(payload: StmtAssert) -> Self { Stmt::Assert(payload) } } -impl From> for Ast { - fn from(payload: StmtAssert) -> Self { +impl From for Ast { + fn from(payload: StmtAssert) -> Self { Stmt::from(payload).into() } } /// See also [Import](https://docs.python.org/3/library/ast.html#ast.Import) #[derive(Clone, Debug, PartialEq)] -pub struct StmtImport { - pub range: R, - pub names: Vec>, +pub struct StmtImport { + pub range: TextRange, + pub names: Vec, } -impl Node for StmtImport { +impl Node for StmtImport { const NAME: &'static str = "Import"; const FIELD_NAMES: &'static [&'static str] = &["names"]; } -impl From> for Stmt { - fn from(payload: StmtImport) -> Self { +impl From for Stmt { + fn from(payload: StmtImport) -> Self { Stmt::Import(payload) } } -impl From> for Ast { - fn from(payload: StmtImport) -> Self { +impl From for Ast { + fn from(payload: StmtImport) -> Self { Stmt::from(payload).into() } } /// See also [ImportFrom](https://docs.python.org/3/library/ast.html#ast.ImportFrom) #[derive(Clone, Debug, PartialEq)] -pub struct StmtImportFrom { - pub range: R, +pub struct StmtImportFrom { + pub range: TextRange, pub module: Option, - pub names: Vec>, + pub names: Vec, pub level: Option, } -impl Node for StmtImportFrom { +impl Node for StmtImportFrom { const NAME: &'static str = "ImportFrom"; const FIELD_NAMES: &'static [&'static str] = &["module", "names", "level"]; } -impl From> for Stmt { - fn from(payload: StmtImportFrom) -> Self { +impl From for Stmt { + fn from(payload: StmtImportFrom) -> Self { Stmt::ImportFrom(payload) } } -impl From> for Ast { - fn from(payload: StmtImportFrom) -> Self { +impl From for Ast { + fn from(payload: StmtImportFrom) -> Self { Stmt::from(payload).into() } } /// See also [Global](https://docs.python.org/3/library/ast.html#ast.Global) #[derive(Clone, Debug, PartialEq)] -pub struct StmtGlobal { - pub range: R, +pub struct StmtGlobal { + pub range: TextRange, pub names: Vec, } -impl Node for StmtGlobal { +impl Node for StmtGlobal { const NAME: &'static str = "Global"; const FIELD_NAMES: &'static [&'static str] = &["names"]; } -impl From> for Stmt { - fn from(payload: StmtGlobal) -> Self { +impl From for Stmt { + fn from(payload: StmtGlobal) -> Self { Stmt::Global(payload) } } -impl From> for Ast { - fn from(payload: StmtGlobal) -> Self { +impl From for Ast { + fn from(payload: StmtGlobal) -> Self { Stmt::from(payload).into() } } /// See also [Nonlocal](https://docs.python.org/3/library/ast.html#ast.Nonlocal) #[derive(Clone, Debug, PartialEq)] -pub struct StmtNonlocal { - pub range: R, +pub struct StmtNonlocal { + pub range: TextRange, pub names: Vec, } -impl Node for StmtNonlocal { +impl Node for StmtNonlocal { const NAME: &'static str = "Nonlocal"; const FIELD_NAMES: &'static [&'static str] = &["names"]; } -impl From> for Stmt { - fn from(payload: StmtNonlocal) -> Self { +impl From for Stmt { + fn from(payload: StmtNonlocal) -> Self { Stmt::Nonlocal(payload) } } -impl From> for Ast { - fn from(payload: StmtNonlocal) -> Self { +impl From for Ast { + fn from(payload: StmtNonlocal) -> Self { Stmt::from(payload).into() } } /// See also [Expr](https://docs.python.org/3/library/ast.html#ast.Expr) #[derive(Clone, Debug, PartialEq)] -pub struct StmtExpr { - pub range: R, - pub value: Box>, +pub struct StmtExpr { + pub range: TextRange, + pub value: Box, } -impl Node for StmtExpr { +impl Node for StmtExpr { const NAME: &'static str = "Expr"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Stmt { - fn from(payload: StmtExpr) -> Self { +impl From for Stmt { + fn from(payload: StmtExpr) -> Self { Stmt::Expr(payload) } } -impl From> for Ast { - fn from(payload: StmtExpr) -> Self { +impl From for Ast { + fn from(payload: StmtExpr) -> Self { Stmt::from(payload).into() } } /// See also [Pass](https://docs.python.org/3/library/ast.html#ast.Pass) #[derive(Clone, Debug, PartialEq)] -pub struct StmtPass { - pub range: R, +pub struct StmtPass { + pub range: TextRange, } -impl Node for StmtPass { +impl Node for StmtPass { const NAME: &'static str = "Pass"; const FIELD_NAMES: &'static [&'static str] = &[]; } -impl From> for Stmt { - fn from(payload: StmtPass) -> Self { +impl From for Stmt { + fn from(payload: StmtPass) -> Self { Stmt::Pass(payload) } } -impl From> for Ast { - fn from(payload: StmtPass) -> Self { +impl From for Ast { + fn from(payload: StmtPass) -> Self { Stmt::from(payload).into() } } /// See also [Break](https://docs.python.org/3/library/ast.html#ast.Break) #[derive(Clone, Debug, PartialEq)] -pub struct StmtBreak { - pub range: R, +pub struct StmtBreak { + pub range: TextRange, } -impl Node for StmtBreak { +impl Node for StmtBreak { const NAME: &'static str = "Break"; const FIELD_NAMES: &'static [&'static str] = &[]; } -impl From> for Stmt { - fn from(payload: StmtBreak) -> Self { +impl From for Stmt { + fn from(payload: StmtBreak) -> Self { Stmt::Break(payload) } } -impl From> for Ast { - fn from(payload: StmtBreak) -> Self { +impl From for Ast { + fn from(payload: StmtBreak) -> Self { Stmt::from(payload).into() } } /// See also [Continue](https://docs.python.org/3/library/ast.html#ast.Continue) #[derive(Clone, Debug, PartialEq)] -pub struct StmtContinue { - pub range: R, +pub struct StmtContinue { + pub range: TextRange, } -impl Node for StmtContinue { +impl Node for StmtContinue { const NAME: &'static str = "Continue"; const FIELD_NAMES: &'static [&'static str] = &[]; } -impl From> for Stmt { - fn from(payload: StmtContinue) -> Self { +impl From for Stmt { + fn from(payload: StmtContinue) -> Self { Stmt::Continue(payload) } } -impl From> for Ast { - fn from(payload: StmtContinue) -> Self { +impl From for Ast { + fn from(payload: StmtContinue) -> Self { Stmt::from(payload).into() } } -impl Node for Stmt { +impl Node for Stmt { const NAME: &'static str = "stmt"; const FIELD_NAMES: &'static [&'static str] = &[]; } /// See also [expr](https://docs.python.org/3/library/ast.html#ast.expr) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Expr { +pub enum Expr { #[is(name = "bool_op_expr")] - BoolOp(ExprBoolOp), + BoolOp(ExprBoolOp), #[is(name = "named_expr_expr")] - NamedExpr(ExprNamedExpr), + NamedExpr(ExprNamedExpr), #[is(name = "bin_op_expr")] - BinOp(ExprBinOp), + BinOp(ExprBinOp), #[is(name = "unary_op_expr")] - UnaryOp(ExprUnaryOp), + UnaryOp(ExprUnaryOp), #[is(name = "lambda_expr")] - Lambda(ExprLambda), + Lambda(ExprLambda), #[is(name = "if_exp_expr")] - IfExp(ExprIfExp), + IfExp(ExprIfExp), #[is(name = "dict_expr")] - Dict(ExprDict), + Dict(ExprDict), #[is(name = "set_expr")] - Set(ExprSet), + Set(ExprSet), #[is(name = "list_comp_expr")] - ListComp(ExprListComp), + ListComp(ExprListComp), #[is(name = "set_comp_expr")] - SetComp(ExprSetComp), + SetComp(ExprSetComp), #[is(name = "dict_comp_expr")] - DictComp(ExprDictComp), + DictComp(ExprDictComp), #[is(name = "generator_exp_expr")] - GeneratorExp(ExprGeneratorExp), + GeneratorExp(ExprGeneratorExp), #[is(name = "await_expr")] - Await(ExprAwait), + Await(ExprAwait), #[is(name = "yield_expr")] - Yield(ExprYield), + Yield(ExprYield), #[is(name = "yield_from_expr")] - YieldFrom(ExprYieldFrom), + YieldFrom(ExprYieldFrom), #[is(name = "compare_expr")] - Compare(ExprCompare), + Compare(ExprCompare), #[is(name = "call_expr")] - Call(ExprCall), + Call(ExprCall), #[is(name = "formatted_value_expr")] - FormattedValue(ExprFormattedValue), + FormattedValue(ExprFormattedValue), #[is(name = "joined_str_expr")] - JoinedStr(ExprJoinedStr), + JoinedStr(ExprJoinedStr), #[is(name = "constant_expr")] - Constant(ExprConstant), + Constant(ExprConstant), #[is(name = "attribute_expr")] - Attribute(ExprAttribute), + Attribute(ExprAttribute), #[is(name = "subscript_expr")] - Subscript(ExprSubscript), + Subscript(ExprSubscript), #[is(name = "starred_expr")] - Starred(ExprStarred), + Starred(ExprStarred), #[is(name = "name_expr")] - Name(ExprName), + Name(ExprName), #[is(name = "list_expr")] - List(ExprList), + List(ExprList), #[is(name = "tuple_expr")] - Tuple(ExprTuple), + Tuple(ExprTuple), #[is(name = "slice_expr")] - Slice(ExprSlice), + Slice(ExprSlice), } /// See also [BoolOp](https://docs.python.org/3/library/ast.html#ast.BoolOp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprBoolOp { - pub range: R, +pub struct ExprBoolOp { + pub range: TextRange, pub op: BoolOp, - pub values: Vec>, + pub values: Vec, } -impl Node for ExprBoolOp { +impl Node for ExprBoolOp { const NAME: &'static str = "BoolOp"; const FIELD_NAMES: &'static [&'static str] = &["op", "values"]; } -impl From> for Expr { - fn from(payload: ExprBoolOp) -> Self { +impl From for Expr { + fn from(payload: ExprBoolOp) -> Self { Expr::BoolOp(payload) } } -impl From> for Ast { - fn from(payload: ExprBoolOp) -> Self { +impl From for Ast { + fn from(payload: ExprBoolOp) -> Self { Expr::from(payload).into() } } /// See also [NamedExpr](https://docs.python.org/3/library/ast.html#ast.NamedExpr) #[derive(Clone, Debug, PartialEq)] -pub struct ExprNamedExpr { - pub range: R, - pub target: Box>, - pub value: Box>, +pub struct ExprNamedExpr { + pub range: TextRange, + pub target: Box, + pub value: Box, } -impl Node for ExprNamedExpr { +impl Node for ExprNamedExpr { const NAME: &'static str = "NamedExpr"; const FIELD_NAMES: &'static [&'static str] = &["target", "value"]; } -impl From> for Expr { - fn from(payload: ExprNamedExpr) -> Self { +impl From for Expr { + fn from(payload: ExprNamedExpr) -> Self { Expr::NamedExpr(payload) } } -impl From> for Ast { - fn from(payload: ExprNamedExpr) -> Self { +impl From for Ast { + fn from(payload: ExprNamedExpr) -> Self { Expr::from(payload).into() } } /// See also [BinOp](https://docs.python.org/3/library/ast.html#ast.BinOp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprBinOp { - pub range: R, - pub left: Box>, +pub struct ExprBinOp { + pub range: TextRange, + pub left: Box, pub op: Operator, - pub right: Box>, + pub right: Box, } -impl Node for ExprBinOp { +impl Node for ExprBinOp { const NAME: &'static str = "BinOp"; const FIELD_NAMES: &'static [&'static str] = &["left", "op", "right"]; } -impl From> for Expr { - fn from(payload: ExprBinOp) -> Self { +impl From for Expr { + fn from(payload: ExprBinOp) -> Self { Expr::BinOp(payload) } } -impl From> for Ast { - fn from(payload: ExprBinOp) -> Self { +impl From for Ast { + fn from(payload: ExprBinOp) -> Self { Expr::from(payload).into() } } /// See also [UnaryOp](https://docs.python.org/3/library/ast.html#ast.UnaryOp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprUnaryOp { - pub range: R, +pub struct ExprUnaryOp { + pub range: TextRange, pub op: UnaryOp, - pub operand: Box>, + pub operand: Box, } -impl Node for ExprUnaryOp { +impl Node for ExprUnaryOp { const NAME: &'static str = "UnaryOp"; const FIELD_NAMES: &'static [&'static str] = &["op", "operand"]; } -impl From> for Expr { - fn from(payload: ExprUnaryOp) -> Self { +impl From for Expr { + fn from(payload: ExprUnaryOp) -> Self { Expr::UnaryOp(payload) } } -impl From> for Ast { - fn from(payload: ExprUnaryOp) -> Self { +impl From for Ast { + fn from(payload: ExprUnaryOp) -> Self { Expr::from(payload).into() } } /// See also [Lambda](https://docs.python.org/3/library/ast.html#ast.Lambda) #[derive(Clone, Debug, PartialEq)] -pub struct ExprLambda { - pub range: R, - pub args: Box>, - pub body: Box>, +pub struct ExprLambda { + pub range: TextRange, + pub args: Box, + pub body: Box, } -impl Node for ExprLambda { +impl Node for ExprLambda { const NAME: &'static str = "Lambda"; const FIELD_NAMES: &'static [&'static str] = &["args", "body"]; } -impl From> for Expr { - fn from(payload: ExprLambda) -> Self { +impl From for Expr { + fn from(payload: ExprLambda) -> Self { Expr::Lambda(payload) } } -impl From> for Ast { - fn from(payload: ExprLambda) -> Self { +impl From for Ast { + fn from(payload: ExprLambda) -> Self { Expr::from(payload).into() } } /// See also [IfExp](https://docs.python.org/3/library/ast.html#ast.IfExp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprIfExp { - pub range: R, - pub test: Box>, - pub body: Box>, - pub orelse: Box>, +pub struct ExprIfExp { + pub range: TextRange, + pub test: Box, + pub body: Box, + pub orelse: Box, } -impl Node for ExprIfExp { +impl Node for ExprIfExp { const NAME: &'static str = "IfExp"; const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; } -impl From> for Expr { - fn from(payload: ExprIfExp) -> Self { +impl From for Expr { + fn from(payload: ExprIfExp) -> Self { Expr::IfExp(payload) } } -impl From> for Ast { - fn from(payload: ExprIfExp) -> Self { +impl From for Ast { + fn from(payload: ExprIfExp) -> Self { Expr::from(payload).into() } } /// See also [Dict](https://docs.python.org/3/library/ast.html#ast.Dict) #[derive(Clone, Debug, PartialEq)] -pub struct ExprDict { - pub range: R, - pub keys: Vec>>, - pub values: Vec>, +pub struct ExprDict { + pub range: TextRange, + pub keys: Vec>, + pub values: Vec, } -impl Node for ExprDict { +impl Node for ExprDict { const NAME: &'static str = "Dict"; const FIELD_NAMES: &'static [&'static str] = &["keys", "values"]; } -impl From> for Expr { - fn from(payload: ExprDict) -> Self { +impl From for Expr { + fn from(payload: ExprDict) -> Self { Expr::Dict(payload) } } -impl From> for Ast { - fn from(payload: ExprDict) -> Self { +impl From for Ast { + fn from(payload: ExprDict) -> Self { Expr::from(payload).into() } } /// See also [Set](https://docs.python.org/3/library/ast.html#ast.Set) #[derive(Clone, Debug, PartialEq)] -pub struct ExprSet { - pub range: R, - pub elts: Vec>, +pub struct ExprSet { + pub range: TextRange, + pub elts: Vec, } -impl Node for ExprSet { +impl Node for ExprSet { const NAME: &'static str = "Set"; const FIELD_NAMES: &'static [&'static str] = &["elts"]; } -impl From> for Expr { - fn from(payload: ExprSet) -> Self { +impl From for Expr { + fn from(payload: ExprSet) -> Self { Expr::Set(payload) } } -impl From> for Ast { - fn from(payload: ExprSet) -> Self { +impl From for Ast { + fn from(payload: ExprSet) -> Self { Expr::from(payload).into() } } /// See also [ListComp](https://docs.python.org/3/library/ast.html#ast.ListComp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprListComp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, +pub struct ExprListComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, } -impl Node for ExprListComp { +impl Node for ExprListComp { const NAME: &'static str = "ListComp"; const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; } -impl From> for Expr { - fn from(payload: ExprListComp) -> Self { +impl From for Expr { + fn from(payload: ExprListComp) -> Self { Expr::ListComp(payload) } } -impl From> for Ast { - fn from(payload: ExprListComp) -> Self { +impl From for Ast { + fn from(payload: ExprListComp) -> Self { Expr::from(payload).into() } } /// See also [SetComp](https://docs.python.org/3/library/ast.html#ast.SetComp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprSetComp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, +pub struct ExprSetComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, } -impl Node for ExprSetComp { +impl Node for ExprSetComp { const NAME: &'static str = "SetComp"; const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; } -impl From> for Expr { - fn from(payload: ExprSetComp) -> Self { +impl From for Expr { + fn from(payload: ExprSetComp) -> Self { Expr::SetComp(payload) } } -impl From> for Ast { - fn from(payload: ExprSetComp) -> Self { +impl From for Ast { + fn from(payload: ExprSetComp) -> Self { Expr::from(payload).into() } } /// See also [DictComp](https://docs.python.org/3/library/ast.html#ast.DictComp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprDictComp { - pub range: R, - pub key: Box>, - pub value: Box>, - pub generators: Vec>, +pub struct ExprDictComp { + pub range: TextRange, + pub key: Box, + pub value: Box, + pub generators: Vec, } -impl Node for ExprDictComp { +impl Node for ExprDictComp { const NAME: &'static str = "DictComp"; const FIELD_NAMES: &'static [&'static str] = &["key", "value", "generators"]; } -impl From> for Expr { - fn from(payload: ExprDictComp) -> Self { +impl From for Expr { + fn from(payload: ExprDictComp) -> Self { Expr::DictComp(payload) } } -impl From> for Ast { - fn from(payload: ExprDictComp) -> Self { +impl From for Ast { + fn from(payload: ExprDictComp) -> Self { Expr::from(payload).into() } } /// See also [GeneratorExp](https://docs.python.org/3/library/ast.html#ast.GeneratorExp) #[derive(Clone, Debug, PartialEq)] -pub struct ExprGeneratorExp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, +pub struct ExprGeneratorExp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, } -impl Node for ExprGeneratorExp { +impl Node for ExprGeneratorExp { const NAME: &'static str = "GeneratorExp"; const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; } -impl From> for Expr { - fn from(payload: ExprGeneratorExp) -> Self { +impl From for Expr { + fn from(payload: ExprGeneratorExp) -> Self { Expr::GeneratorExp(payload) } } -impl From> for Ast { - fn from(payload: ExprGeneratorExp) -> Self { +impl From for Ast { + fn from(payload: ExprGeneratorExp) -> Self { Expr::from(payload).into() } } /// See also [Await](https://docs.python.org/3/library/ast.html#ast.Await) #[derive(Clone, Debug, PartialEq)] -pub struct ExprAwait { - pub range: R, - pub value: Box>, +pub struct ExprAwait { + pub range: TextRange, + pub value: Box, } -impl Node for ExprAwait { +impl Node for ExprAwait { const NAME: &'static str = "Await"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Expr { - fn from(payload: ExprAwait) -> Self { +impl From for Expr { + fn from(payload: ExprAwait) -> Self { Expr::Await(payload) } } -impl From> for Ast { - fn from(payload: ExprAwait) -> Self { +impl From for Ast { + fn from(payload: ExprAwait) -> Self { Expr::from(payload).into() } } /// See also [Yield](https://docs.python.org/3/library/ast.html#ast.Yield) #[derive(Clone, Debug, PartialEq)] -pub struct ExprYield { - pub range: R, - pub value: Option>>, +pub struct ExprYield { + pub range: TextRange, + pub value: Option>, } -impl Node for ExprYield { +impl Node for ExprYield { const NAME: &'static str = "Yield"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Expr { - fn from(payload: ExprYield) -> Self { +impl From for Expr { + fn from(payload: ExprYield) -> Self { Expr::Yield(payload) } } -impl From> for Ast { - fn from(payload: ExprYield) -> Self { +impl From for Ast { + fn from(payload: ExprYield) -> Self { Expr::from(payload).into() } } /// See also [YieldFrom](https://docs.python.org/3/library/ast.html#ast.YieldFrom) #[derive(Clone, Debug, PartialEq)] -pub struct ExprYieldFrom { - pub range: R, - pub value: Box>, +pub struct ExprYieldFrom { + pub range: TextRange, + pub value: Box, } -impl Node for ExprYieldFrom { +impl Node for ExprYieldFrom { const NAME: &'static str = "YieldFrom"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Expr { - fn from(payload: ExprYieldFrom) -> Self { +impl From for Expr { + fn from(payload: ExprYieldFrom) -> Self { Expr::YieldFrom(payload) } } -impl From> for Ast { - fn from(payload: ExprYieldFrom) -> Self { +impl From for Ast { + fn from(payload: ExprYieldFrom) -> Self { Expr::from(payload).into() } } /// See also [Compare](https://docs.python.org/3/library/ast.html#ast.Compare) #[derive(Clone, Debug, PartialEq)] -pub struct ExprCompare { - pub range: R, - pub left: Box>, +pub struct ExprCompare { + pub range: TextRange, + pub left: Box, pub ops: Vec, - pub comparators: Vec>, + pub comparators: Vec, } -impl Node for ExprCompare { +impl Node for ExprCompare { const NAME: &'static str = "Compare"; const FIELD_NAMES: &'static [&'static str] = &["left", "ops", "comparators"]; } -impl From> for Expr { - fn from(payload: ExprCompare) -> Self { +impl From for Expr { + fn from(payload: ExprCompare) -> Self { Expr::Compare(payload) } } -impl From> for Ast { - fn from(payload: ExprCompare) -> Self { +impl From for Ast { + fn from(payload: ExprCompare) -> Self { Expr::from(payload).into() } } /// See also [Call](https://docs.python.org/3/library/ast.html#ast.Call) #[derive(Clone, Debug, PartialEq)] -pub struct ExprCall { - pub range: R, - pub func: Box>, - pub args: Vec>, - pub keywords: Vec>, +pub struct ExprCall { + pub range: TextRange, + pub func: Box, + pub args: Vec, + pub keywords: Vec, } -impl Node for ExprCall { +impl Node for ExprCall { const NAME: &'static str = "Call"; const FIELD_NAMES: &'static [&'static str] = &["func", "args", "keywords"]; } -impl From> for Expr { - fn from(payload: ExprCall) -> Self { +impl From for Expr { + fn from(payload: ExprCall) -> Self { Expr::Call(payload) } } -impl From> for Ast { - fn from(payload: ExprCall) -> Self { +impl From for Ast { + fn from(payload: ExprCall) -> Self { Expr::from(payload).into() } } /// See also [FormattedValue](https://docs.python.org/3/library/ast.html#ast.FormattedValue) #[derive(Clone, Debug, PartialEq)] -pub struct ExprFormattedValue { - pub range: R, - pub value: Box>, +pub struct ExprFormattedValue { + pub range: TextRange, + pub value: Box, pub conversion: ConversionFlag, - pub format_spec: Option>>, + pub format_spec: Option>, } -impl Node for ExprFormattedValue { +impl Node for ExprFormattedValue { const NAME: &'static str = "FormattedValue"; const FIELD_NAMES: &'static [&'static str] = &["value", "conversion", "format_spec"]; } -impl From> for Expr { - fn from(payload: ExprFormattedValue) -> Self { +impl From for Expr { + fn from(payload: ExprFormattedValue) -> Self { Expr::FormattedValue(payload) } } -impl From> for Ast { - fn from(payload: ExprFormattedValue) -> Self { +impl From for Ast { + fn from(payload: ExprFormattedValue) -> Self { Expr::from(payload).into() } } /// See also [JoinedStr](https://docs.python.org/3/library/ast.html#ast.JoinedStr) #[derive(Clone, Debug, PartialEq)] -pub struct ExprJoinedStr { - pub range: R, - pub values: Vec>, +pub struct ExprJoinedStr { + pub range: TextRange, + pub values: Vec, } -impl Node for ExprJoinedStr { +impl Node for ExprJoinedStr { const NAME: &'static str = "JoinedStr"; const FIELD_NAMES: &'static [&'static str] = &["values"]; } -impl From> for Expr { - fn from(payload: ExprJoinedStr) -> Self { +impl From for Expr { + fn from(payload: ExprJoinedStr) -> Self { Expr::JoinedStr(payload) } } -impl From> for Ast { - fn from(payload: ExprJoinedStr) -> Self { +impl From for Ast { + fn from(payload: ExprJoinedStr) -> Self { Expr::from(payload).into() } } /// See also [Constant](https://docs.python.org/3/library/ast.html#ast.Constant) #[derive(Clone, Debug, PartialEq)] -pub struct ExprConstant { - pub range: R, +pub struct ExprConstant { + pub range: TextRange, pub value: Constant, pub kind: Option, } -impl Node for ExprConstant { +impl Node for ExprConstant { const NAME: &'static str = "Constant"; const FIELD_NAMES: &'static [&'static str] = &["value", "kind"]; } -impl From> for Expr { - fn from(payload: ExprConstant) -> Self { +impl From for Expr { + fn from(payload: ExprConstant) -> Self { Expr::Constant(payload) } } -impl From> for Ast { - fn from(payload: ExprConstant) -> Self { +impl From for Ast { + fn from(payload: ExprConstant) -> Self { Expr::from(payload).into() } } /// See also [Attribute](https://docs.python.org/3/library/ast.html#ast.Attribute) #[derive(Clone, Debug, PartialEq)] -pub struct ExprAttribute { - pub range: R, - pub value: Box>, +pub struct ExprAttribute { + pub range: TextRange, + pub value: Box, pub attr: Identifier, pub ctx: ExprContext, } -impl Node for ExprAttribute { +impl Node for ExprAttribute { const NAME: &'static str = "Attribute"; const FIELD_NAMES: &'static [&'static str] = &["value", "attr", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprAttribute) -> Self { +impl From for Expr { + fn from(payload: ExprAttribute) -> Self { Expr::Attribute(payload) } } -impl From> for Ast { - fn from(payload: ExprAttribute) -> Self { +impl From for Ast { + fn from(payload: ExprAttribute) -> Self { Expr::from(payload).into() } } /// See also [Subscript](https://docs.python.org/3/library/ast.html#ast.Subscript) #[derive(Clone, Debug, PartialEq)] -pub struct ExprSubscript { - pub range: R, - pub value: Box>, - pub slice: Box>, +pub struct ExprSubscript { + pub range: TextRange, + pub value: Box, + pub slice: Box, pub ctx: ExprContext, } -impl Node for ExprSubscript { +impl Node for ExprSubscript { const NAME: &'static str = "Subscript"; const FIELD_NAMES: &'static [&'static str] = &["value", "slice", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprSubscript) -> Self { +impl From for Expr { + fn from(payload: ExprSubscript) -> Self { Expr::Subscript(payload) } } -impl From> for Ast { - fn from(payload: ExprSubscript) -> Self { +impl From for Ast { + fn from(payload: ExprSubscript) -> Self { Expr::from(payload).into() } } /// See also [Starred](https://docs.python.org/3/library/ast.html#ast.Starred) #[derive(Clone, Debug, PartialEq)] -pub struct ExprStarred { - pub range: R, - pub value: Box>, +pub struct ExprStarred { + pub range: TextRange, + pub value: Box, pub ctx: ExprContext, } -impl Node for ExprStarred { +impl Node for ExprStarred { const NAME: &'static str = "Starred"; const FIELD_NAMES: &'static [&'static str] = &["value", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprStarred) -> Self { +impl From for Expr { + fn from(payload: ExprStarred) -> Self { Expr::Starred(payload) } } -impl From> for Ast { - fn from(payload: ExprStarred) -> Self { +impl From for Ast { + fn from(payload: ExprStarred) -> Self { Expr::from(payload).into() } } /// See also [Name](https://docs.python.org/3/library/ast.html#ast.Name) #[derive(Clone, Debug, PartialEq)] -pub struct ExprName { - pub range: R, +pub struct ExprName { + pub range: TextRange, pub id: String, pub ctx: ExprContext, } -impl Node for ExprName { +impl Node for ExprName { const NAME: &'static str = "Name"; const FIELD_NAMES: &'static [&'static str] = &["id", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprName) -> Self { +impl From for Expr { + fn from(payload: ExprName) -> Self { Expr::Name(payload) } } -impl From> for Ast { - fn from(payload: ExprName) -> Self { +impl From for Ast { + fn from(payload: ExprName) -> Self { Expr::from(payload).into() } } /// See also [List](https://docs.python.org/3/library/ast.html#ast.List) #[derive(Clone, Debug, PartialEq)] -pub struct ExprList { - pub range: R, - pub elts: Vec>, +pub struct ExprList { + pub range: TextRange, + pub elts: Vec, pub ctx: ExprContext, } -impl Node for ExprList { +impl Node for ExprList { const NAME: &'static str = "List"; const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprList) -> Self { +impl From for Expr { + fn from(payload: ExprList) -> Self { Expr::List(payload) } } -impl From> for Ast { - fn from(payload: ExprList) -> Self { +impl From for Ast { + fn from(payload: ExprList) -> Self { Expr::from(payload).into() } } /// See also [Tuple](https://docs.python.org/3/library/ast.html#ast.Tuple) #[derive(Clone, Debug, PartialEq)] -pub struct ExprTuple { - pub range: R, - pub elts: Vec>, +pub struct ExprTuple { + pub range: TextRange, + pub elts: Vec, pub ctx: ExprContext, } -impl Node for ExprTuple { +impl Node for ExprTuple { const NAME: &'static str = "Tuple"; const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; } -impl From> for Expr { - fn from(payload: ExprTuple) -> Self { +impl From for Expr { + fn from(payload: ExprTuple) -> Self { Expr::Tuple(payload) } } -impl From> for Ast { - fn from(payload: ExprTuple) -> Self { +impl From for Ast { + fn from(payload: ExprTuple) -> Self { Expr::from(payload).into() } } /// See also [Slice](https://docs.python.org/3/library/ast.html#ast.Slice) #[derive(Clone, Debug, PartialEq)] -pub struct ExprSlice { - pub range: R, - pub lower: Option>>, - pub upper: Option>>, - pub step: Option>>, +pub struct ExprSlice { + pub range: TextRange, + pub lower: Option>, + pub upper: Option>, + pub step: Option>, } -impl Node for ExprSlice { +impl Node for ExprSlice { const NAME: &'static str = "Slice"; const FIELD_NAMES: &'static [&'static str] = &["lower", "upper", "step"]; } -impl From> for Expr { - fn from(payload: ExprSlice) -> Self { +impl From for Expr { + fn from(payload: ExprSlice) -> Self { Expr::Slice(payload) } } -impl From> for Ast { - fn from(payload: ExprSlice) -> Self { +impl From for Ast { + fn from(payload: ExprSlice) -> Self { Expr::from(payload).into() } } -impl Node for Expr { +impl Node for Expr { const NAME: &'static str = "expr"; const FIELD_NAMES: &'static [&'static str] = &[]; } @@ -1696,7 +1696,7 @@ impl From for ExprContext { ExprContext::Load } } -impl From for Ast { +impl From for Ast { fn from(_: ExprContextLoad) -> Self { ExprContext::Load.into() } @@ -1718,7 +1718,7 @@ impl From for ExprContext { ExprContext::Store } } -impl From for Ast { +impl From for Ast { fn from(_: ExprContextStore) -> Self { ExprContext::Store.into() } @@ -1740,7 +1740,7 @@ impl From for ExprContext { ExprContext::Del } } -impl From for Ast { +impl From for Ast { fn from(_: ExprContextDel) -> Self { ExprContext::Del.into() } @@ -1791,7 +1791,7 @@ impl From for BoolOp { BoolOp::And } } -impl From for Ast { +impl From for Ast { fn from(_: BoolOpAnd) -> Self { BoolOp::And.into() } @@ -1813,7 +1813,7 @@ impl From for BoolOp { BoolOp::Or } } -impl From for Ast { +impl From for Ast { fn from(_: BoolOpOr) -> Self { BoolOp::Or.into() } @@ -1963,7 +1963,7 @@ impl From for Operator { Operator::Add } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorAdd) -> Self { Operator::Add.into() } @@ -1985,7 +1985,7 @@ impl From for Operator { Operator::Sub } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorSub) -> Self { Operator::Sub.into() } @@ -2007,7 +2007,7 @@ impl From for Operator { Operator::Mult } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorMult) -> Self { Operator::Mult.into() } @@ -2029,7 +2029,7 @@ impl From for Operator { Operator::MatMult } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorMatMult) -> Self { Operator::MatMult.into() } @@ -2051,7 +2051,7 @@ impl From for Operator { Operator::Div } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorDiv) -> Self { Operator::Div.into() } @@ -2073,7 +2073,7 @@ impl From for Operator { Operator::Mod } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorMod) -> Self { Operator::Mod.into() } @@ -2095,7 +2095,7 @@ impl From for Operator { Operator::Pow } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorPow) -> Self { Operator::Pow.into() } @@ -2117,7 +2117,7 @@ impl From for Operator { Operator::LShift } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorLShift) -> Self { Operator::LShift.into() } @@ -2139,7 +2139,7 @@ impl From for Operator { Operator::RShift } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorRShift) -> Self { Operator::RShift.into() } @@ -2161,7 +2161,7 @@ impl From for Operator { Operator::BitOr } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorBitOr) -> Self { Operator::BitOr.into() } @@ -2183,7 +2183,7 @@ impl From for Operator { Operator::BitXor } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorBitXor) -> Self { Operator::BitXor.into() } @@ -2205,7 +2205,7 @@ impl From for Operator { Operator::BitAnd } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorBitAnd) -> Self { Operator::BitAnd.into() } @@ -2227,7 +2227,7 @@ impl From for Operator { Operator::FloorDiv } } -impl From for Ast { +impl From for Ast { fn from(_: OperatorFloorDiv) -> Self { Operator::FloorDiv.into() } @@ -2296,7 +2296,7 @@ impl From for UnaryOp { UnaryOp::Invert } } -impl From for Ast { +impl From for Ast { fn from(_: UnaryOpInvert) -> Self { UnaryOp::Invert.into() } @@ -2318,7 +2318,7 @@ impl From for UnaryOp { UnaryOp::Not } } -impl From for Ast { +impl From for Ast { fn from(_: UnaryOpNot) -> Self { UnaryOp::Not.into() } @@ -2340,7 +2340,7 @@ impl From for UnaryOp { UnaryOp::UAdd } } -impl From for Ast { +impl From for Ast { fn from(_: UnaryOpUAdd) -> Self { UnaryOp::UAdd.into() } @@ -2362,7 +2362,7 @@ impl From for UnaryOp { UnaryOp::USub } } -impl From for Ast { +impl From for Ast { fn from(_: UnaryOpUSub) -> Self { UnaryOp::USub.into() } @@ -2485,7 +2485,7 @@ impl From for CmpOp { CmpOp::Eq } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpEq) -> Self { CmpOp::Eq.into() } @@ -2507,7 +2507,7 @@ impl From for CmpOp { CmpOp::NotEq } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpNotEq) -> Self { CmpOp::NotEq.into() } @@ -2529,7 +2529,7 @@ impl From for CmpOp { CmpOp::Lt } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpLt) -> Self { CmpOp::Lt.into() } @@ -2551,7 +2551,7 @@ impl From for CmpOp { CmpOp::LtE } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpLtE) -> Self { CmpOp::LtE.into() } @@ -2573,7 +2573,7 @@ impl From for CmpOp { CmpOp::Gt } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpGt) -> Self { CmpOp::Gt.into() } @@ -2595,7 +2595,7 @@ impl From for CmpOp { CmpOp::GtE } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpGtE) -> Self { CmpOp::GtE.into() } @@ -2617,7 +2617,7 @@ impl From for CmpOp { CmpOp::Is } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpIs) -> Self { CmpOp::Is.into() } @@ -2639,7 +2639,7 @@ impl From for CmpOp { CmpOp::IsNot } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpIsNot) -> Self { CmpOp::IsNot.into() } @@ -2661,7 +2661,7 @@ impl From for CmpOp { CmpOp::In } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpIn) -> Self { CmpOp::In.into() } @@ -2683,7 +2683,7 @@ impl From for CmpOp { CmpOp::NotIn } } -impl From for Ast { +impl From for Ast { fn from(_: CmpOpNotIn) -> Self { CmpOp::NotIn.into() } @@ -2706,68 +2706,68 @@ impl Node for CmpOp { /// See also [comprehension](https://docs.python.org/3/library/ast.html#ast.comprehension) #[derive(Clone, Debug, PartialEq)] -pub struct Comprehension { - pub range: OptionalRange, - pub target: Expr, - pub iter: Expr, - pub ifs: Vec>, +pub struct Comprehension { + pub range: TextRange, + pub target: Expr, + pub iter: Expr, + pub ifs: Vec, pub is_async: bool, } -impl Node for Comprehension { +impl Node for Comprehension { const NAME: &'static str = "comprehension"; const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "ifs", "is_async"]; } /// See also [excepthandler](https://docs.python.org/3/library/ast.html#ast.excepthandler) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum ExceptHandler { - ExceptHandler(ExceptHandlerExceptHandler), +pub enum ExceptHandler { + ExceptHandler(ExceptHandlerExceptHandler), } /// See also [ExceptHandler](https://docs.python.org/3/library/ast.html#ast.ExceptHandler) #[derive(Clone, Debug, PartialEq)] -pub struct ExceptHandlerExceptHandler { - pub range: R, - pub type_: Option>>, +pub struct ExceptHandlerExceptHandler { + pub range: TextRange, + pub type_: Option>, pub name: Option, - pub body: Vec>, + pub body: Vec, } -impl Node for ExceptHandlerExceptHandler { +impl Node for ExceptHandlerExceptHandler { const NAME: &'static str = "ExceptHandler"; const FIELD_NAMES: &'static [&'static str] = &["type", "name", "body"]; } -impl From> for ExceptHandler { - fn from(payload: ExceptHandlerExceptHandler) -> Self { +impl From for ExceptHandler { + fn from(payload: ExceptHandlerExceptHandler) -> Self { ExceptHandler::ExceptHandler(payload) } } -impl From> for Ast { - fn from(payload: ExceptHandlerExceptHandler) -> Self { +impl From for Ast { + fn from(payload: ExceptHandlerExceptHandler) -> Self { ExceptHandler::from(payload).into() } } -impl Node for ExceptHandler { +impl Node for ExceptHandler { const NAME: &'static str = "excepthandler"; const FIELD_NAMES: &'static [&'static str] = &[]; } /// See also [arguments](https://docs.python.org/3/library/ast.html#ast.arguments) #[derive(Clone, Debug, PartialEq)] -pub struct PythonArguments { - pub range: OptionalRange, - pub posonlyargs: Vec>, - pub args: Vec>, - pub vararg: Option>>, - pub kwonlyargs: Vec>, - pub kw_defaults: Vec>, - pub kwarg: Option>>, - pub defaults: Vec>, +pub struct PythonArguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kw_defaults: Vec, + pub kwarg: Option>, + pub defaults: Vec, } -impl Node for PythonArguments { +impl Node for PythonArguments { const NAME: &'static str = "arguments"; const FIELD_NAMES: &'static [&'static str] = &[ "posonlyargs", @@ -2782,313 +2782,313 @@ impl Node for PythonArguments { /// See also [arg](https://docs.python.org/3/library/ast.html#ast.arg) #[derive(Clone, Debug, PartialEq)] -pub struct Arg { - pub range: R, +pub struct Arg { + pub range: TextRange, pub arg: Identifier, - pub annotation: Option>>, + pub annotation: Option>, pub type_comment: Option, } -impl Node for Arg { +impl Node for Arg { const NAME: &'static str = "arg"; const FIELD_NAMES: &'static [&'static str] = &["arg", "annotation", "type_comment"]; } /// See also [keyword](https://docs.python.org/3/library/ast.html#ast.keyword) #[derive(Clone, Debug, PartialEq)] -pub struct Keyword { - pub range: R, +pub struct Keyword { + pub range: TextRange, pub arg: Option, - pub value: Expr, + pub value: Expr, } -impl Node for Keyword { +impl Node for Keyword { const NAME: &'static str = "keyword"; const FIELD_NAMES: &'static [&'static str] = &["arg", "value"]; } /// See also [alias](https://docs.python.org/3/library/ast.html#ast.alias) #[derive(Clone, Debug, PartialEq)] -pub struct Alias { - pub range: R, +pub struct Alias { + pub range: TextRange, pub name: Identifier, pub asname: Option, } -impl Node for Alias { +impl Node for Alias { const NAME: &'static str = "alias"; const FIELD_NAMES: &'static [&'static str] = &["name", "asname"]; } /// See also [withitem](https://docs.python.org/3/library/ast.html#ast.withitem) #[derive(Clone, Debug, PartialEq)] -pub struct WithItem { - pub range: OptionalRange, - pub context_expr: Expr, - pub optional_vars: Option>>, +pub struct WithItem { + pub range: TextRange, + pub context_expr: Expr, + pub optional_vars: Option>, } -impl Node for WithItem { +impl Node for WithItem { const NAME: &'static str = "withitem"; const FIELD_NAMES: &'static [&'static str] = &["context_expr", "optional_vars"]; } /// See also [match_case](https://docs.python.org/3/library/ast.html#ast.match_case) #[derive(Clone, Debug, PartialEq)] -pub struct MatchCase { - pub range: OptionalRange, - pub pattern: Pattern, - pub guard: Option>>, - pub body: Vec>, +pub struct MatchCase { + pub range: TextRange, + pub pattern: Pattern, + pub guard: Option>, + pub body: Vec, } -impl Node for MatchCase { +impl Node for MatchCase { const NAME: &'static str = "match_case"; const FIELD_NAMES: &'static [&'static str] = &["pattern", "guard", "body"]; } /// See also [pattern](https://docs.python.org/3/library/ast.html#ast.pattern) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Pattern { - MatchValue(PatternMatchValue), - MatchSingleton(PatternMatchSingleton), - MatchSequence(PatternMatchSequence), - MatchMapping(PatternMatchMapping), - MatchClass(PatternMatchClass), - MatchStar(PatternMatchStar), - MatchAs(PatternMatchAs), - MatchOr(PatternMatchOr), +pub enum Pattern { + MatchValue(PatternMatchValue), + MatchSingleton(PatternMatchSingleton), + MatchSequence(PatternMatchSequence), + MatchMapping(PatternMatchMapping), + MatchClass(PatternMatchClass), + MatchStar(PatternMatchStar), + MatchAs(PatternMatchAs), + MatchOr(PatternMatchOr), } /// See also [MatchValue](https://docs.python.org/3/library/ast.html#ast.MatchValue) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchValue { - pub range: R, - pub value: Box>, +pub struct PatternMatchValue { + pub range: TextRange, + pub value: Box, } -impl Node for PatternMatchValue { +impl Node for PatternMatchValue { const NAME: &'static str = "MatchValue"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Pattern { - fn from(payload: PatternMatchValue) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchValue) -> Self { Pattern::MatchValue(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchValue) -> Self { +impl From for Ast { + fn from(payload: PatternMatchValue) -> Self { Pattern::from(payload).into() } } /// See also [MatchSingleton](https://docs.python.org/3/library/ast.html#ast.MatchSingleton) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSingleton { - pub range: R, +pub struct PatternMatchSingleton { + pub range: TextRange, pub value: Constant, } -impl Node for PatternMatchSingleton { +impl Node for PatternMatchSingleton { const NAME: &'static str = "MatchSingleton"; const FIELD_NAMES: &'static [&'static str] = &["value"]; } -impl From> for Pattern { - fn from(payload: PatternMatchSingleton) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchSingleton) -> Self { Pattern::MatchSingleton(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchSingleton) -> Self { +impl From for Ast { + fn from(payload: PatternMatchSingleton) -> Self { Pattern::from(payload).into() } } /// See also [MatchSequence](https://docs.python.org/3/library/ast.html#ast.MatchSequence) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSequence { - pub range: R, - pub patterns: Vec>, +pub struct PatternMatchSequence { + pub range: TextRange, + pub patterns: Vec, } -impl Node for PatternMatchSequence { +impl Node for PatternMatchSequence { const NAME: &'static str = "MatchSequence"; const FIELD_NAMES: &'static [&'static str] = &["patterns"]; } -impl From> for Pattern { - fn from(payload: PatternMatchSequence) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchSequence) -> Self { Pattern::MatchSequence(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchSequence) -> Self { +impl From for Ast { + fn from(payload: PatternMatchSequence) -> Self { Pattern::from(payload).into() } } /// See also [MatchMapping](https://docs.python.org/3/library/ast.html#ast.MatchMapping) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchMapping { - pub range: R, - pub keys: Vec>, - pub patterns: Vec>, +pub struct PatternMatchMapping { + pub range: TextRange, + pub keys: Vec, + pub patterns: Vec, pub rest: Option, } -impl Node for PatternMatchMapping { +impl Node for PatternMatchMapping { const NAME: &'static str = "MatchMapping"; const FIELD_NAMES: &'static [&'static str] = &["keys", "patterns", "rest"]; } -impl From> for Pattern { - fn from(payload: PatternMatchMapping) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchMapping) -> Self { Pattern::MatchMapping(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchMapping) -> Self { +impl From for Ast { + fn from(payload: PatternMatchMapping) -> Self { Pattern::from(payload).into() } } /// See also [MatchClass](https://docs.python.org/3/library/ast.html#ast.MatchClass) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchClass { - pub range: R, - pub cls: Box>, - pub patterns: Vec>, +pub struct PatternMatchClass { + pub range: TextRange, + pub cls: Box, + pub patterns: Vec, pub kwd_attrs: Vec, - pub kwd_patterns: Vec>, + pub kwd_patterns: Vec, } -impl Node for PatternMatchClass { +impl Node for PatternMatchClass { const NAME: &'static str = "MatchClass"; const FIELD_NAMES: &'static [&'static str] = &["cls", "patterns", "kwd_attrs", "kwd_patterns"]; } -impl From> for Pattern { - fn from(payload: PatternMatchClass) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchClass) -> Self { Pattern::MatchClass(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchClass) -> Self { +impl From for Ast { + fn from(payload: PatternMatchClass) -> Self { Pattern::from(payload).into() } } /// See also [MatchStar](https://docs.python.org/3/library/ast.html#ast.MatchStar) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchStar { - pub range: R, +pub struct PatternMatchStar { + pub range: TextRange, pub name: Option, } -impl Node for PatternMatchStar { +impl Node for PatternMatchStar { const NAME: &'static str = "MatchStar"; const FIELD_NAMES: &'static [&'static str] = &["name"]; } -impl From> for Pattern { - fn from(payload: PatternMatchStar) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchStar) -> Self { Pattern::MatchStar(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchStar) -> Self { +impl From for Ast { + fn from(payload: PatternMatchStar) -> Self { Pattern::from(payload).into() } } /// See also [MatchAs](https://docs.python.org/3/library/ast.html#ast.MatchAs) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchAs { - pub range: R, - pub pattern: Option>>, +pub struct PatternMatchAs { + pub range: TextRange, + pub pattern: Option>, pub name: Option, } -impl Node for PatternMatchAs { +impl Node for PatternMatchAs { const NAME: &'static str = "MatchAs"; const FIELD_NAMES: &'static [&'static str] = &["pattern", "name"]; } -impl From> for Pattern { - fn from(payload: PatternMatchAs) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchAs) -> Self { Pattern::MatchAs(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchAs) -> Self { +impl From for Ast { + fn from(payload: PatternMatchAs) -> Self { Pattern::from(payload).into() } } /// See also [MatchOr](https://docs.python.org/3/library/ast.html#ast.MatchOr) #[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchOr { - pub range: R, - pub patterns: Vec>, +pub struct PatternMatchOr { + pub range: TextRange, + pub patterns: Vec, } -impl Node for PatternMatchOr { +impl Node for PatternMatchOr { const NAME: &'static str = "MatchOr"; const FIELD_NAMES: &'static [&'static str] = &["patterns"]; } -impl From> for Pattern { - fn from(payload: PatternMatchOr) -> Self { +impl From for Pattern { + fn from(payload: PatternMatchOr) -> Self { Pattern::MatchOr(payload) } } -impl From> for Ast { - fn from(payload: PatternMatchOr) -> Self { +impl From for Ast { + fn from(payload: PatternMatchOr) -> Self { Pattern::from(payload).into() } } -impl Node for Pattern { +impl Node for Pattern { const NAME: &'static str = "pattern"; const FIELD_NAMES: &'static [&'static str] = &[]; } /// See also [type_ignore](https://docs.python.org/3/library/ast.html#ast.type_ignore) #[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum TypeIgnore { - TypeIgnore(TypeIgnoreTypeIgnore), +pub enum TypeIgnore { + TypeIgnore(TypeIgnoreTypeIgnore), } /// See also [TypeIgnore](https://docs.python.org/3/library/ast.html#ast.TypeIgnore) #[derive(Clone, Debug, PartialEq)] -pub struct TypeIgnoreTypeIgnore { - pub range: OptionalRange, +pub struct TypeIgnoreTypeIgnore { + pub range: TextRange, pub lineno: Int, pub tag: String, } -impl Node for TypeIgnoreTypeIgnore { +impl Node for TypeIgnoreTypeIgnore { const NAME: &'static str = "TypeIgnore"; const FIELD_NAMES: &'static [&'static str] = &["lineno", "tag"]; } -impl From> for TypeIgnore { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { +impl From for TypeIgnore { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { TypeIgnore::TypeIgnore(payload) } } -impl From> for Ast { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { +impl From for Ast { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { TypeIgnore::from(payload).into() } } -impl Node for TypeIgnore { +impl Node for TypeIgnore { const NAME: &'static str = "type_ignore"; const FIELD_NAMES: &'static [&'static str] = &[]; } /// See also [decorator](https://docs.python.org/3/library/ast.html#ast.decorator) #[derive(Clone, Debug, PartialEq)] -pub struct Decorator { - pub range: OptionalRange, - pub expression: Expr, +pub struct Decorator { + pub range: TextRange, + pub expression: Expr, } -impl Node for Decorator { +impl Node for Decorator { const NAME: &'static str = "decorator"; const FIELD_NAMES: &'static [&'static str] = &["expression"]; } @@ -3104,16 +3104,16 @@ impl Node for Decorator { /// NOTE: This type is different from original Python AST. #[derive(Clone, Debug, PartialEq)] -pub struct Arguments { - pub range: OptionalRange, - pub posonlyargs: Vec>, - pub args: Vec>, - pub vararg: Option>>, - pub kwonlyargs: Vec>, - pub kwarg: Option>>, +pub struct Arguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kwarg: Option>, } -impl Node for Arguments { +impl Node for Arguments { const NAME: &'static str = "alt:arguments"; const FIELD_NAMES: &'static [&'static str] = &["posonlyargs", "args", "vararg", "kwonlyargs", "kwarg"]; @@ -3125,13 +3125,13 @@ impl Node for Arguments { /// NOTE: This type is different from original Python AST. #[derive(Clone, Debug, PartialEq)] -pub struct ArgWithDefault { - pub range: OptionalRange, - pub def: Arg, - pub default: Option>>, +pub struct ArgWithDefault { + pub range: TextRange, + pub def: Arg, + pub default: Option>, } -impl Node for ArgWithDefault { +impl Node for ArgWithDefault { const NAME: &'static str = "arg_with_default"; const FIELD_NAMES: &'static [&'static str] = &["def", "default"]; } diff --git a/ast/src/gen/ranged.rs b/ast/src/gen/ranged.rs index 51bb9c7a..26fe38a5 100644 --- a/ast/src/gen/ranged.rs +++ b/ast/src/gen/ranged.rs @@ -1,30 +1,25 @@ // File automatically generated by ast/asdl_rs.py. -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModModule { +impl Ranged for crate::generic::ModModule { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModInteractive { +impl Ranged for crate::generic::ModInteractive { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModExpression { +impl Ranged for crate::generic::ModExpression { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModFunctionType { +impl Ranged for crate::generic::ModFunctionType { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] impl Ranged for crate::Mod { fn range(&self) -> TextRange { match self { @@ -36,137 +31,137 @@ impl Ranged for crate::Mod { } } -impl Ranged for crate::generic::StmtFunctionDef { +impl Ranged for crate::generic::StmtFunctionDef { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAsyncFunctionDef { +impl Ranged for crate::generic::StmtAsyncFunctionDef { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtClassDef { +impl Ranged for crate::generic::StmtClassDef { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtReturn { +impl Ranged for crate::generic::StmtReturn { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtDelete { +impl Ranged for crate::generic::StmtDelete { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAssign { +impl Ranged for crate::generic::StmtAssign { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAugAssign { +impl Ranged for crate::generic::StmtAugAssign { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAnnAssign { +impl Ranged for crate::generic::StmtAnnAssign { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtFor { +impl Ranged for crate::generic::StmtFor { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAsyncFor { +impl Ranged for crate::generic::StmtAsyncFor { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtWhile { +impl Ranged for crate::generic::StmtWhile { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtIf { +impl Ranged for crate::generic::StmtIf { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtWith { +impl Ranged for crate::generic::StmtWith { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAsyncWith { +impl Ranged for crate::generic::StmtAsyncWith { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtMatch { +impl Ranged for crate::generic::StmtMatch { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtRaise { +impl Ranged for crate::generic::StmtRaise { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtTry { +impl Ranged for crate::generic::StmtTry { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtTryStar { +impl Ranged for crate::generic::StmtTryStar { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtAssert { +impl Ranged for crate::generic::StmtAssert { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtImport { +impl Ranged for crate::generic::StmtImport { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtImportFrom { +impl Ranged for crate::generic::StmtImportFrom { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtGlobal { +impl Ranged for crate::generic::StmtGlobal { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtNonlocal { +impl Ranged for crate::generic::StmtNonlocal { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtExpr { +impl Ranged for crate::generic::StmtExpr { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtPass { +impl Ranged for crate::generic::StmtPass { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtBreak { +impl Ranged for crate::generic::StmtBreak { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::StmtContinue { +impl Ranged for crate::generic::StmtContinue { fn range(&self) -> TextRange { self.range } @@ -205,137 +200,137 @@ impl Ranged for crate::Stmt { } } -impl Ranged for crate::generic::ExprBoolOp { +impl Ranged for crate::generic::ExprBoolOp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprNamedExpr { +impl Ranged for crate::generic::ExprNamedExpr { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprBinOp { +impl Ranged for crate::generic::ExprBinOp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprUnaryOp { +impl Ranged for crate::generic::ExprUnaryOp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprLambda { +impl Ranged for crate::generic::ExprLambda { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprIfExp { +impl Ranged for crate::generic::ExprIfExp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprDict { +impl Ranged for crate::generic::ExprDict { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprSet { +impl Ranged for crate::generic::ExprSet { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprListComp { +impl Ranged for crate::generic::ExprListComp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprSetComp { +impl Ranged for crate::generic::ExprSetComp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprDictComp { +impl Ranged for crate::generic::ExprDictComp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprGeneratorExp { +impl Ranged for crate::generic::ExprGeneratorExp { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprAwait { +impl Ranged for crate::generic::ExprAwait { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprYield { +impl Ranged for crate::generic::ExprYield { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprYieldFrom { +impl Ranged for crate::generic::ExprYieldFrom { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprCompare { +impl Ranged for crate::generic::ExprCompare { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprCall { +impl Ranged for crate::generic::ExprCall { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprFormattedValue { +impl Ranged for crate::generic::ExprFormattedValue { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprJoinedStr { +impl Ranged for crate::generic::ExprJoinedStr { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprConstant { +impl Ranged for crate::generic::ExprConstant { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprAttribute { +impl Ranged for crate::generic::ExprAttribute { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprSubscript { +impl Ranged for crate::generic::ExprSubscript { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprStarred { +impl Ranged for crate::generic::ExprStarred { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprName { +impl Ranged for crate::generic::ExprName { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprList { +impl Ranged for crate::generic::ExprList { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprTuple { +impl Ranged for crate::generic::ExprTuple { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExprSlice { +impl Ranged for crate::generic::ExprSlice { fn range(&self) -> TextRange { self.range } @@ -374,13 +369,12 @@ impl Ranged for crate::Expr { } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::Comprehension { +impl Ranged for crate::generic::Comprehension { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::ExceptHandlerExceptHandler { +impl Ranged for crate::generic::ExceptHandlerExceptHandler { fn range(&self) -> TextRange { self.range } @@ -393,75 +387,72 @@ impl Ranged for crate::ExceptHandler { } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::PythonArguments { +impl Ranged for crate::generic::PythonArguments { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::Arg { +impl Ranged for crate::generic::Arg { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::Keyword { +impl Ranged for crate::generic::Keyword { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::Alias { +impl Ranged for crate::generic::Alias { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::WithItem { +impl Ranged for crate::generic::WithItem { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::MatchCase { +impl Ranged for crate::generic::MatchCase { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchValue { +impl Ranged for crate::generic::PatternMatchValue { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchSingleton { +impl Ranged for crate::generic::PatternMatchSingleton { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchSequence { +impl Ranged for crate::generic::PatternMatchSequence { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchMapping { +impl Ranged for crate::generic::PatternMatchMapping { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchClass { +impl Ranged for crate::generic::PatternMatchClass { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchStar { +impl Ranged for crate::generic::PatternMatchStar { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchAs { +impl Ranged for crate::generic::PatternMatchAs { fn range(&self) -> TextRange { self.range } } -impl Ranged for crate::generic::PatternMatchOr { +impl Ranged for crate::generic::PatternMatchOr { fn range(&self) -> TextRange { self.range } @@ -481,13 +472,11 @@ impl Ranged for crate::Pattern { } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::TypeIgnoreTypeIgnore { +impl Ranged for crate::generic::TypeIgnoreTypeIgnore { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] impl Ranged for crate::TypeIgnore { fn range(&self) -> TextRange { match self { @@ -496,20 +485,17 @@ impl Ranged for crate::TypeIgnore { } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::Decorator { +impl Ranged for crate::generic::Decorator { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::Arguments { +impl Ranged for crate::generic::Arguments { fn range(&self) -> TextRange { self.range } } -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ArgWithDefault { +impl Ranged for crate::generic::ArgWithDefault { fn range(&self) -> TextRange { self.range } diff --git a/ast/src/generic.rs b/ast/src/generic.rs index fe0875b9..9c038915 100644 --- a/ast/src/generic.rs +++ b/ast/src/generic.rs @@ -1,58 +1,8 @@ #![allow(clippy::derive_partial_eq_without_eq)] pub use crate::{builtin::*, text_size::TextSize, ConversionFlag, Node}; -use std::fmt::{Debug, Display, Formatter}; -use std::marker::PhantomData; +use std::fmt::Debug; -pub type Suite = Vec>; - -#[cfg(feature = "all-nodes-with-ranges")] -pub type OptionalRange = R; - -#[cfg(not(feature = "all-nodes-with-ranges"))] -pub type OptionalRange = EmptyRange; - -#[cfg(not(feature = "all-nodes-with-ranges"))] -impl From for OptionalRange { - fn from(_: R) -> Self { - Self { - phantom: PhantomData, - } - } -} - -#[derive(Eq, PartialEq, Hash, Copy, Clone)] -pub struct EmptyRange { - phantom: PhantomData, -} - -impl EmptyRange { - #[inline(always)] - pub fn new(_start: TextSize, _end: TextSize) -> Self { - Self { - phantom: PhantomData, - } - } -} - -impl Display for EmptyRange { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.write_str("()") - } -} - -impl Debug for EmptyRange { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - Display::fmt(self, f) - } -} - -impl Default for EmptyRange { - fn default() -> Self { - EmptyRange { - phantom: PhantomData, - } - } -} +pub type Suite = Vec; impl CmpOp { pub fn as_str(&self) -> &'static str { @@ -71,8 +21,8 @@ impl CmpOp { } } -impl Arguments { - pub fn empty(range: OptionalRange) -> Self { +impl Arguments { + pub fn empty(range: TextRange) -> Self { Self { range, posonlyargs: Vec::new(), @@ -85,39 +35,17 @@ impl Arguments { } #[allow(clippy::borrowed_box)] // local utility -fn clone_boxed_expr(expr: &Box>) -> Box> { - let expr: &Expr<_> = expr.as_ref(); +fn clone_boxed_expr(expr: &Box) -> Box { + let expr: &Expr = expr.as_ref(); Box::new(expr.clone()) } -impl ArgWithDefault { - pub fn from_arg(def: Arg, default: Option>) -> Self - where - R: Clone, - { - let range = { - if cfg!(feature = "all-nodes-with-ranges") { - todo!("range recovery is not implemented yet") // def.range.start()..default.range.end() - } else { - #[allow(clippy::useless_conversion)] // false positive by cfg - OptionalRange::from(def.range.clone()) - } - }; - Self { - range, - def, - default: default.map(Box::new), - } - } - - pub fn as_arg(&self) -> &Arg { +impl ArgWithDefault { + pub fn as_arg(&self) -> &Arg { &self.def } - pub fn to_arg(&self) -> (Arg, Option>>) - where - R: Clone, - { + pub fn to_arg(&self) -> (Arg, Option>) { let ArgWithDefault { range: _, def, @@ -125,7 +53,7 @@ impl ArgWithDefault { } = self; (def.clone(), default.as_ref().map(clone_boxed_expr)) } - pub fn into_arg(self) -> (Arg, Option>>) { + pub fn into_arg(self) -> (Arg, Option>) { let ArgWithDefault { range: _, def, @@ -135,8 +63,8 @@ impl ArgWithDefault { } } -impl Arguments { - pub fn defaults(&self) -> impl std::iter::Iterator> { +impl Arguments { + pub fn defaults(&self) -> impl std::iter::Iterator { self.posonlyargs .iter() .chain(self.args.iter()) @@ -144,7 +72,7 @@ impl Arguments { } #[allow(clippy::type_complexity)] - pub fn split_kwonlyargs(&self) -> (Vec<&Arg>, Vec<(&Arg, &Expr)>) { + pub fn split_kwonlyargs(&self) -> (Vec<&Arg>, Vec<(&Arg, &Expr)>) { let mut args = Vec::new(); let mut with_defaults = Vec::new(); for arg in self.kwonlyargs.iter() { @@ -156,172 +84,6 @@ impl Arguments { } (args, with_defaults) } - - pub fn to_python_arguments(&self) -> PythonArguments - where - R: Clone, - { - let Arguments { - range, - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let mut defaults = Vec::new(); - for arg in posonlyargs { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_only.push(arg); - } - for arg in args { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_args.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let mut kw_defaults = Vec::new(); - for arg in kwonlyargs { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - kw_defaults.push(*default); - } - kw_only.push(arg); - } - - PythonArguments { - range: range.clone(), - posonlyargs: pos_only, - args: pos_args, - defaults, - vararg: vararg.clone(), - kwonlyargs: kw_only, - kw_defaults, - kwarg: kwarg.clone(), - } - } - - pub fn into_python_arguments(self) -> PythonArguments { - let Arguments { - range, - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let mut defaults = Vec::new(); - for arg in posonlyargs { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_only.push(arg); - } - for arg in args { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_args.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let mut kw_defaults = Vec::new(); - for arg in kwonlyargs { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - kw_defaults.push(*default); - } - kw_only.push(arg); - } - - PythonArguments { - range, - posonlyargs: pos_only, - args: pos_args, - defaults, - vararg, - kwonlyargs: kw_only, - kw_defaults, - kwarg, - } - } -} - -impl PythonArguments { - pub fn into_arguments(self) -> Arguments - where - R: Clone, - { - let PythonArguments { - range, - posonlyargs, - args, - defaults, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let args_len = posonlyargs.len() + args.len(); - // not optimal - let mut defaults: Vec<_> = std::iter::repeat_with(|| None) - .take(args_len - defaults.len()) - .chain(defaults.into_iter().map(Some)) - .collect(); - debug_assert_eq!(args_len, defaults.len()); - - for (arg, default) in std::iter::zip(args, defaults.drain(posonlyargs.len()..)) { - let arg = ArgWithDefault::from_arg(arg, default); - pos_args.push(arg); - } - - for (arg, default) in std::iter::zip(posonlyargs, defaults.drain(..)) { - let arg = ArgWithDefault::from_arg(arg, default); - pos_only.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let kw_defaults: Vec<_> = std::iter::repeat_with(|| None) - .take(kw_only.len().saturating_sub(kw_defaults.len())) - .chain(kw_defaults.into_iter().map(Some)) - .collect(); - for (arg, default) in std::iter::zip(kwonlyargs, kw_defaults) { - let arg = ArgWithDefault::from_arg(arg, default); - kw_only.push(arg); - } - - Arguments { - range, - posonlyargs: pos_only, - args: pos_args, - vararg, - kwonlyargs: kw_only, - kwarg, - } - } -} - -impl From> for PythonArguments { - fn from(arguments: Arguments) -> Self { - arguments.into_python_arguments() - } } include!("gen/generic.rs"); diff --git a/ast/src/impls.rs b/ast/src/impls.rs index fb8cc7b6..759f2ce2 100644 --- a/ast/src/impls.rs +++ b/ast/src/impls.rs @@ -1,6 +1,6 @@ use crate::{Constant, Expr}; -impl Expr { +impl Expr { /// Returns a short name for the node suitable for use in error messages. pub fn python_name(&self) -> &'static str { match self { diff --git a/parser/Cargo.toml b/parser/Cargo.toml index 0ce4b3cc..b6c20ff8 100644 --- a/parser/Cargo.toml +++ b/parser/Cargo.toml @@ -11,7 +11,6 @@ edition = "2021" [features] default = ["malachite-bigint"] serde = ["dep:serde", "rustpython-parser-core/serde"] -all-nodes-with-ranges = ["rustpython-ast/all-nodes-with-ranges"] full-lexer = [] malachite-bigint = ["dep:malachite-bigint", "rustpython-ast/malachite-bigint"] num-bigint = ["dep:num-bigint", "rustpython-ast/num-bigint"] diff --git a/parser/src/context.rs b/parser/src/context.rs index 3ba5fca3..66fea936 100644 --- a/parser/src/context.rs +++ b/parser/src/context.rs @@ -66,7 +66,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_list() { let source = "[x, y] = (1, 2, 3)"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -102,7 +101,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_list_comp() { let source = "x = [y for y in (1, 2, 3)]"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -110,7 +108,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_set_comp() { let source = "x = {y for y in (1, 2, 3)}"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -118,7 +115,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_with() { let source = "with 1 as x: pass"; let parse_ast = ast::Suite::parse(source, "").unwrap(); diff --git a/parser/src/function.rs b/parser/src/function.rs index 3574f78e..67749ea3 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -141,7 +141,6 @@ mod tests { use super::*; use crate::{ast, parser::ParseErrorType, Parse}; - #[cfg(feature = "all-nodes-with-ranges")] macro_rules! function_and_lambda { ($($name:ident: $code:expr,)*) => { $( @@ -154,13 +153,11 @@ mod tests { } } - #[cfg(feature = "all-nodes-with-ranges")] function_and_lambda! { test_function_no_args_with_ranges: "def f(): pass", test_function_pos_args_with_ranges: "def f(a, b, c): pass", } - #[cfg(feature = "all-nodes-with-ranges")] function_and_lambda! { test_function_no_args: "def f(): pass", test_function_pos_args: "def f(a, b, c): pass", diff --git a/parser/src/parser.rs b/parser/src/parser.rs index 521f2f14..61a05377 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -13,7 +13,7 @@ //! [`Mode`]: crate::mode use crate::{ - ast::{self, OptionalRange, Ranged}, + ast::{self, Ranged}, lexer::{self, LexResult, LexicalError, LexicalErrorType}, python, text_size::TextSize, @@ -23,7 +23,7 @@ use crate::{ use itertools::Itertools; use std::iter; -use crate::{lexer::Lexer, soft_keywords::SoftKeywordTransformer, text_size::TextRange}; +use crate::{lexer::Lexer, soft_keywords::SoftKeywordTransformer}; pub(super) use lalrpop_util::ParseError as LalrpopError; /// Parse Python code string to implementor's type. @@ -551,11 +551,6 @@ impl ParseErrorType { } } -#[inline(always)] -pub(super) fn optional_range(start: TextSize, end: TextSize) -> OptionalRange { - OptionalRange::::new(start, end) -} - include!("gen/parse.rs"); #[cfg(test)] @@ -612,7 +607,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_lambda() { let source = "lambda x, y: x * y"; // lambda(x, y): x * y"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -627,7 +621,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_class() { let source = "\ class Foo(A, B): @@ -640,7 +633,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_dict_comprehension() { let source = "{x1: x2 for y in z}"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -648,7 +640,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_list_comprehension() { let source = "[x for y in z]"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -656,7 +647,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_double_list_comprehension() { let source = "[x for y, y2 in z for a in b if a < 5 if a > 10]"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -664,7 +654,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_generator_comprehension() { let source = "(x for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -672,7 +661,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_named_expression_generator_comprehension() { let source = "(x := y + 1 for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -680,7 +668,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_if_else_generator_comprehension() { let source = "(x if y else y for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -709,7 +696,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_with_statement() { let source = "\ with 0: pass @@ -779,7 +765,6 @@ array[3:5, *indexes_to_select] } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_generator_expression_argument() { let source = r#"' '.join( sql @@ -839,7 +824,6 @@ except* OSError as e: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_match_as_identifier() { let parse_ast = ast::Suite::parse( r#" @@ -872,7 +856,6 @@ print(match(12)) } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_patma() { let source = r#"# Cases sampled from Lib/test/test_patma.py @@ -1044,7 +1027,6 @@ match w := x,: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_match() { let parse_ast = ast::Suite::parse( r#" @@ -1075,7 +1057,6 @@ match x: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_variadic_generics() { let parse_ast = ast::Suite::parse( r#" @@ -1105,7 +1086,6 @@ def args_to_tuple(*args: *Ts) -> Tuple[*Ts]: ... } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn decorator_ranges() { let parse_ast = ast::Suite::parse( r#" diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 6aa4988f..a118583c 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -10,7 +10,7 @@ use crate::{ context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; grammar; @@ -19,9 +19,9 @@ grammar; // For each public entry point, a full parse table is generated. // By having only a single pub function, we reduce this to one. pub Top: ast::Mod = { - StartModule => ast::ModModule { body, type_ignores: vec![], range: optional_range(start, end) }.into(), - StartInteractive => ast::ModInteractive { body, range: optional_range(start, end) }.into(), - StartExpression ("\n")* => ast::ModExpression { body: Box::new(body), range: optional_range(start, end) }.into() + StartModule => ast::ModModule { body, type_ignores: vec![], range: (start..end).into() }.into(), + StartInteractive => ast::ModInteractive { body, range: (start..end).into() }.into(), + StartExpression ("\n")* => ast::ModExpression { body: Box::new(body), range: (start..end).into() }.into() }; Program: ast::Suite = { @@ -393,7 +393,7 @@ MatchCase: ast::MatchCase = { pattern, guard: guard.map(Box::new), body, - range: optional_range(start, end) + range: (start..end).into() } }, } @@ -952,15 +952,15 @@ WithItems: Vec = { #[inline] WithItemsNoAs: Vec = { >> => { - all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }).collect() + all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }).collect() }, } WithItem: ast::WithItem = { - > if Goal != "as" => ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }, + > if Goal != "as" => ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }, > "as" > => { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } }, }; @@ -982,7 +982,7 @@ Parameters: ast::Arguments = { "(" )?> ")" =>? { a.as_ref().map(validate_arguments).transpose()?; - let range = optional_range(location, end_location); + let range = (location..end_location).into(); let args = a .map(|mut arguments| { arguments.range = range; @@ -1010,7 +1010,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) }, > >)> ","? =>? { @@ -1028,7 +1028,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) }, > ","? => { @@ -1039,7 +1039,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } }, > ","? => { @@ -1049,7 +1049,7 @@ ParameterList: ast::Arguments = { kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } }, }; @@ -1069,10 +1069,7 @@ ParameterDef: ast::ArgWithDefault = { => i, "=" > => { i.default = Some(Box::new(e)); - #[cfg(feature = "all-nodes-with-ranges")] - { - i.range = optional_range(i.range.start(), end_location); - } + i.range = (i.range.start()..end_location).into(); i }, }; @@ -1080,7 +1077,7 @@ ParameterDef: ast::ArgWithDefault = { UntypedParameter: ast::ArgWithDefault = { => { let def = ast::Arg { arg, annotation: None, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } }, }; StarUntypedParameter: ast::Arg = { @@ -1091,7 +1088,7 @@ TypedParameter: ast::ArgWithDefault = { >)?> => { let annotation = a.map(Box::new); let def = ast::Arg { arg, annotation, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } }, }; @@ -1157,7 +1154,7 @@ ClassDef: ast::Stmt = { // Decorators: Decorator: ast::Decorator = { "@" "\n" => { - ast::Decorator { range: optional_range(location, end_location), expression: p } + ast::Decorator { range: (location..end_location).into(), expression: p } }, }; @@ -1206,7 +1203,7 @@ LambdaDef: ast::Expr = { "lambda" ?> ":" > =>? { p.as_ref().map(validate_arguments).transpose()?; let p = p - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .unwrap_or_else(|| ast::Arguments::empty((location..end_location).into())); Ok(ast::Expr::Lambda( ast::ExprLambda { @@ -1570,7 +1567,7 @@ SingleForComprehension: ast::Comprehension = { iter, ifs, is_async, - range: optional_range(location, end_location) + range: (location..end_location).into() } } }; diff --git a/parser/src/python.rs b/parser/src/python.rs index d46320c9..ab0671c6 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: 4caf54d50e2859da942dd4db1d0d538083a10c1a232b8619e44f266f1ae25384 +// sha3: 0fa2bdb02350fa071c24cfc111835a73b754cc5d1f240b2105cea9d59431bf4e use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -7,7 +7,7 @@ use crate::{ context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; #[allow(unused_extern_crates)] extern crate lalrpop_util as __lalrpop_util; @@ -27,7 +27,7 @@ mod __parse__Top { context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; #[allow(unused_extern_crates)] extern crate lalrpop_util as __lalrpop_util; @@ -28748,7 +28748,7 @@ fn __action1< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModModule { body, type_ignores: vec![], range: optional_range(start, end) }.into() + ast::ModModule { body, type_ignores: vec![], range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -28760,7 +28760,7 @@ fn __action2< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModInteractive { body, range: optional_range(start, end) }.into() + ast::ModInteractive { body, range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -28773,7 +28773,7 @@ fn __action3< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModExpression { body: Box::new(body), range: optional_range(start, end) }.into() + ast::ModExpression { body: Box::new(body), range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -29788,7 +29788,7 @@ fn __action82< pattern, guard: guard.map(Box::new), body, - range: optional_range(start, end) + range: (start..end).into() } } } @@ -31071,7 +31071,7 @@ fn __action156< ) -> Vec { { - all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }).collect() + all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }).collect() } } @@ -31115,7 +31115,7 @@ fn __action158< { a.as_ref().map(validate_arguments).transpose()?; - let range = optional_range(location, end_location); + let range = (location..end_location).into(); let args = a .map(|mut arguments| { arguments.range = range; @@ -31137,7 +31137,7 @@ fn __action159< { { let def = ast::Arg { arg, annotation: None, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } } } @@ -31164,7 +31164,7 @@ fn __action161< { let annotation = a.map(Box::new); let def = ast::Arg { arg, annotation, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } } } @@ -31240,7 +31240,7 @@ fn __action165< ) -> ast::Decorator { { - ast::Decorator { range: optional_range(location, end_location), expression: p } + ast::Decorator { range: (location..end_location).into(), expression: p } } } @@ -31328,7 +31328,7 @@ fn __action171< { p.as_ref().map(validate_arguments).transpose()?; let p = p - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .unwrap_or_else(|| ast::Arguments::empty((location..end_location).into())); Ok(ast::Expr::Lambda( ast::ExprLambda { @@ -31775,7 +31775,7 @@ fn __action213< iter, ifs, is_async, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } @@ -32232,7 +32232,7 @@ fn __action250< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } @@ -32262,7 +32262,7 @@ fn __action251< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } @@ -32284,7 +32284,7 @@ fn __action252< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } @@ -32305,7 +32305,7 @@ fn __action253< kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } @@ -32449,7 +32449,7 @@ fn __action266< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } @@ -32479,7 +32479,7 @@ fn __action267< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } @@ -32501,7 +32501,7 @@ fn __action268< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } @@ -32522,7 +32522,7 @@ fn __action269< kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } @@ -32625,7 +32625,7 @@ fn __action279< (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::WithItem { - ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() } } #[allow(clippy::too_many_arguments)] @@ -32640,7 +32640,7 @@ fn __action280< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } @@ -32681,7 +32681,7 @@ fn __action284< (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::WithItem { - ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() } } #[allow(clippy::too_many_arguments)] @@ -32696,7 +32696,7 @@ fn __action285< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } @@ -32712,7 +32712,7 @@ fn __action286< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } @@ -34376,10 +34376,7 @@ fn __action443< { { i.default = Some(Box::new(e)); - #[cfg(feature = "all-nodes-with-ranges")] - { - i.range = optional_range(i.range.start(), end_location); - } + i.range = (i.range.start()..end_location).into(); i } } @@ -34494,10 +34491,7 @@ fn __action454< { { i.default = Some(Box::new(e)); - #[cfg(feature = "all-nodes-with-ranges")] - { - i.range = optional_range(i.range.start(), end_location); - } + i.range = (i.range.start()..end_location).into(); i } } From a0fb0112fb4c4ceb39e21ea0a080a890d24e38cd Mon Sep 17 00:00:00 2001 From: konstin Date: Mon, 26 Jun 2023 13:55:35 +0200 Subject: [PATCH 13/15] impl Ranged for &T where T: Ranged (#16) In the example below, `arg` is `&Expr`, so `&Ranged`, but `entries()` want a `T: Ranged`. This adds the missing bridge impl. ```rust let all_args = format_with(|f| { f.join_comma_separated() .entries( // We have the parentheses from the call so the arguments never need any args.iter() .map(|arg| (arg, arg.format().with_options(Parenthesize::Never))), ) .nodes(keywords.iter()) .finish() }); ``` --- ast/src/ranged.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ast/src/ranged.rs b/ast/src/ranged.rs index f01c15a7..b20d7114 100644 --- a/ast/src/ranged.rs +++ b/ast/src/ranged.rs @@ -14,4 +14,13 @@ pub trait Ranged { } } +impl Ranged for &T +where + T: Ranged, +{ + fn range(&self) -> TextRange { + T::range(self) + } +} + include!("gen/ranged.rs"); From cedeace48f0dd2b9e67fad1216267a1d22816575 Mon Sep 17 00:00:00 2001 From: konsti Date: Sun, 2 Jul 2023 10:11:06 +0200 Subject: [PATCH 14/15] impl Ranged for TextRange (#20) This adds the missing implementation of `Ranged` for `TextRange` itself ```rust impl Ranged for TextRange { fn range(&self) -> TextRange { *self } } ``` This allows e.g. using `has_comments` with arbitrary ranges instead of just a node. It also adds .venv to the .gitignore --- .gitignore | 1 + ast/src/ranged.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 5f2428af..89454b8e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ __pycache__ .*sw* .vscode .idea/ +.venv/ flame-graph.html flame.txt diff --git a/ast/src/ranged.rs b/ast/src/ranged.rs index b20d7114..560e14c5 100644 --- a/ast/src/ranged.rs +++ b/ast/src/ranged.rs @@ -14,6 +14,12 @@ pub trait Ranged { } } +impl Ranged for TextRange { + fn range(&self) -> TextRange { + *self + } +} + impl Ranged for &T where T: Ranged, From 937bcaf38f25dbf5da5b61e945e9af35cf259f46 Mon Sep 17 00:00:00 2001 From: konsti Date: Wed, 5 Jul 2023 14:25:26 +0200 Subject: [PATCH 15/15] Remove asdl (#21) This removes the ASDL code generation in favor of handwriting the AST. The motivations for moving away from the ASDL are: * CPython compatibility is no longer a goal * The ASDL grammar isn't as expressive as we would like * The codegen scripts have a high complexity which makes extensions time consuming * We don't make heavy use of code generation (compared to e.g. RustPython that generates Pyo3 bindings, a fold implementation etc). We may want to revisit a grammar based code generation in the future, e.g. by using [ungrammar](https://github.com/rust-analyzer/ungrammar) --- .github/workflows/ci.yaml | 1 - ast/Python.asdl | 147 -- ast/asdl.py | 385 ----- ast/asdl_rs.py | 817 ---------- ast/src/builtin.rs | 2 +- ast/src/gen/generic.rs | 3137 ------------------------------------ ast/src/gen/ranged.rs | 502 ------ ast/src/generic.rs | 3139 ++++++++++++++++++++++++++++++++++++- ast/src/ranged.rs | 503 +++++- parser/src/gen/parse.rs | 2 +- scripts/cspell.sh | 1 - scripts/update_asdl.sh | 8 - 12 files changed, 3641 insertions(+), 5003 deletions(-) delete mode 100644 ast/Python.asdl delete mode 100644 ast/asdl.py delete mode 100755 ast/asdl_rs.py delete mode 100644 ast/src/gen/generic.rs delete mode 100644 ast/src/gen/ranged.rs delete mode 100755 scripts/update_asdl.sh diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 04a36190..989f80eb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -73,4 +73,3 @@ jobs: 'core/**/*.rs' 'literal/**/*.rs' 'parser/**/*.rs' - 'ast/asdl_rs.py' diff --git a/ast/Python.asdl b/ast/Python.asdl deleted file mode 100644 index f8217eb5..00000000 --- a/ast/Python.asdl +++ /dev/null @@ -1,147 +0,0 @@ --- ASDL's 4 builtin types are: --- identifier, int, string, constant, decorator - -module Python -{ - mod = Module(stmt* body, type_ignore* type_ignores) - | Interactive(stmt* body) - | Expression(expr body) - | FunctionType(expr* argtypes, expr returns) - - stmt = FunctionDef(identifier name, arguments args, - stmt* body, decorator* decorator_list, expr? returns, - string? type_comment) - | AsyncFunctionDef(identifier name, arguments args, - stmt* body, decorator* decorator_list, expr? returns, - string? type_comment) - - | ClassDef(identifier name, - expr* bases, - keyword* keywords, - stmt* body, - decorator* decorator_list) - | Return(expr? value) - - | Delete(expr* targets) - | Assign(expr* targets, expr value, string? type_comment) - | AugAssign(expr target, operator op, expr value) - -- 'simple' indicates that we annotate simple name without parens - | AnnAssign(expr target, expr annotation, expr? value, int simple) - - -- use 'orelse' because else is a keyword in target languages - | For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) - | AsyncFor(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) - | While(expr test, stmt* body, stmt* orelse) - | If(expr test, stmt* body, stmt* orelse) - | With(withitem* items, stmt* body, string? type_comment) - | AsyncWith(withitem* items, stmt* body, string? type_comment) - - | Match(expr subject, match_case* cases) - - | Raise(expr? exc, expr? cause) - | Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody) - | TryStar(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody) - | Assert(expr test, expr? msg) - - | Import(alias* names) - | ImportFrom(identifier? module, alias* names, int? level) - - | Global(identifier* names) - | Nonlocal(identifier* names) - | Expr(expr value) - | Pass | Break | Continue - - -- col_offset is the byte offset in the utf8 string the parser uses - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- BoolOp() can use left & right? - expr = BoolOp(boolop op, expr* values) - | NamedExpr(expr target, expr value) - | BinOp(expr left, operator op, expr right) - | UnaryOp(unaryop op, expr operand) - | Lambda(arguments args, expr body) - | IfExp(expr test, expr body, expr orelse) - | Dict(expr* keys, expr* values) - | Set(expr* elts) - | ListComp(expr elt, comprehension* generators) - | SetComp(expr elt, comprehension* generators) - | DictComp(expr key, expr value, comprehension* generators) - | GeneratorExp(expr elt, comprehension* generators) - -- the grammar constrains where yield expressions can occur - | Await(expr value) - | Yield(expr? value) - | YieldFrom(expr value) - -- need sequences for compare to distinguish between - -- x < 4 < 3 and (x < 4) < 3 - | Compare(expr left, cmpop* ops, expr* comparators) - | Call(expr func, expr* args, keyword* keywords) - | FormattedValue(expr value, int conversion, expr? format_spec) - | JoinedStr(expr* values) - | Constant(constant value, string? kind) - - -- the following expression can appear in assignment context - | Attribute(expr value, identifier attr, expr_context ctx) - | Subscript(expr value, expr slice, expr_context ctx) - | Starred(expr value, expr_context ctx) - | Name(identifier id, expr_context ctx) - | List(expr* elts, expr_context ctx) - | Tuple(expr* elts, expr_context ctx) - - -- can appear only in Subscript - | Slice(expr? lower, expr? upper, expr? step) - - -- col_offset is the byte offset in the utf8 string the parser uses - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - expr_context = Load | Store | Del - - boolop = And | Or - - operator = Add | Sub | Mult | MatMult | Div | Mod | Pow | LShift - | RShift | BitOr | BitXor | BitAnd | FloorDiv - - unaryop = Invert | Not | UAdd | USub - - cmpop = Eq | NotEq | Lt | LtE | Gt | GtE | Is | IsNot | In | NotIn - - comprehension = (expr target, expr iter, expr* ifs, int is_async) - - excepthandler = ExceptHandler(expr? type, identifier? name, stmt* body) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - arguments = (arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs, - expr* kw_defaults, arg? kwarg, expr* defaults) - - arg = (identifier arg, expr? annotation, string? type_comment) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- keyword arguments supplied to call (NULL identifier for **kwargs) - keyword = (identifier? arg, expr value) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- import name with optional 'as' alias. - alias = (identifier name, identifier? asname) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - withitem = (expr context_expr, expr? optional_vars) - - match_case = (pattern pattern, expr? guard, stmt* body) - - pattern = MatchValue(expr value) - | MatchSingleton(constant value) - | MatchSequence(pattern* patterns) - | MatchMapping(expr* keys, pattern* patterns, identifier? rest) - | MatchClass(expr cls, pattern* patterns, identifier* kwd_attrs, pattern* kwd_patterns) - - | MatchStar(identifier? name) - -- The optional "rest" MatchMapping parameter handles capturing extra mapping keys - - | MatchAs(pattern? pattern, identifier? name) - | MatchOr(pattern* patterns) - - attributes (int lineno, int col_offset, int end_lineno, int end_col_offset) - - type_ignore = TypeIgnore(int lineno, string tag) - - decorator = (expr expression) -} diff --git a/ast/asdl.py b/ast/asdl.py deleted file mode 100644 index 5c111b3e..00000000 --- a/ast/asdl.py +++ /dev/null @@ -1,385 +0,0 @@ -#------------------------------------------------------------------------------- -# Parser for ASDL [1] definition files. Reads in an ASDL description and parses -# it into an AST that describes it. -# -# The EBNF we're parsing here: Figure 1 of the paper [1]. Extended to support -# modules and attributes after a product. Words starting with Capital letters -# are terminals. Literal tokens are in "double quotes". Others are -# non-terminals. Id is either TokenId or ConstructorId. -# -# module ::= "module" Id "{" [definitions] "}" -# definitions ::= { TypeId "=" type } -# type ::= product | sum -# product ::= fields ["attributes" fields] -# fields ::= "(" { field, "," } field ")" -# field ::= TypeId ["?" | "*"] [Id] -# sum ::= constructor { "|" constructor } ["attributes" fields] -# constructor ::= ConstructorId [fields] -# -# [1] "The Zephyr Abstract Syntax Description Language" by Wang, et. al. See -# http://asdl.sourceforge.net/ -#------------------------------------------------------------------------------- -from collections import namedtuple -import re - -__all__ = [ - 'builtin_types', 'parse', 'AST', 'Module', 'Type', 'Constructor', - 'Field', 'Sum', 'Product', 'VisitorBase', 'Check', 'check'] - -# The following classes define nodes into which the ASDL description is parsed. -# Note: this is a "meta-AST". ASDL files (such as Python.asdl) describe the AST -# structure used by a programming language. But ASDL files themselves need to be -# parsed. This module parses ASDL files and uses a simple AST to represent them. -# See the EBNF at the top of the file to understand the logical connection -# between the various node types. - -builtin_types = {'identifier', 'string', 'int', 'constant'} - -class AST: - def __repr__(self): - raise NotImplementedError - -class Module(AST): - def __init__(self, name, dfns): - self.name = name - self.dfns = dfns - self.types = {type.name: type.value for type in dfns} - - def __repr__(self): - return 'Module({0.name}, {0.dfns})'.format(self) - -class Type(AST): - def __init__(self, name, value): - self.name = name - self.value = value - - def __repr__(self): - return 'Type({0.name}, {0.value})'.format(self) - -class Constructor(AST): - def __init__(self, name, fields=None): - self.name = name - self.fields = fields or [] - - def __repr__(self): - return 'Constructor({0.name}, {0.fields})'.format(self) - -class Field(AST): - def __init__(self, type, name=None, seq=False, opt=False): - self.type = type - self.name = name - self.seq = seq - self.opt = opt - - def __str__(self): - if self.seq: - extra = "*" - elif self.opt: - extra = "?" - else: - extra = "" - - return "{}{} {}".format(self.type, extra, self.name) - - def __repr__(self): - if self.seq: - extra = ", seq=True" - elif self.opt: - extra = ", opt=True" - else: - extra = "" - if self.name is None: - return 'Field({0.type}{1})'.format(self, extra) - else: - return 'Field({0.type}, {0.name}{1})'.format(self, extra) - -class Sum(AST): - def __init__(self, types, attributes=None): - self.types = types - self.attributes = attributes or [] - - def __repr__(self): - if self.attributes: - return 'Sum({0.types}, {0.attributes})'.format(self) - else: - return 'Sum({0.types})'.format(self) - -class Product(AST): - def __init__(self, fields, attributes=None): - self.fields = fields - self.attributes = attributes or [] - - def __repr__(self): - if self.attributes: - return 'Product({0.fields}, {0.attributes})'.format(self) - else: - return 'Product({0.fields})'.format(self) - -# A generic visitor for the meta-AST that describes ASDL. This can be used by -# emitters. Note that this visitor does not provide a generic visit method, so a -# subclass needs to define visit methods from visitModule to as deep as the -# interesting node. -# We also define a Check visitor that makes sure the parsed ASDL is well-formed. - -class VisitorBase(object): - """Generic tree visitor for ASTs.""" - def __init__(self): - self.cache = {} - - def visit(self, obj, *args): - klass = obj.__class__ - meth = self.cache.get(klass) - if meth is None: - methname = "visit" + klass.__name__ - meth = getattr(self, methname, None) - self.cache[klass] = meth - if meth: - try: - meth(obj, *args) - except Exception as e: - print("Error visiting %r: %s" % (obj, e)) - raise - -class Check(VisitorBase): - """A visitor that checks a parsed ASDL tree for correctness. - - Errors are printed and accumulated. - """ - def __init__(self): - super(Check, self).__init__() - self.cons = {} - self.errors = 0 - self.types = {} - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type): - self.visit(type.value, str(type.name)) - - def visitSum(self, sum, name): - for t in sum.types: - self.visit(t, name) - - def visitConstructor(self, cons, name): - key = str(cons.name) - conflict = self.cons.get(key) - if conflict is None: - self.cons[key] = name - else: - print('Redefinition of constructor {}'.format(key)) - print('Defined in {} and {}'.format(conflict, name)) - self.errors += 1 - for f in cons.fields: - self.visit(f, key) - - def visitField(self, field, name): - key = str(field.type) - l = self.types.setdefault(key, []) # noqa - l.append(name) - - def visitProduct(self, prod, name): - for f in prod.fields: - self.visit(f, name) - -def check(mod): - """Check the parsed ASDL tree for correctness. - - Return True if success. For failure, the errors are printed out and False - is returned. - """ - v = Check() - v.visit(mod) - - for t in v.types: - if t not in mod.types and t not in builtin_types: - v.errors += 1 - uses = ", ".join(v.types[t]) - print('Undefined type {}, used in {}'.format(t, uses)) - return not v.errors - -# The ASDL parser itself comes next. The only interesting external interface -# here is the top-level parse function. - -def parse(filename): - """Parse ASDL from the given file and return a Module node describing it.""" - with open(filename, encoding="utf-8") as f: - parser = ASDLParser() - return parser.parse(f.read()) - -# Types for describing tokens in an ASDL specification. -class TokenKind: - """TokenKind is provides a scope for enumerated token kinds.""" - (ConstructorId, TypeId, Equals, Comma, Question, Pipe, Asterisk, - LParen, RParen, LBrace, RBrace) = range(11) - - operator_table = { - '=': Equals, ',': Comma, '?': Question, '|': Pipe, '(': LParen, - ')': RParen, '*': Asterisk, '{': LBrace, '}': RBrace} - -Token = namedtuple('Token', 'kind value lineno') - -class ASDLSyntaxError(Exception): - def __init__(self, msg, lineno=None): - self.msg = msg - self.lineno = lineno or '' - - def __str__(self): - return 'Syntax error on line {0.lineno}: {0.msg}'.format(self) - -def tokenize_asdl(buf): - """Tokenize the given buffer. Yield Token objects.""" - for lineno, line in enumerate(buf.splitlines(), 1): - for m in re.finditer(r'\s*(\w+|--.*|.)', line.strip()): - c = m.group(1) - if c[0].isalpha(): - # Some kind of identifier - if c[0].isupper(): - yield Token(TokenKind.ConstructorId, c, lineno) - else: - yield Token(TokenKind.TypeId, c, lineno) - elif c[:2] == '--': - # Comment - break - else: - # Operators - try: - op_kind = TokenKind.operator_table[c] - except KeyError: - raise ASDLSyntaxError('Invalid operator %s' % c, lineno) - yield Token(op_kind, c, lineno) - -class ASDLParser: - """Parser for ASDL files. - - Create, then call the parse method on a buffer containing ASDL. - This is a simple recursive descent parser that uses tokenize_asdl for the - lexing. - """ - def __init__(self): - self._tokenizer = None - self.cur_token = None - - def parse(self, buf): - """Parse the ASDL in the buffer and return an AST with a Module root. - """ - self._tokenizer = tokenize_asdl(buf) - self._advance() - return self._parse_module() - - def _parse_module(self): - if self._at_keyword('module'): - self._advance() - else: - raise ASDLSyntaxError( - 'Expected "module" (found {})'.format(self.cur_token.value), - self.cur_token.lineno) - name = self._match(self._id_kinds) - self._match(TokenKind.LBrace) - defs = self._parse_definitions() - self._match(TokenKind.RBrace) - return Module(name, defs) - - def _parse_definitions(self): - defs = [] - while self.cur_token.kind == TokenKind.TypeId: - typename = self._advance() - self._match(TokenKind.Equals) - type = self._parse_type() - defs.append(Type(typename, type)) - return defs - - def _parse_type(self): - if self.cur_token.kind == TokenKind.LParen: - # If we see a (, it's a product - return self._parse_product() - else: - # Otherwise it's a sum. Look for ConstructorId - sumlist = [Constructor(self._match(TokenKind.ConstructorId), - self._parse_optional_fields())] - while self.cur_token.kind == TokenKind.Pipe: - # More constructors - self._advance() - sumlist.append(Constructor( - self._match(TokenKind.ConstructorId), - self._parse_optional_fields())) - return Sum(sumlist, self._parse_optional_attributes()) - - def _parse_product(self): - return Product(self._parse_fields(), self._parse_optional_attributes()) - - def _parse_fields(self): - fields = [] - self._match(TokenKind.LParen) - while self.cur_token.kind == TokenKind.TypeId: - typename = self._advance() - is_seq, is_opt = self._parse_optional_field_quantifier() - id = (self._advance() if self.cur_token.kind in self._id_kinds - else None) - fields.append(Field(typename, id, seq=is_seq, opt=is_opt)) - if self.cur_token.kind == TokenKind.RParen: - break - elif self.cur_token.kind == TokenKind.Comma: - self._advance() - self._match(TokenKind.RParen) - return fields - - def _parse_optional_fields(self): - if self.cur_token.kind == TokenKind.LParen: - return self._parse_fields() - else: - return None - - def _parse_optional_attributes(self): - if self._at_keyword('attributes'): - self._advance() - return self._parse_fields() - else: - return None - - def _parse_optional_field_quantifier(self): - is_seq, is_opt = False, False - if self.cur_token.kind == TokenKind.Asterisk: - is_seq = True - self._advance() - elif self.cur_token.kind == TokenKind.Question: - is_opt = True - self._advance() - return is_seq, is_opt - - def _advance(self): - """ Return the value of the current token and read the next one into - self.cur_token. - """ - cur_val = None if self.cur_token is None else self.cur_token.value - try: - self.cur_token = next(self._tokenizer) - except StopIteration: - self.cur_token = None - return cur_val - - _id_kinds = (TokenKind.ConstructorId, TokenKind.TypeId) - - def _match(self, kind): - """The 'match' primitive of RD parsers. - - * Verifies that the current token is of the given kind (kind can - be a tuple, in which the kind must match one of its members). - * Returns the value of the current token - * Reads in the next token - """ - if (isinstance(kind, tuple) and self.cur_token.kind in kind or - self.cur_token.kind == kind - ): - value = self.cur_token.value - self._advance() - return value - else: - raise ASDLSyntaxError( - 'Unmatched {} (found {})'.format(kind, self.cur_token.kind), - self.cur_token.lineno) - - def _at_keyword(self, keyword): - return (self.cur_token.kind == TokenKind.TypeId and - self.cur_token.value == keyword) diff --git a/ast/asdl_rs.py b/ast/asdl_rs.py deleted file mode 100755 index 7d5c8bbb..00000000 --- a/ast/asdl_rs.py +++ /dev/null @@ -1,817 +0,0 @@ -# spell-checker:words dfn dfns - -# ! /usr/bin/env python -"""Generate Rust code from an ASDL description.""" - -import re -import sys -import textwrap -from argparse import ArgumentParser -from pathlib import Path -from typing import Any, Dict, Optional - -import asdl - -TABSIZE = 4 -AUTO_GEN_MESSAGE = "// File automatically generated by {}.\n\n" - -BUILTIN_TYPE_NAMES = { - "identifier": "Identifier", - "string": "String", - "int": "Int", - "constant": "Constant", -} -assert BUILTIN_TYPE_NAMES.keys() == asdl.builtin_types - -BUILTIN_INT_NAMES = { - "simple": "bool", - "is_async": "bool", - "conversion": "ConversionFlag", -} - -RENAME_MAP = { - "cmpop": "cmp_op", - "unaryop": "unary_op", - "boolop": "bool_op", - "excepthandler": "except_handler", - "withitem": "with_item", -} - -RUST_KEYWORDS = { - "if", - "while", - "for", - "return", - "match", - "try", - "await", - "yield", - "in", - "mod", - "type", -} - -attributes = [ - asdl.Field("int", "lineno"), - asdl.Field("int", "col_offset"), - asdl.Field("int", "end_lineno"), - asdl.Field("int", "end_col_offset"), -] - -ORIGINAL_NODE_WARNING = "NOTE: This type is different from original Python AST." - -arg_with_default = asdl.Type( - "arg_with_default", - asdl.Product( - [ - asdl.Field("arg", "def"), - asdl.Field( - "expr", "default", opt=True - ), # order is important for cost-free borrow! - ], - ), -) -arg_with_default.doc = f""" -An alternative type of AST `arg`. This is used for each function argument that might have a default value. -Used by `Arguments` original type. - -{ORIGINAL_NODE_WARNING} -""".strip() - -alt_arguments = asdl.Type( - "alt:arguments", - asdl.Product( - [ - asdl.Field("arg_with_default", "posonlyargs", seq=True), - asdl.Field("arg_with_default", "args", seq=True), - asdl.Field("arg", "vararg", opt=True), - asdl.Field("arg_with_default", "kwonlyargs", seq=True), - asdl.Field("arg", "kwarg", opt=True), - ] - ), -) -alt_arguments.doc = f""" -An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. -This form also has advantage to implement pre-order traverse. -`defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. -`vararg` and `kwarg` are still typed as `arg` because they never can have a default value. - -The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by -default existence, [Arguments] has location-ordered kwonlyargs fields. - -{ORIGINAL_NODE_WARNING} -""".strip() - -# Must be used only for rust types, not python types -CUSTOM_TYPES = [ - alt_arguments, - arg_with_default, -] - -CUSTOM_REPLACEMENTS = { - "arguments": alt_arguments, -} -CUSTOM_ATTACHMENTS = [ - arg_with_default, -] - - -def maybe_custom(type): - return CUSTOM_REPLACEMENTS.get(type.name, type) - - -def rust_field_name(name): - name = rust_type_name(name) - return re.sub(r"(?" - - @property - def name(self): - return self.type.name - - @property - def is_type(self): - return isinstance(self.type, asdl.Type) - - @property - def is_product(self): - return self.is_type and isinstance(self.type.value, asdl.Product) - - @property - def is_sum(self): - return self.is_type and isinstance(self.type.value, asdl.Sum) - - @property - def has_expr(self): - return self.is_product and any( - f.type != "identifier" for f in self.type.value.fields - ) - - @property - def is_custom(self): - return self.type.name in [t.name for t in CUSTOM_TYPES] - - @property - def is_custom_replaced(self): - return self.type.name in CUSTOM_REPLACEMENTS - - @property - def custom(self): - if self.type.name in CUSTOM_REPLACEMENTS: - return CUSTOM_REPLACEMENTS[self.type.name] - return self.type - - def no_cfg(self, typeinfo): - if self.is_product: - return self.has_attributes - elif self.enum_name: - return typeinfo[self.enum_name].has_attributes - else: - return self.has_attributes - - @property - def rust_name(self): - return rust_type_name(self.name) - - @property - def full_field_name(self): - name = self.name - if name.startswith("alt:"): - name = name[4:] - if self.enum_name is None: - return name - else: - return f"{self.enum_name}_{rust_field_name(name)}" - - @property - def full_type_name(self): - name = self.name - if name.startswith("alt:"): - name = name[4:] - rust_name = rust_type_name(name) - if self.enum_name is not None: - rust_name = rust_type_name(self.enum_name) + rust_name - if self.is_custom_replaced: - rust_name = "Python" + rust_name - return rust_name - - def determine_user_data(self, type_info, stack): - if self.name in stack: - return None - stack.add(self.name) - for child, child_seq in self.children: - if child in asdl.builtin_types: - continue - child_info = type_info[child] - child_has_user_data = child_info.determine_user_data(type_info, stack) - if self.has_user_data is None and child_has_user_data is True: - self.has_user_data = True - - stack.remove(self.name) - return self.has_user_data - - -class TypeInfoMixin: - type_info: Dict[str, TypeInfo] - - def customized_type_info(self, type_name): - info = self.type_info[type_name] - return self.type_info[info.custom.name] - - def has_user_data(self, typ): - return self.type_info[typ].has_user_data - - -class EmitVisitor(asdl.VisitorBase, TypeInfoMixin): - """Visit that emits lines""" - - def __init__(self, file, type_info): - self.file = file - self.type_info = type_info - self.identifiers = set() - super(EmitVisitor, self).__init__() - - def emit_identifier(self, name): - name = str(name) - if name in self.identifiers: - return - self.emit("_Py_IDENTIFIER(%s);" % name, 0) - self.identifiers.add(name) - - def emit(self, line, depth): - if line: - line = (" " * TABSIZE * depth) + textwrap.dedent(line) - self.file.write(line + "\n") - - -class FindUserDataTypesVisitor(asdl.VisitorBase): - def __init__(self, type_info): - self.type_info = type_info - super().__init__() - - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - stack = set() - for info in self.type_info.values(): - info.determine_user_data(self.type_info, stack) - - def visitType(self, type): - key = type.name - info = self.type_info[key] = TypeInfo(type) - self.visit(type.value, info) - - def visitSum(self, sum, info): - type = info.type - info.is_simple = is_simple(sum) - for cons in sum.types: - self.visit(cons, type, info.is_simple) - - if info.is_simple: - info.has_user_data = False - return - - for t in sum.types: - self.add_children(t.name, t.fields) - - if len(sum.types) > 1: - info.boxed = True - if sum.attributes: - # attributes means located, which has the `range: R` field - info.has_user_data = True - info.has_attributes = True - - for variant in sum.types: - self.add_children(type.name, variant.fields) - - def visitConstructor(self, cons, type, simple): - info = self.type_info[cons.name] = TypeInfo(cons) - info.enum_name = type.name - info.is_simple = simple - - def visitProduct(self, product, info): - type = info.type - if product.attributes: - # attributes means located, which has the `range: R` field - info.has_user_data = True - info.has_attributes = True - if len(product.fields) > 2: - info.boxed = True - self.add_children(type.name, product.fields) - - def add_children(self, name, fields): - self.type_info[name].children.update( - (field.type, field.seq) for field in fields - ) - - -def rust_field(field_name): - if field_name in RUST_KEYWORDS: - field_name += "_" - return field_name - - -class StructVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, *args, **kw): - super().__init__(*args, **kw) - - def emit_attrs(self, depth): - self.emit("#[derive(Clone, Debug, PartialEq)]", depth) - - def emit_range(self, has_attributes, depth): - self.emit("pub range: TextRange,", depth + 1) - - def visitModule(self, mod): - self.emit_attrs(0) - self.emit( - """ - #[derive(is_macro::Is)] - pub enum Ast { - """, - 0, - ) - for dfn in mod.dfns: - info = self.customized_type_info(dfn.name) - dfn = info.custom - rust_name = info.full_type_name - if dfn.name == "mod": - # This is exceptional rule to other enums. - # Unlike other enums, this is justified because `Mod` is only used as - # the top node of parsing result and never a child node of other nodes. - # Because it will be very rarely used in very particular applications, - # "ast_" prefix to everywhere seems less useful. - self.emit('#[is(name = "module")]', 1) - self.emit(f"{rust_name}({rust_name}),", 1) - self.emit( - """ - } - impl Node for Ast { - const NAME: &'static str = "AST"; - const FIELD_NAMES: &'static [&'static str] = &[]; - } - """, - 0, - ) - for dfn in mod.dfns: - info = self.customized_type_info(dfn.name) - rust_name = info.full_type_name - self.emit( - f""" - impl From<{rust_name}> for Ast {{ - fn from(node: {rust_name}) -> Self {{ - Ast::{rust_name}(node) - }} - }} - """, - 0, - ) - - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - if hasattr(type, "doc"): - doc = "/// " + type.doc.replace("\n", "\n/// ") + "\n" - else: - doc = f"/// See also [{type.name}](https://docs.python.org/3/library/ast.html#ast.{type.name})" - self.emit(doc, depth) - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth): - if is_simple(sum): - self.simple_sum(sum, type, depth) - else: - self.sum_with_constructors(sum, type, depth) - - self.emit( - f""" - impl Node for {rust_type_name(type.name)} {{ - const NAME: &'static str = "{type.name}"; - const FIELD_NAMES: &'static [&'static str] = &[]; - }} - """, - depth, - ) - - def simple_sum(self, sum, type, depth): - rust_name = rust_type_name(type.name) - self.emit_attrs(depth) - self.emit("#[derive(is_macro::Is, Copy, Hash, Eq)]", depth) - self.emit(f"pub enum {rust_name} {{", depth) - for cons in sum.types: - self.emit(f"{cons.name},", depth + 1) - self.emit("}", depth) - self.emit(f"impl {rust_name} {{", depth) - needs_escape = any(rust_field_name(t.name) in RUST_KEYWORDS for t in sum.types) - if needs_escape: - prefix = rust_field_name(type.name) + "_" - else: - prefix = "" - for cons in sum.types: - self.emit( - f""" - #[inline] - pub const fn {prefix}{rust_field_name(cons.name)}(&self) -> Option<{rust_name}{cons.name}> {{ - match self {{ - {rust_name}::{cons.name} => Some({rust_name}{cons.name}), - _ => None, - }} - }} - """, - depth, - ) - self.emit("}", depth) - self.emit("", depth) - - for cons in sum.types: - self.emit( - f""" - pub struct {rust_name}{cons.name}; - impl From<{rust_name}{cons.name}> for {rust_name} {{ - fn from(_: {rust_name}{cons.name}) -> Self {{ - {rust_name}::{cons.name} - }} - }} - impl From<{rust_name}{cons.name}> for Ast {{ - fn from(_: {rust_name}{cons.name}) -> Self {{ - {rust_name}::{cons.name}.into() - }} - }} - impl Node for {rust_name}{cons.name} {{ - const NAME: &'static str = "{cons.name}"; - const FIELD_NAMES: &'static [&'static str] = &[]; - }} - impl std::cmp::PartialEq<{rust_name}> for {rust_name}{cons.name} {{ - #[inline] - fn eq(&self, other: &{rust_name}) -> bool {{ - matches!(other, {rust_name}::{cons.name}) - }} - }} - """, - 0, - ) - - def sum_with_constructors(self, sum, type, depth): - type_info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - - self.emit_attrs(depth) - self.emit("#[derive(is_macro::Is)]", depth) - self.emit(f"pub enum {rust_name} {{", depth) - needs_escape = any(rust_field_name(t.name) in RUST_KEYWORDS for t in sum.types) - for t in sum.types: - if needs_escape: - self.emit( - f'#[is(name = "{rust_field_name(t.name)}_{rust_name.lower()}")]', - depth + 1, - ) - self.emit(f"{t.name}({rust_name}{t.name}),", depth + 1) - self.emit("}", depth) - self.emit("", depth) - - for t in sum.types: - self.sum_subtype_struct(type_info, t, rust_name, depth) - - def sum_subtype_struct(self, sum_type_info, t, rust_name, depth): - self.emit( - f"""/// See also [{t.name}](https://docs.python.org/3/library/ast.html#ast.{t.name})""", - depth, - ) - self.emit_attrs(depth) - payload_name = f"{rust_name}{t.name}" - self.emit(f"pub struct {payload_name} {{", depth) - self.emit_range(sum_type_info.has_attributes, depth) - for f in t.fields: - self.visit(f, sum_type_info, "pub ", depth + 1, t.name) - - assert sum_type_info.has_attributes == self.type_info[t.name].no_cfg( - self.type_info - ) - - self.emit("}", depth) - field_names = [f'"{f.name}"' for f in t.fields] - self.emit( - f""" - impl Node for {payload_name} {{ - const NAME: &'static str = "{t.name}"; - const FIELD_NAMES: &'static [&'static str] = &[{', '.join(field_names)}]; - }} - impl From<{payload_name}> for {rust_name} {{ - fn from(payload: {payload_name}) -> Self {{ - {rust_name}::{t.name}(payload) - }} - }} - impl From<{payload_name}> for Ast {{ - fn from(payload: {payload_name}) -> Self {{ - {rust_name}::from(payload).into() - }} - }} - """, - depth, - ) - - self.emit("", depth) - - def visitConstructor(self, cons, parent, depth): - if cons.fields: - self.emit(f"{cons.name} {{", depth) - for f in cons.fields: - self.visit(f, parent, "", depth + 1, cons.name) - self.emit("},", depth) - else: - self.emit(f"{cons.name},", depth) - - def visitField(self, field, parent, vis, depth, constructor=None): - try: - field_type = self.customized_type_info(field.type) - typ = field_type.full_type_name - except KeyError: - field_type = None - typ = rust_type_name(field.type) - if field_type and not field_type.is_simple: - typ = f"{typ}" - # don't box if we're doing Vec, but do box if we're doing Vec>> - if ( - field_type - and field_type.boxed - and (not (parent.is_product or field.seq) or field.opt) - ): - typ = f"Box<{typ}>" - if field.opt or ( - # When a dictionary literal contains dictionary unpacking (e.g., `{**d}`), - # the expression to be unpacked goes in `values` with a `None` at the corresponding - # position in `keys`. To handle this, the type of `keys` needs to be `Option>`. - constructor == "Dict" - and field.name == "keys" - ): - typ = f"Option<{typ}>" - if field.seq: - typ = f"Vec<{typ}>" - if typ == "Int": - typ = BUILTIN_INT_NAMES.get(field.name, typ) - name = rust_field(field.name) - - # Use a String, rather than an Identifier, for the `id` field of `Expr::Name`. - # Names already include a range, so there's no need to duplicate the span. - if name == "id": - typ = "String" - - self.emit(f"{vis}{name}: {typ},", depth) - - def visitProduct(self, product, type, depth): - type_info = self.type_info[type.name] - product_name = type_info.full_type_name - self.emit_attrs(depth) - self.emit(f"pub struct {product_name} {{", depth) - self.emit_range(product.attributes, depth + 1) - for f in product.fields: - self.visit(f, type_info, "pub ", depth + 1) - assert bool(product.attributes) == type_info.no_cfg(self.type_info) - self.emit("}", depth) - - field_names = [f'"{f.name}"' for f in product.fields] - self.emit( - f""" - impl Node for {product_name} {{ - const NAME: &'static str = "{type.name}"; - const FIELD_NAMES: &'static [&'static str] = &[ - {', '.join(field_names)} - ]; - }} - """, - depth, - ) - - -class RangedDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - - if info.is_simple: - for ty in sum.types: - variant_info = self.type_info[ty.name] - self.emit_type_alias(variant_info) - return - - sum_match_arms = "" - - for ty in sum.types: - variant_info = self.type_info[ty.name] - sum_match_arms += ( - f" Self::{variant_info.rust_name}(node) => node.range()," - ) - self.emit_type_alias(variant_info) - self.emit_ranged_impl(variant_info) - - - self.emit( - f""" - impl Ranged for crate::{info.full_type_name} {{ - fn range(&self) -> TextRange {{ - match self {{ - {sum_match_arms} - }} - }} - }} - """.lstrip(), - 0, - ) - - def visitProduct(self, product, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - self.emit_ranged_impl(info) - - def emit_type_alias(self, info): - return # disable - self.emit( - f"pub type {info.full_type_name} = crate::generic::{info.full_type_name};", - 0, - ) - self.emit("", 0) - - def emit_ranged_impl(self, info): - self.file.write( - f""" - impl Ranged for crate::generic::{info.full_type_name} {{ - fn range(&self) -> TextRange {{ - self.range - }} - }} - """.strip() - ) - - -def write_ast_def(mod, type_info, f): - f.write("use crate::text_size::TextRange;") - StructVisitor(f, type_info).visit(mod) - - -def write_ranged_def(mod, type_info, f): - RangedDefVisitor(f, type_info).visit(mod) - - -def write_parse_def(mod, type_info, f): - for info in type_info.values(): - if info.enum_name not in ["expr", "stmt"]: - continue - - type_name = rust_type_name(info.enum_name) - cons_name = rust_type_name(info.name) - - f.write( - f""" - impl Parse for ast::{info.full_type_name} {{ - fn lex_starts_at( - source: &str, - offset: TextSize, - ) -> SoftKeywordTransformer> {{ - ast::{type_name}::lex_starts_at(source, offset) - }} - fn parse_tokens( - lxr: impl IntoIterator, - source_path: &str, - ) -> Result {{ - let node = ast::{type_name}::parse_tokens(lxr, source_path)?; - match node {{ - ast::{type_name}::{cons_name}(node) => Ok(node), - node => Err(ParseError {{ - error: ParseErrorType::InvalidToken, - offset: node.range().start(), - source_path: source_path.to_owned(), - }}), - }} - }} - }} - """ - ) - - -def main( - input_filename, - ast_dir, - parser_dir, - dump_module=False, -): - auto_gen_msg = AUTO_GEN_MESSAGE.format("/".join(Path(__file__).parts[-2:])) - mod = asdl.parse(input_filename) - if dump_module: - print("Parsed Module:") - print(mod) - if not asdl.check(mod): - sys.exit(1) - - type_info = {} - FindUserDataTypesVisitor(type_info).visit(mod) - - from functools import partial as p - - for filename, write in [ - ("generic", p(write_ast_def, mod, type_info)), - ("ranged", p(write_ranged_def, mod, type_info)), - ]: - with (ast_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - for filename, write in [ - ("parse", p(write_parse_def, mod, type_info)), - ]: - with (parser_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - print(f"{ast_dir} regenerated.") - - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument("input_file", type=Path) - parser.add_argument("-A", "--ast-dir", type=Path, required=True) - parser.add_argument("-P", "--parser-dir", type=Path, required=True) - parser.add_argument("-d", "--dump-module", action="store_true") - - args = parser.parse_args() - main( - args.input_file, - args.ast_dir, - args.parser_dir, - args.dump_module, - ) diff --git a/ast/src/builtin.rs b/ast/src/builtin.rs index dbca926a..2a8f3f47 100644 --- a/ast/src/builtin.rs +++ b/ast/src/builtin.rs @@ -1,4 +1,4 @@ -//! `builtin_types` in asdl.py and Attributed +//! `builtin_types` in Attributed use rustpython_parser_core::text_size::TextRange; diff --git a/ast/src/gen/generic.rs b/ast/src/gen/generic.rs deleted file mode 100644 index 36f79552..00000000 --- a/ast/src/gen/generic.rs +++ /dev/null @@ -1,3137 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -use crate::text_size::TextRange; -#[derive(Clone, Debug, PartialEq)] -#[derive(is_macro::Is)] -pub enum Ast { - #[is(name = "module")] - Mod(Mod), - Stmt(Stmt), - Expr(Expr), - ExprContext(ExprContext), - BoolOp(BoolOp), - Operator(Operator), - UnaryOp(UnaryOp), - CmpOp(CmpOp), - Comprehension(Comprehension), - ExceptHandler(ExceptHandler), - Arguments(Arguments), - Arg(Arg), - Keyword(Keyword), - Alias(Alias), - WithItem(WithItem), - MatchCase(MatchCase), - Pattern(Pattern), - TypeIgnore(TypeIgnore), - Decorator(Decorator), -} -impl Node for Ast { - const NAME: &'static str = "AST"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -impl From for Ast { - fn from(node: Mod) -> Self { - Ast::Mod(node) - } -} - -impl From for Ast { - fn from(node: Stmt) -> Self { - Ast::Stmt(node) - } -} - -impl From for Ast { - fn from(node: Expr) -> Self { - Ast::Expr(node) - } -} - -impl From for Ast { - fn from(node: ExprContext) -> Self { - Ast::ExprContext(node) - } -} - -impl From for Ast { - fn from(node: BoolOp) -> Self { - Ast::BoolOp(node) - } -} - -impl From for Ast { - fn from(node: Operator) -> Self { - Ast::Operator(node) - } -} - -impl From for Ast { - fn from(node: UnaryOp) -> Self { - Ast::UnaryOp(node) - } -} - -impl From for Ast { - fn from(node: CmpOp) -> Self { - Ast::CmpOp(node) - } -} - -impl From for Ast { - fn from(node: Comprehension) -> Self { - Ast::Comprehension(node) - } -} - -impl From for Ast { - fn from(node: ExceptHandler) -> Self { - Ast::ExceptHandler(node) - } -} - -impl From for Ast { - fn from(node: Arguments) -> Self { - Ast::Arguments(node) - } -} - -impl From for Ast { - fn from(node: Arg) -> Self { - Ast::Arg(node) - } -} - -impl From for Ast { - fn from(node: Keyword) -> Self { - Ast::Keyword(node) - } -} - -impl From for Ast { - fn from(node: Alias) -> Self { - Ast::Alias(node) - } -} - -impl From for Ast { - fn from(node: WithItem) -> Self { - Ast::WithItem(node) - } -} - -impl From for Ast { - fn from(node: MatchCase) -> Self { - Ast::MatchCase(node) - } -} - -impl From for Ast { - fn from(node: Pattern) -> Self { - Ast::Pattern(node) - } -} - -impl From for Ast { - fn from(node: TypeIgnore) -> Self { - Ast::TypeIgnore(node) - } -} - -impl From for Ast { - fn from(node: Decorator) -> Self { - Ast::Decorator(node) - } -} - -/// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Mod { - Module(ModModule), - Interactive(ModInteractive), - Expression(ModExpression), - FunctionType(ModFunctionType), -} - -/// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module) -#[derive(Clone, Debug, PartialEq)] -pub struct ModModule { - pub range: TextRange, - pub body: Vec, - pub type_ignores: Vec, -} - -impl Node for ModModule { - const NAME: &'static str = "Module"; - const FIELD_NAMES: &'static [&'static str] = &["body", "type_ignores"]; -} -impl From for Mod { - fn from(payload: ModModule) -> Self { - Mod::Module(payload) - } -} -impl From for Ast { - fn from(payload: ModModule) -> Self { - Mod::from(payload).into() - } -} - -/// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive) -#[derive(Clone, Debug, PartialEq)] -pub struct ModInteractive { - pub range: TextRange, - pub body: Vec, -} - -impl Node for ModInteractive { - const NAME: &'static str = "Interactive"; - const FIELD_NAMES: &'static [&'static str] = &["body"]; -} -impl From for Mod { - fn from(payload: ModInteractive) -> Self { - Mod::Interactive(payload) - } -} -impl From for Ast { - fn from(payload: ModInteractive) -> Self { - Mod::from(payload).into() - } -} - -/// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression) -#[derive(Clone, Debug, PartialEq)] -pub struct ModExpression { - pub range: TextRange, - pub body: Box, -} - -impl Node for ModExpression { - const NAME: &'static str = "Expression"; - const FIELD_NAMES: &'static [&'static str] = &["body"]; -} -impl From for Mod { - fn from(payload: ModExpression) -> Self { - Mod::Expression(payload) - } -} -impl From for Ast { - fn from(payload: ModExpression) -> Self { - Mod::from(payload).into() - } -} - -/// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType) -#[derive(Clone, Debug, PartialEq)] -pub struct ModFunctionType { - pub range: TextRange, - pub argtypes: Vec, - pub returns: Box, -} - -impl Node for ModFunctionType { - const NAME: &'static str = "FunctionType"; - const FIELD_NAMES: &'static [&'static str] = &["argtypes", "returns"]; -} -impl From for Mod { - fn from(payload: ModFunctionType) -> Self { - Mod::FunctionType(payload) - } -} -impl From for Ast { - fn from(payload: ModFunctionType) -> Self { - Mod::from(payload).into() - } -} - -impl Node for Mod { - const NAME: &'static str = "mod"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Stmt { - #[is(name = "function_def_stmt")] - FunctionDef(StmtFunctionDef), - #[is(name = "async_function_def_stmt")] - AsyncFunctionDef(StmtAsyncFunctionDef), - #[is(name = "class_def_stmt")] - ClassDef(StmtClassDef), - #[is(name = "return_stmt")] - Return(StmtReturn), - #[is(name = "delete_stmt")] - Delete(StmtDelete), - #[is(name = "assign_stmt")] - Assign(StmtAssign), - #[is(name = "aug_assign_stmt")] - AugAssign(StmtAugAssign), - #[is(name = "ann_assign_stmt")] - AnnAssign(StmtAnnAssign), - #[is(name = "for_stmt")] - For(StmtFor), - #[is(name = "async_for_stmt")] - AsyncFor(StmtAsyncFor), - #[is(name = "while_stmt")] - While(StmtWhile), - #[is(name = "if_stmt")] - If(StmtIf), - #[is(name = "with_stmt")] - With(StmtWith), - #[is(name = "async_with_stmt")] - AsyncWith(StmtAsyncWith), - #[is(name = "match_stmt")] - Match(StmtMatch), - #[is(name = "raise_stmt")] - Raise(StmtRaise), - #[is(name = "try_stmt")] - Try(StmtTry), - #[is(name = "try_star_stmt")] - TryStar(StmtTryStar), - #[is(name = "assert_stmt")] - Assert(StmtAssert), - #[is(name = "import_stmt")] - Import(StmtImport), - #[is(name = "import_from_stmt")] - ImportFrom(StmtImportFrom), - #[is(name = "global_stmt")] - Global(StmtGlobal), - #[is(name = "nonlocal_stmt")] - Nonlocal(StmtNonlocal), - #[is(name = "expr_stmt")] - Expr(StmtExpr), - #[is(name = "pass_stmt")] - Pass(StmtPass), - #[is(name = "break_stmt")] - Break(StmtBreak), - #[is(name = "continue_stmt")] - Continue(StmtContinue), -} - -/// See also [FunctionDef](https://docs.python.org/3/library/ast.html#ast.FunctionDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtFunctionDef { - pub range: TextRange, - pub name: Identifier, - pub args: Box, - pub body: Vec, - pub decorator_list: Vec, - pub returns: Option>, - pub type_comment: Option, -} - -impl Node for StmtFunctionDef { - const NAME: &'static str = "FunctionDef"; - const FIELD_NAMES: &'static [&'static str] = &[ - "name", - "args", - "body", - "decorator_list", - "returns", - "type_comment", - ]; -} -impl From for Stmt { - fn from(payload: StmtFunctionDef) -> Self { - Stmt::FunctionDef(payload) - } -} -impl From for Ast { - fn from(payload: StmtFunctionDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncFunctionDef](https://docs.python.org/3/library/ast.html#ast.AsyncFunctionDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFunctionDef { - pub range: TextRange, - pub name: Identifier, - pub args: Box, - pub body: Vec, - pub decorator_list: Vec, - pub returns: Option>, - pub type_comment: Option, -} - -impl Node for StmtAsyncFunctionDef { - const NAME: &'static str = "AsyncFunctionDef"; - const FIELD_NAMES: &'static [&'static str] = &[ - "name", - "args", - "body", - "decorator_list", - "returns", - "type_comment", - ]; -} -impl From for Stmt { - fn from(payload: StmtAsyncFunctionDef) -> Self { - Stmt::AsyncFunctionDef(payload) - } -} -impl From for Ast { - fn from(payload: StmtAsyncFunctionDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [ClassDef](https://docs.python.org/3/library/ast.html#ast.ClassDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtClassDef { - pub range: TextRange, - pub name: Identifier, - pub bases: Vec, - pub keywords: Vec, - pub body: Vec, - pub decorator_list: Vec, -} - -impl Node for StmtClassDef { - const NAME: &'static str = "ClassDef"; - const FIELD_NAMES: &'static [&'static str] = - &["name", "bases", "keywords", "body", "decorator_list"]; -} -impl From for Stmt { - fn from(payload: StmtClassDef) -> Self { - Stmt::ClassDef(payload) - } -} -impl From for Ast { - fn from(payload: StmtClassDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Return](https://docs.python.org/3/library/ast.html#ast.Return) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtReturn { - pub range: TextRange, - pub value: Option>, -} - -impl Node for StmtReturn { - const NAME: &'static str = "Return"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Stmt { - fn from(payload: StmtReturn) -> Self { - Stmt::Return(payload) - } -} -impl From for Ast { - fn from(payload: StmtReturn) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Delete](https://docs.python.org/3/library/ast.html#ast.Delete) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtDelete { - pub range: TextRange, - pub targets: Vec, -} - -impl Node for StmtDelete { - const NAME: &'static str = "Delete"; - const FIELD_NAMES: &'static [&'static str] = &["targets"]; -} -impl From for Stmt { - fn from(payload: StmtDelete) -> Self { - Stmt::Delete(payload) - } -} -impl From for Ast { - fn from(payload: StmtDelete) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Assign](https://docs.python.org/3/library/ast.html#ast.Assign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAssign { - pub range: TextRange, - pub targets: Vec, - pub value: Box, - pub type_comment: Option, -} - -impl Node for StmtAssign { - const NAME: &'static str = "Assign"; - const FIELD_NAMES: &'static [&'static str] = &["targets", "value", "type_comment"]; -} -impl From for Stmt { - fn from(payload: StmtAssign) -> Self { - Stmt::Assign(payload) - } -} -impl From for Ast { - fn from(payload: StmtAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AugAssign](https://docs.python.org/3/library/ast.html#ast.AugAssign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAugAssign { - pub range: TextRange, - pub target: Box, - pub op: Operator, - pub value: Box, -} - -impl Node for StmtAugAssign { - const NAME: &'static str = "AugAssign"; - const FIELD_NAMES: &'static [&'static str] = &["target", "op", "value"]; -} -impl From for Stmt { - fn from(payload: StmtAugAssign) -> Self { - Stmt::AugAssign(payload) - } -} -impl From for Ast { - fn from(payload: StmtAugAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AnnAssign](https://docs.python.org/3/library/ast.html#ast.AnnAssign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAnnAssign { - pub range: TextRange, - pub target: Box, - pub annotation: Box, - pub value: Option>, - pub simple: bool, -} - -impl Node for StmtAnnAssign { - const NAME: &'static str = "AnnAssign"; - const FIELD_NAMES: &'static [&'static str] = &["target", "annotation", "value", "simple"]; -} -impl From for Stmt { - fn from(payload: StmtAnnAssign) -> Self { - Stmt::AnnAssign(payload) - } -} -impl From for Ast { - fn from(payload: StmtAnnAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [For](https://docs.python.org/3/library/ast.html#ast.For) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtFor { - pub range: TextRange, - pub target: Box, - pub iter: Box, - pub body: Vec, - pub orelse: Vec, - pub type_comment: Option, -} - -impl Node for StmtFor { - const NAME: &'static str = "For"; - const FIELD_NAMES: &'static [&'static str] = - &["target", "iter", "body", "orelse", "type_comment"]; -} -impl From for Stmt { - fn from(payload: StmtFor) -> Self { - Stmt::For(payload) - } -} -impl From for Ast { - fn from(payload: StmtFor) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncFor](https://docs.python.org/3/library/ast.html#ast.AsyncFor) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFor { - pub range: TextRange, - pub target: Box, - pub iter: Box, - pub body: Vec, - pub orelse: Vec, - pub type_comment: Option, -} - -impl Node for StmtAsyncFor { - const NAME: &'static str = "AsyncFor"; - const FIELD_NAMES: &'static [&'static str] = - &["target", "iter", "body", "orelse", "type_comment"]; -} -impl From for Stmt { - fn from(payload: StmtAsyncFor) -> Self { - Stmt::AsyncFor(payload) - } -} -impl From for Ast { - fn from(payload: StmtAsyncFor) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [While](https://docs.python.org/3/library/ast.html#ast.While) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtWhile { - pub range: TextRange, - pub test: Box, - pub body: Vec, - pub orelse: Vec, -} - -impl Node for StmtWhile { - const NAME: &'static str = "While"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From for Stmt { - fn from(payload: StmtWhile) -> Self { - Stmt::While(payload) - } -} -impl From for Ast { - fn from(payload: StmtWhile) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [If](https://docs.python.org/3/library/ast.html#ast.If) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtIf { - pub range: TextRange, - pub test: Box, - pub body: Vec, - pub orelse: Vec, -} - -impl Node for StmtIf { - const NAME: &'static str = "If"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From for Stmt { - fn from(payload: StmtIf) -> Self { - Stmt::If(payload) - } -} -impl From for Ast { - fn from(payload: StmtIf) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [With](https://docs.python.org/3/library/ast.html#ast.With) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtWith { - pub range: TextRange, - pub items: Vec, - pub body: Vec, - pub type_comment: Option, -} - -impl Node for StmtWith { - const NAME: &'static str = "With"; - const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; -} -impl From for Stmt { - fn from(payload: StmtWith) -> Self { - Stmt::With(payload) - } -} -impl From for Ast { - fn from(payload: StmtWith) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncWith](https://docs.python.org/3/library/ast.html#ast.AsyncWith) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncWith { - pub range: TextRange, - pub items: Vec, - pub body: Vec, - pub type_comment: Option, -} - -impl Node for StmtAsyncWith { - const NAME: &'static str = "AsyncWith"; - const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; -} -impl From for Stmt { - fn from(payload: StmtAsyncWith) -> Self { - Stmt::AsyncWith(payload) - } -} -impl From for Ast { - fn from(payload: StmtAsyncWith) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Match](https://docs.python.org/3/library/ast.html#ast.Match) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtMatch { - pub range: TextRange, - pub subject: Box, - pub cases: Vec, -} - -impl Node for StmtMatch { - const NAME: &'static str = "Match"; - const FIELD_NAMES: &'static [&'static str] = &["subject", "cases"]; -} -impl From for Stmt { - fn from(payload: StmtMatch) -> Self { - Stmt::Match(payload) - } -} -impl From for Ast { - fn from(payload: StmtMatch) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Raise](https://docs.python.org/3/library/ast.html#ast.Raise) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtRaise { - pub range: TextRange, - pub exc: Option>, - pub cause: Option>, -} - -impl Node for StmtRaise { - const NAME: &'static str = "Raise"; - const FIELD_NAMES: &'static [&'static str] = &["exc", "cause"]; -} -impl From for Stmt { - fn from(payload: StmtRaise) -> Self { - Stmt::Raise(payload) - } -} -impl From for Ast { - fn from(payload: StmtRaise) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Try](https://docs.python.org/3/library/ast.html#ast.Try) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtTry { - pub range: TextRange, - pub body: Vec, - pub handlers: Vec, - pub orelse: Vec, - pub finalbody: Vec, -} - -impl Node for StmtTry { - const NAME: &'static str = "Try"; - const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; -} -impl From for Stmt { - fn from(payload: StmtTry) -> Self { - Stmt::Try(payload) - } -} -impl From for Ast { - fn from(payload: StmtTry) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [TryStar](https://docs.python.org/3/library/ast.html#ast.TryStar) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtTryStar { - pub range: TextRange, - pub body: Vec, - pub handlers: Vec, - pub orelse: Vec, - pub finalbody: Vec, -} - -impl Node for StmtTryStar { - const NAME: &'static str = "TryStar"; - const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; -} -impl From for Stmt { - fn from(payload: StmtTryStar) -> Self { - Stmt::TryStar(payload) - } -} -impl From for Ast { - fn from(payload: StmtTryStar) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Assert](https://docs.python.org/3/library/ast.html#ast.Assert) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAssert { - pub range: TextRange, - pub test: Box, - pub msg: Option>, -} - -impl Node for StmtAssert { - const NAME: &'static str = "Assert"; - const FIELD_NAMES: &'static [&'static str] = &["test", "msg"]; -} -impl From for Stmt { - fn from(payload: StmtAssert) -> Self { - Stmt::Assert(payload) - } -} -impl From for Ast { - fn from(payload: StmtAssert) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Import](https://docs.python.org/3/library/ast.html#ast.Import) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtImport { - pub range: TextRange, - pub names: Vec, -} - -impl Node for StmtImport { - const NAME: &'static str = "Import"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From for Stmt { - fn from(payload: StmtImport) -> Self { - Stmt::Import(payload) - } -} -impl From for Ast { - fn from(payload: StmtImport) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [ImportFrom](https://docs.python.org/3/library/ast.html#ast.ImportFrom) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtImportFrom { - pub range: TextRange, - pub module: Option, - pub names: Vec, - pub level: Option, -} - -impl Node for StmtImportFrom { - const NAME: &'static str = "ImportFrom"; - const FIELD_NAMES: &'static [&'static str] = &["module", "names", "level"]; -} -impl From for Stmt { - fn from(payload: StmtImportFrom) -> Self { - Stmt::ImportFrom(payload) - } -} -impl From for Ast { - fn from(payload: StmtImportFrom) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Global](https://docs.python.org/3/library/ast.html#ast.Global) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtGlobal { - pub range: TextRange, - pub names: Vec, -} - -impl Node for StmtGlobal { - const NAME: &'static str = "Global"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From for Stmt { - fn from(payload: StmtGlobal) -> Self { - Stmt::Global(payload) - } -} -impl From for Ast { - fn from(payload: StmtGlobal) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Nonlocal](https://docs.python.org/3/library/ast.html#ast.Nonlocal) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtNonlocal { - pub range: TextRange, - pub names: Vec, -} - -impl Node for StmtNonlocal { - const NAME: &'static str = "Nonlocal"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From for Stmt { - fn from(payload: StmtNonlocal) -> Self { - Stmt::Nonlocal(payload) - } -} -impl From for Ast { - fn from(payload: StmtNonlocal) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Expr](https://docs.python.org/3/library/ast.html#ast.Expr) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtExpr { - pub range: TextRange, - pub value: Box, -} - -impl Node for StmtExpr { - const NAME: &'static str = "Expr"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Stmt { - fn from(payload: StmtExpr) -> Self { - Stmt::Expr(payload) - } -} -impl From for Ast { - fn from(payload: StmtExpr) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Pass](https://docs.python.org/3/library/ast.html#ast.Pass) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtPass { - pub range: TextRange, -} - -impl Node for StmtPass { - const NAME: &'static str = "Pass"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From for Stmt { - fn from(payload: StmtPass) -> Self { - Stmt::Pass(payload) - } -} -impl From for Ast { - fn from(payload: StmtPass) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Break](https://docs.python.org/3/library/ast.html#ast.Break) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtBreak { - pub range: TextRange, -} - -impl Node for StmtBreak { - const NAME: &'static str = "Break"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From for Stmt { - fn from(payload: StmtBreak) -> Self { - Stmt::Break(payload) - } -} -impl From for Ast { - fn from(payload: StmtBreak) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Continue](https://docs.python.org/3/library/ast.html#ast.Continue) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtContinue { - pub range: TextRange, -} - -impl Node for StmtContinue { - const NAME: &'static str = "Continue"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From for Stmt { - fn from(payload: StmtContinue) -> Self { - Stmt::Continue(payload) - } -} -impl From for Ast { - fn from(payload: StmtContinue) -> Self { - Stmt::from(payload).into() - } -} - -impl Node for Stmt { - const NAME: &'static str = "stmt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [expr](https://docs.python.org/3/library/ast.html#ast.expr) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Expr { - #[is(name = "bool_op_expr")] - BoolOp(ExprBoolOp), - #[is(name = "named_expr_expr")] - NamedExpr(ExprNamedExpr), - #[is(name = "bin_op_expr")] - BinOp(ExprBinOp), - #[is(name = "unary_op_expr")] - UnaryOp(ExprUnaryOp), - #[is(name = "lambda_expr")] - Lambda(ExprLambda), - #[is(name = "if_exp_expr")] - IfExp(ExprIfExp), - #[is(name = "dict_expr")] - Dict(ExprDict), - #[is(name = "set_expr")] - Set(ExprSet), - #[is(name = "list_comp_expr")] - ListComp(ExprListComp), - #[is(name = "set_comp_expr")] - SetComp(ExprSetComp), - #[is(name = "dict_comp_expr")] - DictComp(ExprDictComp), - #[is(name = "generator_exp_expr")] - GeneratorExp(ExprGeneratorExp), - #[is(name = "await_expr")] - Await(ExprAwait), - #[is(name = "yield_expr")] - Yield(ExprYield), - #[is(name = "yield_from_expr")] - YieldFrom(ExprYieldFrom), - #[is(name = "compare_expr")] - Compare(ExprCompare), - #[is(name = "call_expr")] - Call(ExprCall), - #[is(name = "formatted_value_expr")] - FormattedValue(ExprFormattedValue), - #[is(name = "joined_str_expr")] - JoinedStr(ExprJoinedStr), - #[is(name = "constant_expr")] - Constant(ExprConstant), - #[is(name = "attribute_expr")] - Attribute(ExprAttribute), - #[is(name = "subscript_expr")] - Subscript(ExprSubscript), - #[is(name = "starred_expr")] - Starred(ExprStarred), - #[is(name = "name_expr")] - Name(ExprName), - #[is(name = "list_expr")] - List(ExprList), - #[is(name = "tuple_expr")] - Tuple(ExprTuple), - #[is(name = "slice_expr")] - Slice(ExprSlice), -} - -/// See also [BoolOp](https://docs.python.org/3/library/ast.html#ast.BoolOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprBoolOp { - pub range: TextRange, - pub op: BoolOp, - pub values: Vec, -} - -impl Node for ExprBoolOp { - const NAME: &'static str = "BoolOp"; - const FIELD_NAMES: &'static [&'static str] = &["op", "values"]; -} -impl From for Expr { - fn from(payload: ExprBoolOp) -> Self { - Expr::BoolOp(payload) - } -} -impl From for Ast { - fn from(payload: ExprBoolOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [NamedExpr](https://docs.python.org/3/library/ast.html#ast.NamedExpr) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprNamedExpr { - pub range: TextRange, - pub target: Box, - pub value: Box, -} - -impl Node for ExprNamedExpr { - const NAME: &'static str = "NamedExpr"; - const FIELD_NAMES: &'static [&'static str] = &["target", "value"]; -} -impl From for Expr { - fn from(payload: ExprNamedExpr) -> Self { - Expr::NamedExpr(payload) - } -} -impl From for Ast { - fn from(payload: ExprNamedExpr) -> Self { - Expr::from(payload).into() - } -} - -/// See also [BinOp](https://docs.python.org/3/library/ast.html#ast.BinOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprBinOp { - pub range: TextRange, - pub left: Box, - pub op: Operator, - pub right: Box, -} - -impl Node for ExprBinOp { - const NAME: &'static str = "BinOp"; - const FIELD_NAMES: &'static [&'static str] = &["left", "op", "right"]; -} -impl From for Expr { - fn from(payload: ExprBinOp) -> Self { - Expr::BinOp(payload) - } -} -impl From for Ast { - fn from(payload: ExprBinOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [UnaryOp](https://docs.python.org/3/library/ast.html#ast.UnaryOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprUnaryOp { - pub range: TextRange, - pub op: UnaryOp, - pub operand: Box, -} - -impl Node for ExprUnaryOp { - const NAME: &'static str = "UnaryOp"; - const FIELD_NAMES: &'static [&'static str] = &["op", "operand"]; -} -impl From for Expr { - fn from(payload: ExprUnaryOp) -> Self { - Expr::UnaryOp(payload) - } -} -impl From for Ast { - fn from(payload: ExprUnaryOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Lambda](https://docs.python.org/3/library/ast.html#ast.Lambda) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprLambda { - pub range: TextRange, - pub args: Box, - pub body: Box, -} - -impl Node for ExprLambda { - const NAME: &'static str = "Lambda"; - const FIELD_NAMES: &'static [&'static str] = &["args", "body"]; -} -impl From for Expr { - fn from(payload: ExprLambda) -> Self { - Expr::Lambda(payload) - } -} -impl From for Ast { - fn from(payload: ExprLambda) -> Self { - Expr::from(payload).into() - } -} - -/// See also [IfExp](https://docs.python.org/3/library/ast.html#ast.IfExp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprIfExp { - pub range: TextRange, - pub test: Box, - pub body: Box, - pub orelse: Box, -} - -impl Node for ExprIfExp { - const NAME: &'static str = "IfExp"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From for Expr { - fn from(payload: ExprIfExp) -> Self { - Expr::IfExp(payload) - } -} -impl From for Ast { - fn from(payload: ExprIfExp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Dict](https://docs.python.org/3/library/ast.html#ast.Dict) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprDict { - pub range: TextRange, - pub keys: Vec>, - pub values: Vec, -} - -impl Node for ExprDict { - const NAME: &'static str = "Dict"; - const FIELD_NAMES: &'static [&'static str] = &["keys", "values"]; -} -impl From for Expr { - fn from(payload: ExprDict) -> Self { - Expr::Dict(payload) - } -} -impl From for Ast { - fn from(payload: ExprDict) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Set](https://docs.python.org/3/library/ast.html#ast.Set) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSet { - pub range: TextRange, - pub elts: Vec, -} - -impl Node for ExprSet { - const NAME: &'static str = "Set"; - const FIELD_NAMES: &'static [&'static str] = &["elts"]; -} -impl From for Expr { - fn from(payload: ExprSet) -> Self { - Expr::Set(payload) - } -} -impl From for Ast { - fn from(payload: ExprSet) -> Self { - Expr::from(payload).into() - } -} - -/// See also [ListComp](https://docs.python.org/3/library/ast.html#ast.ListComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprListComp { - pub range: TextRange, - pub elt: Box, - pub generators: Vec, -} - -impl Node for ExprListComp { - const NAME: &'static str = "ListComp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From for Expr { - fn from(payload: ExprListComp) -> Self { - Expr::ListComp(payload) - } -} -impl From for Ast { - fn from(payload: ExprListComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [SetComp](https://docs.python.org/3/library/ast.html#ast.SetComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSetComp { - pub range: TextRange, - pub elt: Box, - pub generators: Vec, -} - -impl Node for ExprSetComp { - const NAME: &'static str = "SetComp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From for Expr { - fn from(payload: ExprSetComp) -> Self { - Expr::SetComp(payload) - } -} -impl From for Ast { - fn from(payload: ExprSetComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [DictComp](https://docs.python.org/3/library/ast.html#ast.DictComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprDictComp { - pub range: TextRange, - pub key: Box, - pub value: Box, - pub generators: Vec, -} - -impl Node for ExprDictComp { - const NAME: &'static str = "DictComp"; - const FIELD_NAMES: &'static [&'static str] = &["key", "value", "generators"]; -} -impl From for Expr { - fn from(payload: ExprDictComp) -> Self { - Expr::DictComp(payload) - } -} -impl From for Ast { - fn from(payload: ExprDictComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [GeneratorExp](https://docs.python.org/3/library/ast.html#ast.GeneratorExp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprGeneratorExp { - pub range: TextRange, - pub elt: Box, - pub generators: Vec, -} - -impl Node for ExprGeneratorExp { - const NAME: &'static str = "GeneratorExp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From for Expr { - fn from(payload: ExprGeneratorExp) -> Self { - Expr::GeneratorExp(payload) - } -} -impl From for Ast { - fn from(payload: ExprGeneratorExp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Await](https://docs.python.org/3/library/ast.html#ast.Await) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprAwait { - pub range: TextRange, - pub value: Box, -} - -impl Node for ExprAwait { - const NAME: &'static str = "Await"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Expr { - fn from(payload: ExprAwait) -> Self { - Expr::Await(payload) - } -} -impl From for Ast { - fn from(payload: ExprAwait) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Yield](https://docs.python.org/3/library/ast.html#ast.Yield) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprYield { - pub range: TextRange, - pub value: Option>, -} - -impl Node for ExprYield { - const NAME: &'static str = "Yield"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Expr { - fn from(payload: ExprYield) -> Self { - Expr::Yield(payload) - } -} -impl From for Ast { - fn from(payload: ExprYield) -> Self { - Expr::from(payload).into() - } -} - -/// See also [YieldFrom](https://docs.python.org/3/library/ast.html#ast.YieldFrom) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprYieldFrom { - pub range: TextRange, - pub value: Box, -} - -impl Node for ExprYieldFrom { - const NAME: &'static str = "YieldFrom"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Expr { - fn from(payload: ExprYieldFrom) -> Self { - Expr::YieldFrom(payload) - } -} -impl From for Ast { - fn from(payload: ExprYieldFrom) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Compare](https://docs.python.org/3/library/ast.html#ast.Compare) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprCompare { - pub range: TextRange, - pub left: Box, - pub ops: Vec, - pub comparators: Vec, -} - -impl Node for ExprCompare { - const NAME: &'static str = "Compare"; - const FIELD_NAMES: &'static [&'static str] = &["left", "ops", "comparators"]; -} -impl From for Expr { - fn from(payload: ExprCompare) -> Self { - Expr::Compare(payload) - } -} -impl From for Ast { - fn from(payload: ExprCompare) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Call](https://docs.python.org/3/library/ast.html#ast.Call) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprCall { - pub range: TextRange, - pub func: Box, - pub args: Vec, - pub keywords: Vec, -} - -impl Node for ExprCall { - const NAME: &'static str = "Call"; - const FIELD_NAMES: &'static [&'static str] = &["func", "args", "keywords"]; -} -impl From for Expr { - fn from(payload: ExprCall) -> Self { - Expr::Call(payload) - } -} -impl From for Ast { - fn from(payload: ExprCall) -> Self { - Expr::from(payload).into() - } -} - -/// See also [FormattedValue](https://docs.python.org/3/library/ast.html#ast.FormattedValue) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprFormattedValue { - pub range: TextRange, - pub value: Box, - pub conversion: ConversionFlag, - pub format_spec: Option>, -} - -impl Node for ExprFormattedValue { - const NAME: &'static str = "FormattedValue"; - const FIELD_NAMES: &'static [&'static str] = &["value", "conversion", "format_spec"]; -} -impl From for Expr { - fn from(payload: ExprFormattedValue) -> Self { - Expr::FormattedValue(payload) - } -} -impl From for Ast { - fn from(payload: ExprFormattedValue) -> Self { - Expr::from(payload).into() - } -} - -/// See also [JoinedStr](https://docs.python.org/3/library/ast.html#ast.JoinedStr) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprJoinedStr { - pub range: TextRange, - pub values: Vec, -} - -impl Node for ExprJoinedStr { - const NAME: &'static str = "JoinedStr"; - const FIELD_NAMES: &'static [&'static str] = &["values"]; -} -impl From for Expr { - fn from(payload: ExprJoinedStr) -> Self { - Expr::JoinedStr(payload) - } -} -impl From for Ast { - fn from(payload: ExprJoinedStr) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Constant](https://docs.python.org/3/library/ast.html#ast.Constant) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprConstant { - pub range: TextRange, - pub value: Constant, - pub kind: Option, -} - -impl Node for ExprConstant { - const NAME: &'static str = "Constant"; - const FIELD_NAMES: &'static [&'static str] = &["value", "kind"]; -} -impl From for Expr { - fn from(payload: ExprConstant) -> Self { - Expr::Constant(payload) - } -} -impl From for Ast { - fn from(payload: ExprConstant) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Attribute](https://docs.python.org/3/library/ast.html#ast.Attribute) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprAttribute { - pub range: TextRange, - pub value: Box, - pub attr: Identifier, - pub ctx: ExprContext, -} - -impl Node for ExprAttribute { - const NAME: &'static str = "Attribute"; - const FIELD_NAMES: &'static [&'static str] = &["value", "attr", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprAttribute) -> Self { - Expr::Attribute(payload) - } -} -impl From for Ast { - fn from(payload: ExprAttribute) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Subscript](https://docs.python.org/3/library/ast.html#ast.Subscript) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSubscript { - pub range: TextRange, - pub value: Box, - pub slice: Box, - pub ctx: ExprContext, -} - -impl Node for ExprSubscript { - const NAME: &'static str = "Subscript"; - const FIELD_NAMES: &'static [&'static str] = &["value", "slice", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprSubscript) -> Self { - Expr::Subscript(payload) - } -} -impl From for Ast { - fn from(payload: ExprSubscript) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Starred](https://docs.python.org/3/library/ast.html#ast.Starred) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprStarred { - pub range: TextRange, - pub value: Box, - pub ctx: ExprContext, -} - -impl Node for ExprStarred { - const NAME: &'static str = "Starred"; - const FIELD_NAMES: &'static [&'static str] = &["value", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprStarred) -> Self { - Expr::Starred(payload) - } -} -impl From for Ast { - fn from(payload: ExprStarred) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Name](https://docs.python.org/3/library/ast.html#ast.Name) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprName { - pub range: TextRange, - pub id: String, - pub ctx: ExprContext, -} - -impl Node for ExprName { - const NAME: &'static str = "Name"; - const FIELD_NAMES: &'static [&'static str] = &["id", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprName) -> Self { - Expr::Name(payload) - } -} -impl From for Ast { - fn from(payload: ExprName) -> Self { - Expr::from(payload).into() - } -} - -/// See also [List](https://docs.python.org/3/library/ast.html#ast.List) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprList { - pub range: TextRange, - pub elts: Vec, - pub ctx: ExprContext, -} - -impl Node for ExprList { - const NAME: &'static str = "List"; - const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprList) -> Self { - Expr::List(payload) - } -} -impl From for Ast { - fn from(payload: ExprList) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Tuple](https://docs.python.org/3/library/ast.html#ast.Tuple) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprTuple { - pub range: TextRange, - pub elts: Vec, - pub ctx: ExprContext, -} - -impl Node for ExprTuple { - const NAME: &'static str = "Tuple"; - const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; -} -impl From for Expr { - fn from(payload: ExprTuple) -> Self { - Expr::Tuple(payload) - } -} -impl From for Ast { - fn from(payload: ExprTuple) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Slice](https://docs.python.org/3/library/ast.html#ast.Slice) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSlice { - pub range: TextRange, - pub lower: Option>, - pub upper: Option>, - pub step: Option>, -} - -impl Node for ExprSlice { - const NAME: &'static str = "Slice"; - const FIELD_NAMES: &'static [&'static str] = &["lower", "upper", "step"]; -} -impl From for Expr { - fn from(payload: ExprSlice) -> Self { - Expr::Slice(payload) - } -} -impl From for Ast { - fn from(payload: ExprSlice) -> Self { - Expr::from(payload).into() - } -} - -impl Node for Expr { - const NAME: &'static str = "expr"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [expr_context](https://docs.python.org/3/library/ast.html#ast.expr_context) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum ExprContext { - Load, - Store, - Del, -} -impl ExprContext { - #[inline] - pub const fn load(&self) -> Option { - match self { - ExprContext::Load => Some(ExprContextLoad), - _ => None, - } - } - - #[inline] - pub const fn store(&self) -> Option { - match self { - ExprContext::Store => Some(ExprContextStore), - _ => None, - } - } - - #[inline] - pub const fn del(&self) -> Option { - match self { - ExprContext::Del => Some(ExprContextDel), - _ => None, - } - } -} - -pub struct ExprContextLoad; -impl From for ExprContext { - fn from(_: ExprContextLoad) -> Self { - ExprContext::Load - } -} -impl From for Ast { - fn from(_: ExprContextLoad) -> Self { - ExprContext::Load.into() - } -} -impl Node for ExprContextLoad { - const NAME: &'static str = "Load"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextLoad { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Load) - } -} - -pub struct ExprContextStore; -impl From for ExprContext { - fn from(_: ExprContextStore) -> Self { - ExprContext::Store - } -} -impl From for Ast { - fn from(_: ExprContextStore) -> Self { - ExprContext::Store.into() - } -} -impl Node for ExprContextStore { - const NAME: &'static str = "Store"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextStore { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Store) - } -} - -pub struct ExprContextDel; -impl From for ExprContext { - fn from(_: ExprContextDel) -> Self { - ExprContext::Del - } -} -impl From for Ast { - fn from(_: ExprContextDel) -> Self { - ExprContext::Del.into() - } -} -impl Node for ExprContextDel { - const NAME: &'static str = "Del"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextDel { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Del) - } -} - -impl Node for ExprContext { - const NAME: &'static str = "expr_context"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [boolop](https://docs.python.org/3/library/ast.html#ast.boolop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum BoolOp { - And, - Or, -} -impl BoolOp { - #[inline] - pub const fn and(&self) -> Option { - match self { - BoolOp::And => Some(BoolOpAnd), - _ => None, - } - } - - #[inline] - pub const fn or(&self) -> Option { - match self { - BoolOp::Or => Some(BoolOpOr), - _ => None, - } - } -} - -pub struct BoolOpAnd; -impl From for BoolOp { - fn from(_: BoolOpAnd) -> Self { - BoolOp::And - } -} -impl From for Ast { - fn from(_: BoolOpAnd) -> Self { - BoolOp::And.into() - } -} -impl Node for BoolOpAnd { - const NAME: &'static str = "And"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for BoolOpAnd { - #[inline] - fn eq(&self, other: &BoolOp) -> bool { - matches!(other, BoolOp::And) - } -} - -pub struct BoolOpOr; -impl From for BoolOp { - fn from(_: BoolOpOr) -> Self { - BoolOp::Or - } -} -impl From for Ast { - fn from(_: BoolOpOr) -> Self { - BoolOp::Or.into() - } -} -impl Node for BoolOpOr { - const NAME: &'static str = "Or"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for BoolOpOr { - #[inline] - fn eq(&self, other: &BoolOp) -> bool { - matches!(other, BoolOp::Or) - } -} - -impl Node for BoolOp { - const NAME: &'static str = "boolop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [operator](https://docs.python.org/3/library/ast.html#ast.operator) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum Operator { - Add, - Sub, - Mult, - MatMult, - Div, - Mod, - Pow, - LShift, - RShift, - BitOr, - BitXor, - BitAnd, - FloorDiv, -} -impl Operator { - #[inline] - pub const fn operator_add(&self) -> Option { - match self { - Operator::Add => Some(OperatorAdd), - _ => None, - } - } - - #[inline] - pub const fn operator_sub(&self) -> Option { - match self { - Operator::Sub => Some(OperatorSub), - _ => None, - } - } - - #[inline] - pub const fn operator_mult(&self) -> Option { - match self { - Operator::Mult => Some(OperatorMult), - _ => None, - } - } - - #[inline] - pub const fn operator_mat_mult(&self) -> Option { - match self { - Operator::MatMult => Some(OperatorMatMult), - _ => None, - } - } - - #[inline] - pub const fn operator_div(&self) -> Option { - match self { - Operator::Div => Some(OperatorDiv), - _ => None, - } - } - - #[inline] - pub const fn operator_mod(&self) -> Option { - match self { - Operator::Mod => Some(OperatorMod), - _ => None, - } - } - - #[inline] - pub const fn operator_pow(&self) -> Option { - match self { - Operator::Pow => Some(OperatorPow), - _ => None, - } - } - - #[inline] - pub const fn operator_l_shift(&self) -> Option { - match self { - Operator::LShift => Some(OperatorLShift), - _ => None, - } - } - - #[inline] - pub const fn operator_r_shift(&self) -> Option { - match self { - Operator::RShift => Some(OperatorRShift), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_or(&self) -> Option { - match self { - Operator::BitOr => Some(OperatorBitOr), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_xor(&self) -> Option { - match self { - Operator::BitXor => Some(OperatorBitXor), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_and(&self) -> Option { - match self { - Operator::BitAnd => Some(OperatorBitAnd), - _ => None, - } - } - - #[inline] - pub const fn operator_floor_div(&self) -> Option { - match self { - Operator::FloorDiv => Some(OperatorFloorDiv), - _ => None, - } - } -} - -pub struct OperatorAdd; -impl From for Operator { - fn from(_: OperatorAdd) -> Self { - Operator::Add - } -} -impl From for Ast { - fn from(_: OperatorAdd) -> Self { - Operator::Add.into() - } -} -impl Node for OperatorAdd { - const NAME: &'static str = "Add"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorAdd { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Add) - } -} - -pub struct OperatorSub; -impl From for Operator { - fn from(_: OperatorSub) -> Self { - Operator::Sub - } -} -impl From for Ast { - fn from(_: OperatorSub) -> Self { - Operator::Sub.into() - } -} -impl Node for OperatorSub { - const NAME: &'static str = "Sub"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorSub { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Sub) - } -} - -pub struct OperatorMult; -impl From for Operator { - fn from(_: OperatorMult) -> Self { - Operator::Mult - } -} -impl From for Ast { - fn from(_: OperatorMult) -> Self { - Operator::Mult.into() - } -} -impl Node for OperatorMult { - const NAME: &'static str = "Mult"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMult { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Mult) - } -} - -pub struct OperatorMatMult; -impl From for Operator { - fn from(_: OperatorMatMult) -> Self { - Operator::MatMult - } -} -impl From for Ast { - fn from(_: OperatorMatMult) -> Self { - Operator::MatMult.into() - } -} -impl Node for OperatorMatMult { - const NAME: &'static str = "MatMult"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMatMult { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::MatMult) - } -} - -pub struct OperatorDiv; -impl From for Operator { - fn from(_: OperatorDiv) -> Self { - Operator::Div - } -} -impl From for Ast { - fn from(_: OperatorDiv) -> Self { - Operator::Div.into() - } -} -impl Node for OperatorDiv { - const NAME: &'static str = "Div"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorDiv { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Div) - } -} - -pub struct OperatorMod; -impl From for Operator { - fn from(_: OperatorMod) -> Self { - Operator::Mod - } -} -impl From for Ast { - fn from(_: OperatorMod) -> Self { - Operator::Mod.into() - } -} -impl Node for OperatorMod { - const NAME: &'static str = "Mod"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMod { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Mod) - } -} - -pub struct OperatorPow; -impl From for Operator { - fn from(_: OperatorPow) -> Self { - Operator::Pow - } -} -impl From for Ast { - fn from(_: OperatorPow) -> Self { - Operator::Pow.into() - } -} -impl Node for OperatorPow { - const NAME: &'static str = "Pow"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorPow { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Pow) - } -} - -pub struct OperatorLShift; -impl From for Operator { - fn from(_: OperatorLShift) -> Self { - Operator::LShift - } -} -impl From for Ast { - fn from(_: OperatorLShift) -> Self { - Operator::LShift.into() - } -} -impl Node for OperatorLShift { - const NAME: &'static str = "LShift"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorLShift { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::LShift) - } -} - -pub struct OperatorRShift; -impl From for Operator { - fn from(_: OperatorRShift) -> Self { - Operator::RShift - } -} -impl From for Ast { - fn from(_: OperatorRShift) -> Self { - Operator::RShift.into() - } -} -impl Node for OperatorRShift { - const NAME: &'static str = "RShift"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorRShift { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::RShift) - } -} - -pub struct OperatorBitOr; -impl From for Operator { - fn from(_: OperatorBitOr) -> Self { - Operator::BitOr - } -} -impl From for Ast { - fn from(_: OperatorBitOr) -> Self { - Operator::BitOr.into() - } -} -impl Node for OperatorBitOr { - const NAME: &'static str = "BitOr"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitOr { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitOr) - } -} - -pub struct OperatorBitXor; -impl From for Operator { - fn from(_: OperatorBitXor) -> Self { - Operator::BitXor - } -} -impl From for Ast { - fn from(_: OperatorBitXor) -> Self { - Operator::BitXor.into() - } -} -impl Node for OperatorBitXor { - const NAME: &'static str = "BitXor"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitXor { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitXor) - } -} - -pub struct OperatorBitAnd; -impl From for Operator { - fn from(_: OperatorBitAnd) -> Self { - Operator::BitAnd - } -} -impl From for Ast { - fn from(_: OperatorBitAnd) -> Self { - Operator::BitAnd.into() - } -} -impl Node for OperatorBitAnd { - const NAME: &'static str = "BitAnd"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitAnd { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitAnd) - } -} - -pub struct OperatorFloorDiv; -impl From for Operator { - fn from(_: OperatorFloorDiv) -> Self { - Operator::FloorDiv - } -} -impl From for Ast { - fn from(_: OperatorFloorDiv) -> Self { - Operator::FloorDiv.into() - } -} -impl Node for OperatorFloorDiv { - const NAME: &'static str = "FloorDiv"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorFloorDiv { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::FloorDiv) - } -} - -impl Node for Operator { - const NAME: &'static str = "operator"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [unaryop](https://docs.python.org/3/library/ast.html#ast.unaryop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum UnaryOp { - Invert, - Not, - UAdd, - USub, -} -impl UnaryOp { - #[inline] - pub const fn invert(&self) -> Option { - match self { - UnaryOp::Invert => Some(UnaryOpInvert), - _ => None, - } - } - - #[inline] - pub const fn not(&self) -> Option { - match self { - UnaryOp::Not => Some(UnaryOpNot), - _ => None, - } - } - - #[inline] - pub const fn u_add(&self) -> Option { - match self { - UnaryOp::UAdd => Some(UnaryOpUAdd), - _ => None, - } - } - - #[inline] - pub const fn u_sub(&self) -> Option { - match self { - UnaryOp::USub => Some(UnaryOpUSub), - _ => None, - } - } -} - -pub struct UnaryOpInvert; -impl From for UnaryOp { - fn from(_: UnaryOpInvert) -> Self { - UnaryOp::Invert - } -} -impl From for Ast { - fn from(_: UnaryOpInvert) -> Self { - UnaryOp::Invert.into() - } -} -impl Node for UnaryOpInvert { - const NAME: &'static str = "Invert"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpInvert { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::Invert) - } -} - -pub struct UnaryOpNot; -impl From for UnaryOp { - fn from(_: UnaryOpNot) -> Self { - UnaryOp::Not - } -} -impl From for Ast { - fn from(_: UnaryOpNot) -> Self { - UnaryOp::Not.into() - } -} -impl Node for UnaryOpNot { - const NAME: &'static str = "Not"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpNot { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::Not) - } -} - -pub struct UnaryOpUAdd; -impl From for UnaryOp { - fn from(_: UnaryOpUAdd) -> Self { - UnaryOp::UAdd - } -} -impl From for Ast { - fn from(_: UnaryOpUAdd) -> Self { - UnaryOp::UAdd.into() - } -} -impl Node for UnaryOpUAdd { - const NAME: &'static str = "UAdd"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpUAdd { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::UAdd) - } -} - -pub struct UnaryOpUSub; -impl From for UnaryOp { - fn from(_: UnaryOpUSub) -> Self { - UnaryOp::USub - } -} -impl From for Ast { - fn from(_: UnaryOpUSub) -> Self { - UnaryOp::USub.into() - } -} -impl Node for UnaryOpUSub { - const NAME: &'static str = "USub"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpUSub { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::USub) - } -} - -impl Node for UnaryOp { - const NAME: &'static str = "unaryop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [cmpop](https://docs.python.org/3/library/ast.html#ast.cmpop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum CmpOp { - Eq, - NotEq, - Lt, - LtE, - Gt, - GtE, - Is, - IsNot, - In, - NotIn, -} -impl CmpOp { - #[inline] - pub const fn cmp_op_eq(&self) -> Option { - match self { - CmpOp::Eq => Some(CmpOpEq), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_not_eq(&self) -> Option { - match self { - CmpOp::NotEq => Some(CmpOpNotEq), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_lt(&self) -> Option { - match self { - CmpOp::Lt => Some(CmpOpLt), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_lt_e(&self) -> Option { - match self { - CmpOp::LtE => Some(CmpOpLtE), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_gt(&self) -> Option { - match self { - CmpOp::Gt => Some(CmpOpGt), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_gt_e(&self) -> Option { - match self { - CmpOp::GtE => Some(CmpOpGtE), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_is(&self) -> Option { - match self { - CmpOp::Is => Some(CmpOpIs), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_is_not(&self) -> Option { - match self { - CmpOp::IsNot => Some(CmpOpIsNot), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_in(&self) -> Option { - match self { - CmpOp::In => Some(CmpOpIn), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_not_in(&self) -> Option { - match self { - CmpOp::NotIn => Some(CmpOpNotIn), - _ => None, - } - } -} - -pub struct CmpOpEq; -impl From for CmpOp { - fn from(_: CmpOpEq) -> Self { - CmpOp::Eq - } -} -impl From for Ast { - fn from(_: CmpOpEq) -> Self { - CmpOp::Eq.into() - } -} -impl Node for CmpOpEq { - const NAME: &'static str = "Eq"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpEq { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Eq) - } -} - -pub struct CmpOpNotEq; -impl From for CmpOp { - fn from(_: CmpOpNotEq) -> Self { - CmpOp::NotEq - } -} -impl From for Ast { - fn from(_: CmpOpNotEq) -> Self { - CmpOp::NotEq.into() - } -} -impl Node for CmpOpNotEq { - const NAME: &'static str = "NotEq"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpNotEq { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::NotEq) - } -} - -pub struct CmpOpLt; -impl From for CmpOp { - fn from(_: CmpOpLt) -> Self { - CmpOp::Lt - } -} -impl From for Ast { - fn from(_: CmpOpLt) -> Self { - CmpOp::Lt.into() - } -} -impl Node for CmpOpLt { - const NAME: &'static str = "Lt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpLt { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Lt) - } -} - -pub struct CmpOpLtE; -impl From for CmpOp { - fn from(_: CmpOpLtE) -> Self { - CmpOp::LtE - } -} -impl From for Ast { - fn from(_: CmpOpLtE) -> Self { - CmpOp::LtE.into() - } -} -impl Node for CmpOpLtE { - const NAME: &'static str = "LtE"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpLtE { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::LtE) - } -} - -pub struct CmpOpGt; -impl From for CmpOp { - fn from(_: CmpOpGt) -> Self { - CmpOp::Gt - } -} -impl From for Ast { - fn from(_: CmpOpGt) -> Self { - CmpOp::Gt.into() - } -} -impl Node for CmpOpGt { - const NAME: &'static str = "Gt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpGt { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Gt) - } -} - -pub struct CmpOpGtE; -impl From for CmpOp { - fn from(_: CmpOpGtE) -> Self { - CmpOp::GtE - } -} -impl From for Ast { - fn from(_: CmpOpGtE) -> Self { - CmpOp::GtE.into() - } -} -impl Node for CmpOpGtE { - const NAME: &'static str = "GtE"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpGtE { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::GtE) - } -} - -pub struct CmpOpIs; -impl From for CmpOp { - fn from(_: CmpOpIs) -> Self { - CmpOp::Is - } -} -impl From for Ast { - fn from(_: CmpOpIs) -> Self { - CmpOp::Is.into() - } -} -impl Node for CmpOpIs { - const NAME: &'static str = "Is"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIs { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Is) - } -} - -pub struct CmpOpIsNot; -impl From for CmpOp { - fn from(_: CmpOpIsNot) -> Self { - CmpOp::IsNot - } -} -impl From for Ast { - fn from(_: CmpOpIsNot) -> Self { - CmpOp::IsNot.into() - } -} -impl Node for CmpOpIsNot { - const NAME: &'static str = "IsNot"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIsNot { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::IsNot) - } -} - -pub struct CmpOpIn; -impl From for CmpOp { - fn from(_: CmpOpIn) -> Self { - CmpOp::In - } -} -impl From for Ast { - fn from(_: CmpOpIn) -> Self { - CmpOp::In.into() - } -} -impl Node for CmpOpIn { - const NAME: &'static str = "In"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIn { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::In) - } -} - -pub struct CmpOpNotIn; -impl From for CmpOp { - fn from(_: CmpOpNotIn) -> Self { - CmpOp::NotIn - } -} -impl From for Ast { - fn from(_: CmpOpNotIn) -> Self { - CmpOp::NotIn.into() - } -} -impl Node for CmpOpNotIn { - const NAME: &'static str = "NotIn"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpNotIn { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::NotIn) - } -} - -impl Node for CmpOp { - const NAME: &'static str = "cmpop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [comprehension](https://docs.python.org/3/library/ast.html#ast.comprehension) -#[derive(Clone, Debug, PartialEq)] -pub struct Comprehension { - pub range: TextRange, - pub target: Expr, - pub iter: Expr, - pub ifs: Vec, - pub is_async: bool, -} - -impl Node for Comprehension { - const NAME: &'static str = "comprehension"; - const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "ifs", "is_async"]; -} - -/// See also [excepthandler](https://docs.python.org/3/library/ast.html#ast.excepthandler) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum ExceptHandler { - ExceptHandler(ExceptHandlerExceptHandler), -} - -/// See also [ExceptHandler](https://docs.python.org/3/library/ast.html#ast.ExceptHandler) -#[derive(Clone, Debug, PartialEq)] -pub struct ExceptHandlerExceptHandler { - pub range: TextRange, - pub type_: Option>, - pub name: Option, - pub body: Vec, -} - -impl Node for ExceptHandlerExceptHandler { - const NAME: &'static str = "ExceptHandler"; - const FIELD_NAMES: &'static [&'static str] = &["type", "name", "body"]; -} -impl From for ExceptHandler { - fn from(payload: ExceptHandlerExceptHandler) -> Self { - ExceptHandler::ExceptHandler(payload) - } -} -impl From for Ast { - fn from(payload: ExceptHandlerExceptHandler) -> Self { - ExceptHandler::from(payload).into() - } -} - -impl Node for ExceptHandler { - const NAME: &'static str = "excepthandler"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [arguments](https://docs.python.org/3/library/ast.html#ast.arguments) -#[derive(Clone, Debug, PartialEq)] -pub struct PythonArguments { - pub range: TextRange, - pub posonlyargs: Vec, - pub args: Vec, - pub vararg: Option>, - pub kwonlyargs: Vec, - pub kw_defaults: Vec, - pub kwarg: Option>, - pub defaults: Vec, -} - -impl Node for PythonArguments { - const NAME: &'static str = "arguments"; - const FIELD_NAMES: &'static [&'static str] = &[ - "posonlyargs", - "args", - "vararg", - "kwonlyargs", - "kw_defaults", - "kwarg", - "defaults", - ]; -} - -/// See also [arg](https://docs.python.org/3/library/ast.html#ast.arg) -#[derive(Clone, Debug, PartialEq)] -pub struct Arg { - pub range: TextRange, - pub arg: Identifier, - pub annotation: Option>, - pub type_comment: Option, -} - -impl Node for Arg { - const NAME: &'static str = "arg"; - const FIELD_NAMES: &'static [&'static str] = &["arg", "annotation", "type_comment"]; -} - -/// See also [keyword](https://docs.python.org/3/library/ast.html#ast.keyword) -#[derive(Clone, Debug, PartialEq)] -pub struct Keyword { - pub range: TextRange, - pub arg: Option, - pub value: Expr, -} - -impl Node for Keyword { - const NAME: &'static str = "keyword"; - const FIELD_NAMES: &'static [&'static str] = &["arg", "value"]; -} - -/// See also [alias](https://docs.python.org/3/library/ast.html#ast.alias) -#[derive(Clone, Debug, PartialEq)] -pub struct Alias { - pub range: TextRange, - pub name: Identifier, - pub asname: Option, -} - -impl Node for Alias { - const NAME: &'static str = "alias"; - const FIELD_NAMES: &'static [&'static str] = &["name", "asname"]; -} - -/// See also [withitem](https://docs.python.org/3/library/ast.html#ast.withitem) -#[derive(Clone, Debug, PartialEq)] -pub struct WithItem { - pub range: TextRange, - pub context_expr: Expr, - pub optional_vars: Option>, -} - -impl Node for WithItem { - const NAME: &'static str = "withitem"; - const FIELD_NAMES: &'static [&'static str] = &["context_expr", "optional_vars"]; -} - -/// See also [match_case](https://docs.python.org/3/library/ast.html#ast.match_case) -#[derive(Clone, Debug, PartialEq)] -pub struct MatchCase { - pub range: TextRange, - pub pattern: Pattern, - pub guard: Option>, - pub body: Vec, -} - -impl Node for MatchCase { - const NAME: &'static str = "match_case"; - const FIELD_NAMES: &'static [&'static str] = &["pattern", "guard", "body"]; -} - -/// See also [pattern](https://docs.python.org/3/library/ast.html#ast.pattern) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Pattern { - MatchValue(PatternMatchValue), - MatchSingleton(PatternMatchSingleton), - MatchSequence(PatternMatchSequence), - MatchMapping(PatternMatchMapping), - MatchClass(PatternMatchClass), - MatchStar(PatternMatchStar), - MatchAs(PatternMatchAs), - MatchOr(PatternMatchOr), -} - -/// See also [MatchValue](https://docs.python.org/3/library/ast.html#ast.MatchValue) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchValue { - pub range: TextRange, - pub value: Box, -} - -impl Node for PatternMatchValue { - const NAME: &'static str = "MatchValue"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Pattern { - fn from(payload: PatternMatchValue) -> Self { - Pattern::MatchValue(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchValue) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchSingleton](https://docs.python.org/3/library/ast.html#ast.MatchSingleton) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSingleton { - pub range: TextRange, - pub value: Constant, -} - -impl Node for PatternMatchSingleton { - const NAME: &'static str = "MatchSingleton"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From for Pattern { - fn from(payload: PatternMatchSingleton) -> Self { - Pattern::MatchSingleton(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchSingleton) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchSequence](https://docs.python.org/3/library/ast.html#ast.MatchSequence) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSequence { - pub range: TextRange, - pub patterns: Vec, -} - -impl Node for PatternMatchSequence { - const NAME: &'static str = "MatchSequence"; - const FIELD_NAMES: &'static [&'static str] = &["patterns"]; -} -impl From for Pattern { - fn from(payload: PatternMatchSequence) -> Self { - Pattern::MatchSequence(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchSequence) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchMapping](https://docs.python.org/3/library/ast.html#ast.MatchMapping) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchMapping { - pub range: TextRange, - pub keys: Vec, - pub patterns: Vec, - pub rest: Option, -} - -impl Node for PatternMatchMapping { - const NAME: &'static str = "MatchMapping"; - const FIELD_NAMES: &'static [&'static str] = &["keys", "patterns", "rest"]; -} -impl From for Pattern { - fn from(payload: PatternMatchMapping) -> Self { - Pattern::MatchMapping(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchMapping) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchClass](https://docs.python.org/3/library/ast.html#ast.MatchClass) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchClass { - pub range: TextRange, - pub cls: Box, - pub patterns: Vec, - pub kwd_attrs: Vec, - pub kwd_patterns: Vec, -} - -impl Node for PatternMatchClass { - const NAME: &'static str = "MatchClass"; - const FIELD_NAMES: &'static [&'static str] = &["cls", "patterns", "kwd_attrs", "kwd_patterns"]; -} -impl From for Pattern { - fn from(payload: PatternMatchClass) -> Self { - Pattern::MatchClass(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchClass) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchStar](https://docs.python.org/3/library/ast.html#ast.MatchStar) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchStar { - pub range: TextRange, - pub name: Option, -} - -impl Node for PatternMatchStar { - const NAME: &'static str = "MatchStar"; - const FIELD_NAMES: &'static [&'static str] = &["name"]; -} -impl From for Pattern { - fn from(payload: PatternMatchStar) -> Self { - Pattern::MatchStar(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchStar) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchAs](https://docs.python.org/3/library/ast.html#ast.MatchAs) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchAs { - pub range: TextRange, - pub pattern: Option>, - pub name: Option, -} - -impl Node for PatternMatchAs { - const NAME: &'static str = "MatchAs"; - const FIELD_NAMES: &'static [&'static str] = &["pattern", "name"]; -} -impl From for Pattern { - fn from(payload: PatternMatchAs) -> Self { - Pattern::MatchAs(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchAs) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchOr](https://docs.python.org/3/library/ast.html#ast.MatchOr) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchOr { - pub range: TextRange, - pub patterns: Vec, -} - -impl Node for PatternMatchOr { - const NAME: &'static str = "MatchOr"; - const FIELD_NAMES: &'static [&'static str] = &["patterns"]; -} -impl From for Pattern { - fn from(payload: PatternMatchOr) -> Self { - Pattern::MatchOr(payload) - } -} -impl From for Ast { - fn from(payload: PatternMatchOr) -> Self { - Pattern::from(payload).into() - } -} - -impl Node for Pattern { - const NAME: &'static str = "pattern"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [type_ignore](https://docs.python.org/3/library/ast.html#ast.type_ignore) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum TypeIgnore { - TypeIgnore(TypeIgnoreTypeIgnore), -} - -/// See also [TypeIgnore](https://docs.python.org/3/library/ast.html#ast.TypeIgnore) -#[derive(Clone, Debug, PartialEq)] -pub struct TypeIgnoreTypeIgnore { - pub range: TextRange, - pub lineno: Int, - pub tag: String, -} - -impl Node for TypeIgnoreTypeIgnore { - const NAME: &'static str = "TypeIgnore"; - const FIELD_NAMES: &'static [&'static str] = &["lineno", "tag"]; -} -impl From for TypeIgnore { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { - TypeIgnore::TypeIgnore(payload) - } -} -impl From for Ast { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { - TypeIgnore::from(payload).into() - } -} - -impl Node for TypeIgnore { - const NAME: &'static str = "type_ignore"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [decorator](https://docs.python.org/3/library/ast.html#ast.decorator) -#[derive(Clone, Debug, PartialEq)] -pub struct Decorator { - pub range: TextRange, - pub expression: Expr, -} - -impl Node for Decorator { - const NAME: &'static str = "decorator"; - const FIELD_NAMES: &'static [&'static str] = &["expression"]; -} - -/// An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. -/// This form also has advantage to implement pre-order traverse. -/// `defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. -/// `vararg` and `kwarg` are still typed as `arg` because they never can have a default value. -/// -/// The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by -/// default existence, [Arguments] has location-ordered kwonlyargs fields. -/// -/// NOTE: This type is different from original Python AST. - -#[derive(Clone, Debug, PartialEq)] -pub struct Arguments { - pub range: TextRange, - pub posonlyargs: Vec, - pub args: Vec, - pub vararg: Option>, - pub kwonlyargs: Vec, - pub kwarg: Option>, -} - -impl Node for Arguments { - const NAME: &'static str = "alt:arguments"; - const FIELD_NAMES: &'static [&'static str] = - &["posonlyargs", "args", "vararg", "kwonlyargs", "kwarg"]; -} - -/// An alternative type of AST `arg`. This is used for each function argument that might have a default value. -/// Used by `Arguments` original type. -/// -/// NOTE: This type is different from original Python AST. - -#[derive(Clone, Debug, PartialEq)] -pub struct ArgWithDefault { - pub range: TextRange, - pub def: Arg, - pub default: Option>, -} - -impl Node for ArgWithDefault { - const NAME: &'static str = "arg_with_default"; - const FIELD_NAMES: &'static [&'static str] = &["def", "default"]; -} diff --git a/ast/src/gen/ranged.rs b/ast/src/gen/ranged.rs deleted file mode 100644 index 26fe38a5..00000000 --- a/ast/src/gen/ranged.rs +++ /dev/null @@ -1,502 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -impl Ranged for crate::generic::ModModule { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ModInteractive { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ModExpression { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ModFunctionType { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Mod { - fn range(&self) -> TextRange { - match self { - Self::Module(node) => node.range(), - Self::Interactive(node) => node.range(), - Self::Expression(node) => node.range(), - Self::FunctionType(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::StmtFunctionDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncFunctionDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtClassDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtReturn { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtDelete { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAugAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAnnAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtFor { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncFor { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtWhile { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtIf { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtWith { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncWith { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtMatch { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtRaise { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtTry { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtTryStar { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAssert { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtImport { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtImportFrom { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtGlobal { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtNonlocal { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtExpr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtPass { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtBreak { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtContinue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Stmt { - fn range(&self) -> TextRange { - match self { - Self::FunctionDef(node) => node.range(), - Self::AsyncFunctionDef(node) => node.range(), - Self::ClassDef(node) => node.range(), - Self::Return(node) => node.range(), - Self::Delete(node) => node.range(), - Self::Assign(node) => node.range(), - Self::AugAssign(node) => node.range(), - Self::AnnAssign(node) => node.range(), - Self::For(node) => node.range(), - Self::AsyncFor(node) => node.range(), - Self::While(node) => node.range(), - Self::If(node) => node.range(), - Self::With(node) => node.range(), - Self::AsyncWith(node) => node.range(), - Self::Match(node) => node.range(), - Self::Raise(node) => node.range(), - Self::Try(node) => node.range(), - Self::TryStar(node) => node.range(), - Self::Assert(node) => node.range(), - Self::Import(node) => node.range(), - Self::ImportFrom(node) => node.range(), - Self::Global(node) => node.range(), - Self::Nonlocal(node) => node.range(), - Self::Expr(node) => node.range(), - Self::Pass(node) => node.range(), - Self::Break(node) => node.range(), - Self::Continue(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::ExprBoolOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprNamedExpr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprBinOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprUnaryOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprLambda { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprIfExp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprDict { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSet { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprListComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSetComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprDictComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprGeneratorExp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprAwait { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprYield { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprYieldFrom { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprCompare { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprCall { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprFormattedValue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprJoinedStr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprConstant { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprAttribute { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSubscript { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprStarred { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprName { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprList { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprTuple { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSlice { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Expr { - fn range(&self) -> TextRange { - match self { - Self::BoolOp(node) => node.range(), - Self::NamedExpr(node) => node.range(), - Self::BinOp(node) => node.range(), - Self::UnaryOp(node) => node.range(), - Self::Lambda(node) => node.range(), - Self::IfExp(node) => node.range(), - Self::Dict(node) => node.range(), - Self::Set(node) => node.range(), - Self::ListComp(node) => node.range(), - Self::SetComp(node) => node.range(), - Self::DictComp(node) => node.range(), - Self::GeneratorExp(node) => node.range(), - Self::Await(node) => node.range(), - Self::Yield(node) => node.range(), - Self::YieldFrom(node) => node.range(), - Self::Compare(node) => node.range(), - Self::Call(node) => node.range(), - Self::FormattedValue(node) => node.range(), - Self::JoinedStr(node) => node.range(), - Self::Constant(node) => node.range(), - Self::Attribute(node) => node.range(), - Self::Subscript(node) => node.range(), - Self::Starred(node) => node.range(), - Self::Name(node) => node.range(), - Self::List(node) => node.range(), - Self::Tuple(node) => node.range(), - Self::Slice(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::Comprehension { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExceptHandlerExceptHandler { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::ExceptHandler { - fn range(&self) -> TextRange { - match self { - Self::ExceptHandler(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::PythonArguments { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Arg { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Keyword { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Alias { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::WithItem { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::MatchCase { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchValue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchSingleton { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchSequence { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchMapping { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchClass { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchStar { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchAs { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchOr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Pattern { - fn range(&self) -> TextRange { - match self { - Self::MatchValue(node) => node.range(), - Self::MatchSingleton(node) => node.range(), - Self::MatchSequence(node) => node.range(), - Self::MatchMapping(node) => node.range(), - Self::MatchClass(node) => node.range(), - Self::MatchStar(node) => node.range(), - Self::MatchAs(node) => node.range(), - Self::MatchOr(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::TypeIgnoreTypeIgnore { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::TypeIgnore { - fn range(&self) -> TextRange { - match self { - Self::TypeIgnore(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::Decorator { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Arguments { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ArgWithDefault { - fn range(&self) -> TextRange { - self.range - } -} diff --git a/ast/src/generic.rs b/ast/src/generic.rs index 9c038915..f30a2401 100644 --- a/ast/src/generic.rs +++ b/ast/src/generic.rs @@ -1,7 +1,3144 @@ #![allow(clippy::derive_partial_eq_without_eq)] +use crate::text_size::TextRange; pub use crate::{builtin::*, text_size::TextSize, ConversionFlag, Node}; use std::fmt::Debug; +// This file was originally generated from asdl by a python script, but we now edit it manually + +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Ast { + #[is(name = "module")] + Mod(Mod), + Stmt(Stmt), + Expr(Expr), + ExprContext(ExprContext), + BoolOp(BoolOp), + Operator(Operator), + UnaryOp(UnaryOp), + CmpOp(CmpOp), + Comprehension(Comprehension), + ExceptHandler(ExceptHandler), + Arguments(Arguments), + Arg(Arg), + Keyword(Keyword), + Alias(Alias), + WithItem(WithItem), + MatchCase(MatchCase), + Pattern(Pattern), + TypeIgnore(TypeIgnore), + Decorator(Decorator), +} +impl Node for Ast { + const NAME: &'static str = "AST"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +impl From for Ast { + fn from(node: Mod) -> Self { + Ast::Mod(node) + } +} + +impl From for Ast { + fn from(node: Stmt) -> Self { + Ast::Stmt(node) + } +} + +impl From for Ast { + fn from(node: Expr) -> Self { + Ast::Expr(node) + } +} + +impl From for Ast { + fn from(node: ExprContext) -> Self { + Ast::ExprContext(node) + } +} + +impl From for Ast { + fn from(node: BoolOp) -> Self { + Ast::BoolOp(node) + } +} + +impl From for Ast { + fn from(node: Operator) -> Self { + Ast::Operator(node) + } +} + +impl From for Ast { + fn from(node: UnaryOp) -> Self { + Ast::UnaryOp(node) + } +} + +impl From for Ast { + fn from(node: CmpOp) -> Self { + Ast::CmpOp(node) + } +} + +impl From for Ast { + fn from(node: Comprehension) -> Self { + Ast::Comprehension(node) + } +} + +impl From for Ast { + fn from(node: ExceptHandler) -> Self { + Ast::ExceptHandler(node) + } +} + +impl From for Ast { + fn from(node: Arguments) -> Self { + Ast::Arguments(node) + } +} + +impl From for Ast { + fn from(node: Arg) -> Self { + Ast::Arg(node) + } +} + +impl From for Ast { + fn from(node: Keyword) -> Self { + Ast::Keyword(node) + } +} + +impl From for Ast { + fn from(node: Alias) -> Self { + Ast::Alias(node) + } +} + +impl From for Ast { + fn from(node: WithItem) -> Self { + Ast::WithItem(node) + } +} + +impl From for Ast { + fn from(node: MatchCase) -> Self { + Ast::MatchCase(node) + } +} + +impl From for Ast { + fn from(node: Pattern) -> Self { + Ast::Pattern(node) + } +} + +impl From for Ast { + fn from(node: TypeIgnore) -> Self { + Ast::TypeIgnore(node) + } +} + +impl From for Ast { + fn from(node: Decorator) -> Self { + Ast::Decorator(node) + } +} + +/// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Mod { + Module(ModModule), + Interactive(ModInteractive), + Expression(ModExpression), + FunctionType(ModFunctionType), +} + +/// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module) +#[derive(Clone, Debug, PartialEq)] +pub struct ModModule { + pub range: TextRange, + pub body: Vec, + pub type_ignores: Vec, +} + +impl Node for ModModule { + const NAME: &'static str = "Module"; + const FIELD_NAMES: &'static [&'static str] = &["body", "type_ignores"]; +} +impl From for Mod { + fn from(payload: ModModule) -> Self { + Mod::Module(payload) + } +} +impl From for Ast { + fn from(payload: ModModule) -> Self { + Mod::from(payload).into() + } +} + +/// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive) +#[derive(Clone, Debug, PartialEq)] +pub struct ModInteractive { + pub range: TextRange, + pub body: Vec, +} + +impl Node for ModInteractive { + const NAME: &'static str = "Interactive"; + const FIELD_NAMES: &'static [&'static str] = &["body"]; +} +impl From for Mod { + fn from(payload: ModInteractive) -> Self { + Mod::Interactive(payload) + } +} +impl From for Ast { + fn from(payload: ModInteractive) -> Self { + Mod::from(payload).into() + } +} + +/// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression) +#[derive(Clone, Debug, PartialEq)] +pub struct ModExpression { + pub range: TextRange, + pub body: Box, +} + +impl Node for ModExpression { + const NAME: &'static str = "Expression"; + const FIELD_NAMES: &'static [&'static str] = &["body"]; +} +impl From for Mod { + fn from(payload: ModExpression) -> Self { + Mod::Expression(payload) + } +} +impl From for Ast { + fn from(payload: ModExpression) -> Self { + Mod::from(payload).into() + } +} + +/// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType) +#[derive(Clone, Debug, PartialEq)] +pub struct ModFunctionType { + pub range: TextRange, + pub argtypes: Vec, + pub returns: Box, +} + +impl Node for ModFunctionType { + const NAME: &'static str = "FunctionType"; + const FIELD_NAMES: &'static [&'static str] = &["argtypes", "returns"]; +} +impl From for Mod { + fn from(payload: ModFunctionType) -> Self { + Mod::FunctionType(payload) + } +} +impl From for Ast { + fn from(payload: ModFunctionType) -> Self { + Mod::from(payload).into() + } +} + +impl Node for Mod { + const NAME: &'static str = "mod"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Stmt { + #[is(name = "function_def_stmt")] + FunctionDef(StmtFunctionDef), + #[is(name = "async_function_def_stmt")] + AsyncFunctionDef(StmtAsyncFunctionDef), + #[is(name = "class_def_stmt")] + ClassDef(StmtClassDef), + #[is(name = "return_stmt")] + Return(StmtReturn), + #[is(name = "delete_stmt")] + Delete(StmtDelete), + #[is(name = "assign_stmt")] + Assign(StmtAssign), + #[is(name = "aug_assign_stmt")] + AugAssign(StmtAugAssign), + #[is(name = "ann_assign_stmt")] + AnnAssign(StmtAnnAssign), + #[is(name = "for_stmt")] + For(StmtFor), + #[is(name = "async_for_stmt")] + AsyncFor(StmtAsyncFor), + #[is(name = "while_stmt")] + While(StmtWhile), + #[is(name = "if_stmt")] + If(StmtIf), + #[is(name = "with_stmt")] + With(StmtWith), + #[is(name = "async_with_stmt")] + AsyncWith(StmtAsyncWith), + #[is(name = "match_stmt")] + Match(StmtMatch), + #[is(name = "raise_stmt")] + Raise(StmtRaise), + #[is(name = "try_stmt")] + Try(StmtTry), + #[is(name = "try_star_stmt")] + TryStar(StmtTryStar), + #[is(name = "assert_stmt")] + Assert(StmtAssert), + #[is(name = "import_stmt")] + Import(StmtImport), + #[is(name = "import_from_stmt")] + ImportFrom(StmtImportFrom), + #[is(name = "global_stmt")] + Global(StmtGlobal), + #[is(name = "nonlocal_stmt")] + Nonlocal(StmtNonlocal), + #[is(name = "expr_stmt")] + Expr(StmtExpr), + #[is(name = "pass_stmt")] + Pass(StmtPass), + #[is(name = "break_stmt")] + Break(StmtBreak), + #[is(name = "continue_stmt")] + Continue(StmtContinue), +} + +/// See also [FunctionDef](https://docs.python.org/3/library/ast.html#ast.FunctionDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtFunctionDef { + pub range: TextRange, + pub name: Identifier, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, + pub type_comment: Option, +} + +impl Node for StmtFunctionDef { + const NAME: &'static str = "FunctionDef"; + const FIELD_NAMES: &'static [&'static str] = &[ + "name", + "args", + "body", + "decorator_list", + "returns", + "type_comment", + ]; +} +impl From for Stmt { + fn from(payload: StmtFunctionDef) -> Self { + Stmt::FunctionDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtFunctionDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncFunctionDef](https://docs.python.org/3/library/ast.html#ast.AsyncFunctionDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncFunctionDef { + pub range: TextRange, + pub name: Identifier, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, + pub type_comment: Option, +} + +impl Node for StmtAsyncFunctionDef { + const NAME: &'static str = "AsyncFunctionDef"; + const FIELD_NAMES: &'static [&'static str] = &[ + "name", + "args", + "body", + "decorator_list", + "returns", + "type_comment", + ]; +} +impl From for Stmt { + fn from(payload: StmtAsyncFunctionDef) -> Self { + Stmt::AsyncFunctionDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncFunctionDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [ClassDef](https://docs.python.org/3/library/ast.html#ast.ClassDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtClassDef { + pub range: TextRange, + pub name: Identifier, + pub bases: Vec, + pub keywords: Vec, + pub body: Vec, + pub decorator_list: Vec, +} + +impl Node for StmtClassDef { + const NAME: &'static str = "ClassDef"; + const FIELD_NAMES: &'static [&'static str] = + &["name", "bases", "keywords", "body", "decorator_list"]; +} +impl From for Stmt { + fn from(payload: StmtClassDef) -> Self { + Stmt::ClassDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtClassDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Return](https://docs.python.org/3/library/ast.html#ast.Return) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtReturn { + pub range: TextRange, + pub value: Option>, +} + +impl Node for StmtReturn { + const NAME: &'static str = "Return"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Stmt { + fn from(payload: StmtReturn) -> Self { + Stmt::Return(payload) + } +} +impl From for Ast { + fn from(payload: StmtReturn) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Delete](https://docs.python.org/3/library/ast.html#ast.Delete) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtDelete { + pub range: TextRange, + pub targets: Vec, +} + +impl Node for StmtDelete { + const NAME: &'static str = "Delete"; + const FIELD_NAMES: &'static [&'static str] = &["targets"]; +} +impl From for Stmt { + fn from(payload: StmtDelete) -> Self { + Stmt::Delete(payload) + } +} +impl From for Ast { + fn from(payload: StmtDelete) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Assign](https://docs.python.org/3/library/ast.html#ast.Assign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAssign { + pub range: TextRange, + pub targets: Vec, + pub value: Box, + pub type_comment: Option, +} + +impl Node for StmtAssign { + const NAME: &'static str = "Assign"; + const FIELD_NAMES: &'static [&'static str] = &["targets", "value", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAssign) -> Self { + Stmt::Assign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AugAssign](https://docs.python.org/3/library/ast.html#ast.AugAssign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAugAssign { + pub range: TextRange, + pub target: Box, + pub op: Operator, + pub value: Box, +} + +impl Node for StmtAugAssign { + const NAME: &'static str = "AugAssign"; + const FIELD_NAMES: &'static [&'static str] = &["target", "op", "value"]; +} +impl From for Stmt { + fn from(payload: StmtAugAssign) -> Self { + Stmt::AugAssign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAugAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AnnAssign](https://docs.python.org/3/library/ast.html#ast.AnnAssign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAnnAssign { + pub range: TextRange, + pub target: Box, + pub annotation: Box, + pub value: Option>, + pub simple: bool, +} + +impl Node for StmtAnnAssign { + const NAME: &'static str = "AnnAssign"; + const FIELD_NAMES: &'static [&'static str] = &["target", "annotation", "value", "simple"]; +} +impl From for Stmt { + fn from(payload: StmtAnnAssign) -> Self { + Stmt::AnnAssign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAnnAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [For](https://docs.python.org/3/library/ast.html#ast.For) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, + pub type_comment: Option, +} + +impl Node for StmtFor { + const NAME: &'static str = "For"; + const FIELD_NAMES: &'static [&'static str] = + &["target", "iter", "body", "orelse", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtFor) -> Self { + Stmt::For(payload) + } +} +impl From for Ast { + fn from(payload: StmtFor) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncFor](https://docs.python.org/3/library/ast.html#ast.AsyncFor) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, + pub type_comment: Option, +} + +impl Node for StmtAsyncFor { + const NAME: &'static str = "AsyncFor"; + const FIELD_NAMES: &'static [&'static str] = + &["target", "iter", "body", "orelse", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAsyncFor) -> Self { + Stmt::AsyncFor(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncFor) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [While](https://docs.python.org/3/library/ast.html#ast.While) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtWhile { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, +} + +impl Node for StmtWhile { + const NAME: &'static str = "While"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Stmt { + fn from(payload: StmtWhile) -> Self { + Stmt::While(payload) + } +} +impl From for Ast { + fn from(payload: StmtWhile) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [If](https://docs.python.org/3/library/ast.html#ast.If) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtIf { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, +} + +impl Node for StmtIf { + const NAME: &'static str = "If"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Stmt { + fn from(payload: StmtIf) -> Self { + Stmt::If(payload) + } +} +impl From for Ast { + fn from(payload: StmtIf) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [With](https://docs.python.org/3/library/ast.html#ast.With) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, + pub type_comment: Option, +} + +impl Node for StmtWith { + const NAME: &'static str = "With"; + const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtWith) -> Self { + Stmt::With(payload) + } +} +impl From for Ast { + fn from(payload: StmtWith) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncWith](https://docs.python.org/3/library/ast.html#ast.AsyncWith) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, + pub type_comment: Option, +} + +impl Node for StmtAsyncWith { + const NAME: &'static str = "AsyncWith"; + const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAsyncWith) -> Self { + Stmt::AsyncWith(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncWith) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Match](https://docs.python.org/3/library/ast.html#ast.Match) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtMatch { + pub range: TextRange, + pub subject: Box, + pub cases: Vec, +} + +impl Node for StmtMatch { + const NAME: &'static str = "Match"; + const FIELD_NAMES: &'static [&'static str] = &["subject", "cases"]; +} +impl From for Stmt { + fn from(payload: StmtMatch) -> Self { + Stmt::Match(payload) + } +} +impl From for Ast { + fn from(payload: StmtMatch) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Raise](https://docs.python.org/3/library/ast.html#ast.Raise) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtRaise { + pub range: TextRange, + pub exc: Option>, + pub cause: Option>, +} + +impl Node for StmtRaise { + const NAME: &'static str = "Raise"; + const FIELD_NAMES: &'static [&'static str] = &["exc", "cause"]; +} +impl From for Stmt { + fn from(payload: StmtRaise) -> Self { + Stmt::Raise(payload) + } +} +impl From for Ast { + fn from(payload: StmtRaise) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Try](https://docs.python.org/3/library/ast.html#ast.Try) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtTry { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, +} + +impl Node for StmtTry { + const NAME: &'static str = "Try"; + const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; +} +impl From for Stmt { + fn from(payload: StmtTry) -> Self { + Stmt::Try(payload) + } +} +impl From for Ast { + fn from(payload: StmtTry) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [TryStar](https://docs.python.org/3/library/ast.html#ast.TryStar) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtTryStar { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, +} + +impl Node for StmtTryStar { + const NAME: &'static str = "TryStar"; + const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; +} +impl From for Stmt { + fn from(payload: StmtTryStar) -> Self { + Stmt::TryStar(payload) + } +} +impl From for Ast { + fn from(payload: StmtTryStar) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Assert](https://docs.python.org/3/library/ast.html#ast.Assert) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAssert { + pub range: TextRange, + pub test: Box, + pub msg: Option>, +} + +impl Node for StmtAssert { + const NAME: &'static str = "Assert"; + const FIELD_NAMES: &'static [&'static str] = &["test", "msg"]; +} +impl From for Stmt { + fn from(payload: StmtAssert) -> Self { + Stmt::Assert(payload) + } +} +impl From for Ast { + fn from(payload: StmtAssert) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Import](https://docs.python.org/3/library/ast.html#ast.Import) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtImport { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtImport { + const NAME: &'static str = "Import"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtImport) -> Self { + Stmt::Import(payload) + } +} +impl From for Ast { + fn from(payload: StmtImport) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [ImportFrom](https://docs.python.org/3/library/ast.html#ast.ImportFrom) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtImportFrom { + pub range: TextRange, + pub module: Option, + pub names: Vec, + pub level: Option, +} + +impl Node for StmtImportFrom { + const NAME: &'static str = "ImportFrom"; + const FIELD_NAMES: &'static [&'static str] = &["module", "names", "level"]; +} +impl From for Stmt { + fn from(payload: StmtImportFrom) -> Self { + Stmt::ImportFrom(payload) + } +} +impl From for Ast { + fn from(payload: StmtImportFrom) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Global](https://docs.python.org/3/library/ast.html#ast.Global) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtGlobal { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtGlobal { + const NAME: &'static str = "Global"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtGlobal) -> Self { + Stmt::Global(payload) + } +} +impl From for Ast { + fn from(payload: StmtGlobal) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Nonlocal](https://docs.python.org/3/library/ast.html#ast.Nonlocal) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtNonlocal { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtNonlocal { + const NAME: &'static str = "Nonlocal"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtNonlocal) -> Self { + Stmt::Nonlocal(payload) + } +} +impl From for Ast { + fn from(payload: StmtNonlocal) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Expr](https://docs.python.org/3/library/ast.html#ast.Expr) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtExpr { + pub range: TextRange, + pub value: Box, +} + +impl Node for StmtExpr { + const NAME: &'static str = "Expr"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Stmt { + fn from(payload: StmtExpr) -> Self { + Stmt::Expr(payload) + } +} +impl From for Ast { + fn from(payload: StmtExpr) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Pass](https://docs.python.org/3/library/ast.html#ast.Pass) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtPass { + pub range: TextRange, +} + +impl Node for StmtPass { + const NAME: &'static str = "Pass"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtPass) -> Self { + Stmt::Pass(payload) + } +} +impl From for Ast { + fn from(payload: StmtPass) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Break](https://docs.python.org/3/library/ast.html#ast.Break) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtBreak { + pub range: TextRange, +} + +impl Node for StmtBreak { + const NAME: &'static str = "Break"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtBreak) -> Self { + Stmt::Break(payload) + } +} +impl From for Ast { + fn from(payload: StmtBreak) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Continue](https://docs.python.org/3/library/ast.html#ast.Continue) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtContinue { + pub range: TextRange, +} + +impl Node for StmtContinue { + const NAME: &'static str = "Continue"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtContinue) -> Self { + Stmt::Continue(payload) + } +} +impl From for Ast { + fn from(payload: StmtContinue) -> Self { + Stmt::from(payload).into() + } +} + +impl Node for Stmt { + const NAME: &'static str = "stmt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [expr](https://docs.python.org/3/library/ast.html#ast.expr) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Expr { + #[is(name = "bool_op_expr")] + BoolOp(ExprBoolOp), + #[is(name = "named_expr_expr")] + NamedExpr(ExprNamedExpr), + #[is(name = "bin_op_expr")] + BinOp(ExprBinOp), + #[is(name = "unary_op_expr")] + UnaryOp(ExprUnaryOp), + #[is(name = "lambda_expr")] + Lambda(ExprLambda), + #[is(name = "if_exp_expr")] + IfExp(ExprIfExp), + #[is(name = "dict_expr")] + Dict(ExprDict), + #[is(name = "set_expr")] + Set(ExprSet), + #[is(name = "list_comp_expr")] + ListComp(ExprListComp), + #[is(name = "set_comp_expr")] + SetComp(ExprSetComp), + #[is(name = "dict_comp_expr")] + DictComp(ExprDictComp), + #[is(name = "generator_exp_expr")] + GeneratorExp(ExprGeneratorExp), + #[is(name = "await_expr")] + Await(ExprAwait), + #[is(name = "yield_expr")] + Yield(ExprYield), + #[is(name = "yield_from_expr")] + YieldFrom(ExprYieldFrom), + #[is(name = "compare_expr")] + Compare(ExprCompare), + #[is(name = "call_expr")] + Call(ExprCall), + #[is(name = "formatted_value_expr")] + FormattedValue(ExprFormattedValue), + #[is(name = "joined_str_expr")] + JoinedStr(ExprJoinedStr), + #[is(name = "constant_expr")] + Constant(ExprConstant), + #[is(name = "attribute_expr")] + Attribute(ExprAttribute), + #[is(name = "subscript_expr")] + Subscript(ExprSubscript), + #[is(name = "starred_expr")] + Starred(ExprStarred), + #[is(name = "name_expr")] + Name(ExprName), + #[is(name = "list_expr")] + List(ExprList), + #[is(name = "tuple_expr")] + Tuple(ExprTuple), + #[is(name = "slice_expr")] + Slice(ExprSlice), +} + +/// See also [BoolOp](https://docs.python.org/3/library/ast.html#ast.BoolOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprBoolOp { + pub range: TextRange, + pub op: BoolOp, + pub values: Vec, +} + +impl Node for ExprBoolOp { + const NAME: &'static str = "BoolOp"; + const FIELD_NAMES: &'static [&'static str] = &["op", "values"]; +} +impl From for Expr { + fn from(payload: ExprBoolOp) -> Self { + Expr::BoolOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprBoolOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [NamedExpr](https://docs.python.org/3/library/ast.html#ast.NamedExpr) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprNamedExpr { + pub range: TextRange, + pub target: Box, + pub value: Box, +} + +impl Node for ExprNamedExpr { + const NAME: &'static str = "NamedExpr"; + const FIELD_NAMES: &'static [&'static str] = &["target", "value"]; +} +impl From for Expr { + fn from(payload: ExprNamedExpr) -> Self { + Expr::NamedExpr(payload) + } +} +impl From for Ast { + fn from(payload: ExprNamedExpr) -> Self { + Expr::from(payload).into() + } +} + +/// See also [BinOp](https://docs.python.org/3/library/ast.html#ast.BinOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprBinOp { + pub range: TextRange, + pub left: Box, + pub op: Operator, + pub right: Box, +} + +impl Node for ExprBinOp { + const NAME: &'static str = "BinOp"; + const FIELD_NAMES: &'static [&'static str] = &["left", "op", "right"]; +} +impl From for Expr { + fn from(payload: ExprBinOp) -> Self { + Expr::BinOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprBinOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [UnaryOp](https://docs.python.org/3/library/ast.html#ast.UnaryOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprUnaryOp { + pub range: TextRange, + pub op: UnaryOp, + pub operand: Box, +} + +impl Node for ExprUnaryOp { + const NAME: &'static str = "UnaryOp"; + const FIELD_NAMES: &'static [&'static str] = &["op", "operand"]; +} +impl From for Expr { + fn from(payload: ExprUnaryOp) -> Self { + Expr::UnaryOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprUnaryOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Lambda](https://docs.python.org/3/library/ast.html#ast.Lambda) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprLambda { + pub range: TextRange, + pub args: Box, + pub body: Box, +} + +impl Node for ExprLambda { + const NAME: &'static str = "Lambda"; + const FIELD_NAMES: &'static [&'static str] = &["args", "body"]; +} +impl From for Expr { + fn from(payload: ExprLambda) -> Self { + Expr::Lambda(payload) + } +} +impl From for Ast { + fn from(payload: ExprLambda) -> Self { + Expr::from(payload).into() + } +} + +/// See also [IfExp](https://docs.python.org/3/library/ast.html#ast.IfExp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprIfExp { + pub range: TextRange, + pub test: Box, + pub body: Box, + pub orelse: Box, +} + +impl Node for ExprIfExp { + const NAME: &'static str = "IfExp"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Expr { + fn from(payload: ExprIfExp) -> Self { + Expr::IfExp(payload) + } +} +impl From for Ast { + fn from(payload: ExprIfExp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Dict](https://docs.python.org/3/library/ast.html#ast.Dict) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprDict { + pub range: TextRange, + pub keys: Vec>, + pub values: Vec, +} + +impl Node for ExprDict { + const NAME: &'static str = "Dict"; + const FIELD_NAMES: &'static [&'static str] = &["keys", "values"]; +} +impl From for Expr { + fn from(payload: ExprDict) -> Self { + Expr::Dict(payload) + } +} +impl From for Ast { + fn from(payload: ExprDict) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Set](https://docs.python.org/3/library/ast.html#ast.Set) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSet { + pub range: TextRange, + pub elts: Vec, +} + +impl Node for ExprSet { + const NAME: &'static str = "Set"; + const FIELD_NAMES: &'static [&'static str] = &["elts"]; +} +impl From for Expr { + fn from(payload: ExprSet) -> Self { + Expr::Set(payload) + } +} +impl From for Ast { + fn from(payload: ExprSet) -> Self { + Expr::from(payload).into() + } +} + +/// See also [ListComp](https://docs.python.org/3/library/ast.html#ast.ListComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprListComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprListComp { + const NAME: &'static str = "ListComp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprListComp) -> Self { + Expr::ListComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprListComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [SetComp](https://docs.python.org/3/library/ast.html#ast.SetComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSetComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprSetComp { + const NAME: &'static str = "SetComp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprSetComp) -> Self { + Expr::SetComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprSetComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [DictComp](https://docs.python.org/3/library/ast.html#ast.DictComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprDictComp { + pub range: TextRange, + pub key: Box, + pub value: Box, + pub generators: Vec, +} + +impl Node for ExprDictComp { + const NAME: &'static str = "DictComp"; + const FIELD_NAMES: &'static [&'static str] = &["key", "value", "generators"]; +} +impl From for Expr { + fn from(payload: ExprDictComp) -> Self { + Expr::DictComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprDictComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [GeneratorExp](https://docs.python.org/3/library/ast.html#ast.GeneratorExp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprGeneratorExp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprGeneratorExp { + const NAME: &'static str = "GeneratorExp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprGeneratorExp) -> Self { + Expr::GeneratorExp(payload) + } +} +impl From for Ast { + fn from(payload: ExprGeneratorExp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Await](https://docs.python.org/3/library/ast.html#ast.Await) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprAwait { + pub range: TextRange, + pub value: Box, +} + +impl Node for ExprAwait { + const NAME: &'static str = "Await"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprAwait) -> Self { + Expr::Await(payload) + } +} +impl From for Ast { + fn from(payload: ExprAwait) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Yield](https://docs.python.org/3/library/ast.html#ast.Yield) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprYield { + pub range: TextRange, + pub value: Option>, +} + +impl Node for ExprYield { + const NAME: &'static str = "Yield"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprYield) -> Self { + Expr::Yield(payload) + } +} +impl From for Ast { + fn from(payload: ExprYield) -> Self { + Expr::from(payload).into() + } +} + +/// See also [YieldFrom](https://docs.python.org/3/library/ast.html#ast.YieldFrom) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprYieldFrom { + pub range: TextRange, + pub value: Box, +} + +impl Node for ExprYieldFrom { + const NAME: &'static str = "YieldFrom"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprYieldFrom) -> Self { + Expr::YieldFrom(payload) + } +} +impl From for Ast { + fn from(payload: ExprYieldFrom) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Compare](https://docs.python.org/3/library/ast.html#ast.Compare) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprCompare { + pub range: TextRange, + pub left: Box, + pub ops: Vec, + pub comparators: Vec, +} + +impl Node for ExprCompare { + const NAME: &'static str = "Compare"; + const FIELD_NAMES: &'static [&'static str] = &["left", "ops", "comparators"]; +} +impl From for Expr { + fn from(payload: ExprCompare) -> Self { + Expr::Compare(payload) + } +} +impl From for Ast { + fn from(payload: ExprCompare) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Call](https://docs.python.org/3/library/ast.html#ast.Call) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprCall { + pub range: TextRange, + pub func: Box, + pub args: Vec, + pub keywords: Vec, +} + +impl Node for ExprCall { + const NAME: &'static str = "Call"; + const FIELD_NAMES: &'static [&'static str] = &["func", "args", "keywords"]; +} +impl From for Expr { + fn from(payload: ExprCall) -> Self { + Expr::Call(payload) + } +} +impl From for Ast { + fn from(payload: ExprCall) -> Self { + Expr::from(payload).into() + } +} + +/// See also [FormattedValue](https://docs.python.org/3/library/ast.html#ast.FormattedValue) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprFormattedValue { + pub range: TextRange, + pub value: Box, + pub conversion: ConversionFlag, + pub format_spec: Option>, +} + +impl Node for ExprFormattedValue { + const NAME: &'static str = "FormattedValue"; + const FIELD_NAMES: &'static [&'static str] = &["value", "conversion", "format_spec"]; +} +impl From for Expr { + fn from(payload: ExprFormattedValue) -> Self { + Expr::FormattedValue(payload) + } +} +impl From for Ast { + fn from(payload: ExprFormattedValue) -> Self { + Expr::from(payload).into() + } +} + +/// See also [JoinedStr](https://docs.python.org/3/library/ast.html#ast.JoinedStr) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprJoinedStr { + pub range: TextRange, + pub values: Vec, +} + +impl Node for ExprJoinedStr { + const NAME: &'static str = "JoinedStr"; + const FIELD_NAMES: &'static [&'static str] = &["values"]; +} +impl From for Expr { + fn from(payload: ExprJoinedStr) -> Self { + Expr::JoinedStr(payload) + } +} +impl From for Ast { + fn from(payload: ExprJoinedStr) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Constant](https://docs.python.org/3/library/ast.html#ast.Constant) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprConstant { + pub range: TextRange, + pub value: Constant, + pub kind: Option, +} + +impl Node for ExprConstant { + const NAME: &'static str = "Constant"; + const FIELD_NAMES: &'static [&'static str] = &["value", "kind"]; +} +impl From for Expr { + fn from(payload: ExprConstant) -> Self { + Expr::Constant(payload) + } +} +impl From for Ast { + fn from(payload: ExprConstant) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Attribute](https://docs.python.org/3/library/ast.html#ast.Attribute) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprAttribute { + pub range: TextRange, + pub value: Box, + pub attr: Identifier, + pub ctx: ExprContext, +} + +impl Node for ExprAttribute { + const NAME: &'static str = "Attribute"; + const FIELD_NAMES: &'static [&'static str] = &["value", "attr", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprAttribute) -> Self { + Expr::Attribute(payload) + } +} +impl From for Ast { + fn from(payload: ExprAttribute) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Subscript](https://docs.python.org/3/library/ast.html#ast.Subscript) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSubscript { + pub range: TextRange, + pub value: Box, + pub slice: Box, + pub ctx: ExprContext, +} + +impl Node for ExprSubscript { + const NAME: &'static str = "Subscript"; + const FIELD_NAMES: &'static [&'static str] = &["value", "slice", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprSubscript) -> Self { + Expr::Subscript(payload) + } +} +impl From for Ast { + fn from(payload: ExprSubscript) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Starred](https://docs.python.org/3/library/ast.html#ast.Starred) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprStarred { + pub range: TextRange, + pub value: Box, + pub ctx: ExprContext, +} + +impl Node for ExprStarred { + const NAME: &'static str = "Starred"; + const FIELD_NAMES: &'static [&'static str] = &["value", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprStarred) -> Self { + Expr::Starred(payload) + } +} +impl From for Ast { + fn from(payload: ExprStarred) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Name](https://docs.python.org/3/library/ast.html#ast.Name) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprName { + pub range: TextRange, + pub id: String, + pub ctx: ExprContext, +} + +impl Node for ExprName { + const NAME: &'static str = "Name"; + const FIELD_NAMES: &'static [&'static str] = &["id", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprName) -> Self { + Expr::Name(payload) + } +} +impl From for Ast { + fn from(payload: ExprName) -> Self { + Expr::from(payload).into() + } +} + +/// See also [List](https://docs.python.org/3/library/ast.html#ast.List) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprList { + pub range: TextRange, + pub elts: Vec, + pub ctx: ExprContext, +} + +impl Node for ExprList { + const NAME: &'static str = "List"; + const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprList) -> Self { + Expr::List(payload) + } +} +impl From for Ast { + fn from(payload: ExprList) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Tuple](https://docs.python.org/3/library/ast.html#ast.Tuple) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprTuple { + pub range: TextRange, + pub elts: Vec, + pub ctx: ExprContext, +} + +impl Node for ExprTuple { + const NAME: &'static str = "Tuple"; + const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprTuple) -> Self { + Expr::Tuple(payload) + } +} +impl From for Ast { + fn from(payload: ExprTuple) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Slice](https://docs.python.org/3/library/ast.html#ast.Slice) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSlice { + pub range: TextRange, + pub lower: Option>, + pub upper: Option>, + pub step: Option>, +} + +impl Node for ExprSlice { + const NAME: &'static str = "Slice"; + const FIELD_NAMES: &'static [&'static str] = &["lower", "upper", "step"]; +} +impl From for Expr { + fn from(payload: ExprSlice) -> Self { + Expr::Slice(payload) + } +} +impl From for Ast { + fn from(payload: ExprSlice) -> Self { + Expr::from(payload).into() + } +} + +impl Node for Expr { + const NAME: &'static str = "expr"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [expr_context](https://docs.python.org/3/library/ast.html#ast.expr_context) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum ExprContext { + Load, + Store, + Del, +} +impl ExprContext { + #[inline] + pub const fn load(&self) -> Option { + match self { + ExprContext::Load => Some(ExprContextLoad), + _ => None, + } + } + + #[inline] + pub const fn store(&self) -> Option { + match self { + ExprContext::Store => Some(ExprContextStore), + _ => None, + } + } + + #[inline] + pub const fn del(&self) -> Option { + match self { + ExprContext::Del => Some(ExprContextDel), + _ => None, + } + } +} + +pub struct ExprContextLoad; +impl From for ExprContext { + fn from(_: ExprContextLoad) -> Self { + ExprContext::Load + } +} +impl From for Ast { + fn from(_: ExprContextLoad) -> Self { + ExprContext::Load.into() + } +} +impl Node for ExprContextLoad { + const NAME: &'static str = "Load"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextLoad { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Load) + } +} + +pub struct ExprContextStore; +impl From for ExprContext { + fn from(_: ExprContextStore) -> Self { + ExprContext::Store + } +} +impl From for Ast { + fn from(_: ExprContextStore) -> Self { + ExprContext::Store.into() + } +} +impl Node for ExprContextStore { + const NAME: &'static str = "Store"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextStore { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Store) + } +} + +pub struct ExprContextDel; +impl From for ExprContext { + fn from(_: ExprContextDel) -> Self { + ExprContext::Del + } +} +impl From for Ast { + fn from(_: ExprContextDel) -> Self { + ExprContext::Del.into() + } +} +impl Node for ExprContextDel { + const NAME: &'static str = "Del"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextDel { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Del) + } +} + +impl Node for ExprContext { + const NAME: &'static str = "expr_context"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [boolop](https://docs.python.org/3/library/ast.html#ast.boolop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum BoolOp { + And, + Or, +} +impl BoolOp { + #[inline] + pub const fn and(&self) -> Option { + match self { + BoolOp::And => Some(BoolOpAnd), + _ => None, + } + } + + #[inline] + pub const fn or(&self) -> Option { + match self { + BoolOp::Or => Some(BoolOpOr), + _ => None, + } + } +} + +pub struct BoolOpAnd; +impl From for BoolOp { + fn from(_: BoolOpAnd) -> Self { + BoolOp::And + } +} +impl From for Ast { + fn from(_: BoolOpAnd) -> Self { + BoolOp::And.into() + } +} +impl Node for BoolOpAnd { + const NAME: &'static str = "And"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for BoolOpAnd { + #[inline] + fn eq(&self, other: &BoolOp) -> bool { + matches!(other, BoolOp::And) + } +} + +pub struct BoolOpOr; +impl From for BoolOp { + fn from(_: BoolOpOr) -> Self { + BoolOp::Or + } +} +impl From for Ast { + fn from(_: BoolOpOr) -> Self { + BoolOp::Or.into() + } +} +impl Node for BoolOpOr { + const NAME: &'static str = "Or"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for BoolOpOr { + #[inline] + fn eq(&self, other: &BoolOp) -> bool { + matches!(other, BoolOp::Or) + } +} + +impl Node for BoolOp { + const NAME: &'static str = "boolop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [operator](https://docs.python.org/3/library/ast.html#ast.operator) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum Operator { + Add, + Sub, + Mult, + MatMult, + Div, + Mod, + Pow, + LShift, + RShift, + BitOr, + BitXor, + BitAnd, + FloorDiv, +} +impl Operator { + #[inline] + pub const fn operator_add(&self) -> Option { + match self { + Operator::Add => Some(OperatorAdd), + _ => None, + } + } + + #[inline] + pub const fn operator_sub(&self) -> Option { + match self { + Operator::Sub => Some(OperatorSub), + _ => None, + } + } + + #[inline] + pub const fn operator_mult(&self) -> Option { + match self { + Operator::Mult => Some(OperatorMult), + _ => None, + } + } + + #[inline] + pub const fn operator_mat_mult(&self) -> Option { + match self { + Operator::MatMult => Some(OperatorMatMult), + _ => None, + } + } + + #[inline] + pub const fn operator_div(&self) -> Option { + match self { + Operator::Div => Some(OperatorDiv), + _ => None, + } + } + + #[inline] + pub const fn operator_mod(&self) -> Option { + match self { + Operator::Mod => Some(OperatorMod), + _ => None, + } + } + + #[inline] + pub const fn operator_pow(&self) -> Option { + match self { + Operator::Pow => Some(OperatorPow), + _ => None, + } + } + + #[inline] + pub const fn operator_l_shift(&self) -> Option { + match self { + Operator::LShift => Some(OperatorLShift), + _ => None, + } + } + + #[inline] + pub const fn operator_r_shift(&self) -> Option { + match self { + Operator::RShift => Some(OperatorRShift), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_or(&self) -> Option { + match self { + Operator::BitOr => Some(OperatorBitOr), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_xor(&self) -> Option { + match self { + Operator::BitXor => Some(OperatorBitXor), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_and(&self) -> Option { + match self { + Operator::BitAnd => Some(OperatorBitAnd), + _ => None, + } + } + + #[inline] + pub const fn operator_floor_div(&self) -> Option { + match self { + Operator::FloorDiv => Some(OperatorFloorDiv), + _ => None, + } + } +} + +pub struct OperatorAdd; +impl From for Operator { + fn from(_: OperatorAdd) -> Self { + Operator::Add + } +} +impl From for Ast { + fn from(_: OperatorAdd) -> Self { + Operator::Add.into() + } +} +impl Node for OperatorAdd { + const NAME: &'static str = "Add"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorAdd { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Add) + } +} + +pub struct OperatorSub; +impl From for Operator { + fn from(_: OperatorSub) -> Self { + Operator::Sub + } +} +impl From for Ast { + fn from(_: OperatorSub) -> Self { + Operator::Sub.into() + } +} +impl Node for OperatorSub { + const NAME: &'static str = "Sub"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorSub { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Sub) + } +} + +pub struct OperatorMult; +impl From for Operator { + fn from(_: OperatorMult) -> Self { + Operator::Mult + } +} +impl From for Ast { + fn from(_: OperatorMult) -> Self { + Operator::Mult.into() + } +} +impl Node for OperatorMult { + const NAME: &'static str = "Mult"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMult { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Mult) + } +} + +pub struct OperatorMatMult; +impl From for Operator { + fn from(_: OperatorMatMult) -> Self { + Operator::MatMult + } +} +impl From for Ast { + fn from(_: OperatorMatMult) -> Self { + Operator::MatMult.into() + } +} +impl Node for OperatorMatMult { + const NAME: &'static str = "MatMult"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMatMult { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::MatMult) + } +} + +pub struct OperatorDiv; +impl From for Operator { + fn from(_: OperatorDiv) -> Self { + Operator::Div + } +} +impl From for Ast { + fn from(_: OperatorDiv) -> Self { + Operator::Div.into() + } +} +impl Node for OperatorDiv { + const NAME: &'static str = "Div"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorDiv { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Div) + } +} + +pub struct OperatorMod; +impl From for Operator { + fn from(_: OperatorMod) -> Self { + Operator::Mod + } +} +impl From for Ast { + fn from(_: OperatorMod) -> Self { + Operator::Mod.into() + } +} +impl Node for OperatorMod { + const NAME: &'static str = "Mod"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMod { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Mod) + } +} + +pub struct OperatorPow; +impl From for Operator { + fn from(_: OperatorPow) -> Self { + Operator::Pow + } +} +impl From for Ast { + fn from(_: OperatorPow) -> Self { + Operator::Pow.into() + } +} +impl Node for OperatorPow { + const NAME: &'static str = "Pow"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorPow { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Pow) + } +} + +pub struct OperatorLShift; +impl From for Operator { + fn from(_: OperatorLShift) -> Self { + Operator::LShift + } +} +impl From for Ast { + fn from(_: OperatorLShift) -> Self { + Operator::LShift.into() + } +} +impl Node for OperatorLShift { + const NAME: &'static str = "LShift"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorLShift { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::LShift) + } +} + +pub struct OperatorRShift; +impl From for Operator { + fn from(_: OperatorRShift) -> Self { + Operator::RShift + } +} +impl From for Ast { + fn from(_: OperatorRShift) -> Self { + Operator::RShift.into() + } +} +impl Node for OperatorRShift { + const NAME: &'static str = "RShift"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorRShift { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::RShift) + } +} + +pub struct OperatorBitOr; +impl From for Operator { + fn from(_: OperatorBitOr) -> Self { + Operator::BitOr + } +} +impl From for Ast { + fn from(_: OperatorBitOr) -> Self { + Operator::BitOr.into() + } +} +impl Node for OperatorBitOr { + const NAME: &'static str = "BitOr"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitOr { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitOr) + } +} + +pub struct OperatorBitXor; +impl From for Operator { + fn from(_: OperatorBitXor) -> Self { + Operator::BitXor + } +} +impl From for Ast { + fn from(_: OperatorBitXor) -> Self { + Operator::BitXor.into() + } +} +impl Node for OperatorBitXor { + const NAME: &'static str = "BitXor"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitXor { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitXor) + } +} + +pub struct OperatorBitAnd; +impl From for Operator { + fn from(_: OperatorBitAnd) -> Self { + Operator::BitAnd + } +} +impl From for Ast { + fn from(_: OperatorBitAnd) -> Self { + Operator::BitAnd.into() + } +} +impl Node for OperatorBitAnd { + const NAME: &'static str = "BitAnd"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitAnd { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitAnd) + } +} + +pub struct OperatorFloorDiv; +impl From for Operator { + fn from(_: OperatorFloorDiv) -> Self { + Operator::FloorDiv + } +} +impl From for Ast { + fn from(_: OperatorFloorDiv) -> Self { + Operator::FloorDiv.into() + } +} +impl Node for OperatorFloorDiv { + const NAME: &'static str = "FloorDiv"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorFloorDiv { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::FloorDiv) + } +} + +impl Node for Operator { + const NAME: &'static str = "operator"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [unaryop](https://docs.python.org/3/library/ast.html#ast.unaryop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum UnaryOp { + Invert, + Not, + UAdd, + USub, +} +impl UnaryOp { + #[inline] + pub const fn invert(&self) -> Option { + match self { + UnaryOp::Invert => Some(UnaryOpInvert), + _ => None, + } + } + + #[inline] + pub const fn not(&self) -> Option { + match self { + UnaryOp::Not => Some(UnaryOpNot), + _ => None, + } + } + + #[inline] + pub const fn u_add(&self) -> Option { + match self { + UnaryOp::UAdd => Some(UnaryOpUAdd), + _ => None, + } + } + + #[inline] + pub const fn u_sub(&self) -> Option { + match self { + UnaryOp::USub => Some(UnaryOpUSub), + _ => None, + } + } +} + +pub struct UnaryOpInvert; +impl From for UnaryOp { + fn from(_: UnaryOpInvert) -> Self { + UnaryOp::Invert + } +} +impl From for Ast { + fn from(_: UnaryOpInvert) -> Self { + UnaryOp::Invert.into() + } +} +impl Node for UnaryOpInvert { + const NAME: &'static str = "Invert"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpInvert { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::Invert) + } +} + +pub struct UnaryOpNot; +impl From for UnaryOp { + fn from(_: UnaryOpNot) -> Self { + UnaryOp::Not + } +} +impl From for Ast { + fn from(_: UnaryOpNot) -> Self { + UnaryOp::Not.into() + } +} +impl Node for UnaryOpNot { + const NAME: &'static str = "Not"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpNot { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::Not) + } +} + +pub struct UnaryOpUAdd; +impl From for UnaryOp { + fn from(_: UnaryOpUAdd) -> Self { + UnaryOp::UAdd + } +} +impl From for Ast { + fn from(_: UnaryOpUAdd) -> Self { + UnaryOp::UAdd.into() + } +} +impl Node for UnaryOpUAdd { + const NAME: &'static str = "UAdd"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpUAdd { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::UAdd) + } +} + +pub struct UnaryOpUSub; +impl From for UnaryOp { + fn from(_: UnaryOpUSub) -> Self { + UnaryOp::USub + } +} +impl From for Ast { + fn from(_: UnaryOpUSub) -> Self { + UnaryOp::USub.into() + } +} +impl Node for UnaryOpUSub { + const NAME: &'static str = "USub"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpUSub { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::USub) + } +} + +impl Node for UnaryOp { + const NAME: &'static str = "unaryop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [cmpop](https://docs.python.org/3/library/ast.html#ast.cmpop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum CmpOp { + Eq, + NotEq, + Lt, + LtE, + Gt, + GtE, + Is, + IsNot, + In, + NotIn, +} +impl CmpOp { + #[inline] + pub const fn cmp_op_eq(&self) -> Option { + match self { + CmpOp::Eq => Some(CmpOpEq), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_not_eq(&self) -> Option { + match self { + CmpOp::NotEq => Some(CmpOpNotEq), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_lt(&self) -> Option { + match self { + CmpOp::Lt => Some(CmpOpLt), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_lt_e(&self) -> Option { + match self { + CmpOp::LtE => Some(CmpOpLtE), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_gt(&self) -> Option { + match self { + CmpOp::Gt => Some(CmpOpGt), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_gt_e(&self) -> Option { + match self { + CmpOp::GtE => Some(CmpOpGtE), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_is(&self) -> Option { + match self { + CmpOp::Is => Some(CmpOpIs), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_is_not(&self) -> Option { + match self { + CmpOp::IsNot => Some(CmpOpIsNot), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_in(&self) -> Option { + match self { + CmpOp::In => Some(CmpOpIn), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_not_in(&self) -> Option { + match self { + CmpOp::NotIn => Some(CmpOpNotIn), + _ => None, + } + } +} + +pub struct CmpOpEq; +impl From for CmpOp { + fn from(_: CmpOpEq) -> Self { + CmpOp::Eq + } +} +impl From for Ast { + fn from(_: CmpOpEq) -> Self { + CmpOp::Eq.into() + } +} +impl Node for CmpOpEq { + const NAME: &'static str = "Eq"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpEq { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Eq) + } +} + +pub struct CmpOpNotEq; +impl From for CmpOp { + fn from(_: CmpOpNotEq) -> Self { + CmpOp::NotEq + } +} +impl From for Ast { + fn from(_: CmpOpNotEq) -> Self { + CmpOp::NotEq.into() + } +} +impl Node for CmpOpNotEq { + const NAME: &'static str = "NotEq"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpNotEq { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::NotEq) + } +} + +pub struct CmpOpLt; +impl From for CmpOp { + fn from(_: CmpOpLt) -> Self { + CmpOp::Lt + } +} +impl From for Ast { + fn from(_: CmpOpLt) -> Self { + CmpOp::Lt.into() + } +} +impl Node for CmpOpLt { + const NAME: &'static str = "Lt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpLt { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Lt) + } +} + +pub struct CmpOpLtE; +impl From for CmpOp { + fn from(_: CmpOpLtE) -> Self { + CmpOp::LtE + } +} +impl From for Ast { + fn from(_: CmpOpLtE) -> Self { + CmpOp::LtE.into() + } +} +impl Node for CmpOpLtE { + const NAME: &'static str = "LtE"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpLtE { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::LtE) + } +} + +pub struct CmpOpGt; +impl From for CmpOp { + fn from(_: CmpOpGt) -> Self { + CmpOp::Gt + } +} +impl From for Ast { + fn from(_: CmpOpGt) -> Self { + CmpOp::Gt.into() + } +} +impl Node for CmpOpGt { + const NAME: &'static str = "Gt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpGt { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Gt) + } +} + +pub struct CmpOpGtE; +impl From for CmpOp { + fn from(_: CmpOpGtE) -> Self { + CmpOp::GtE + } +} +impl From for Ast { + fn from(_: CmpOpGtE) -> Self { + CmpOp::GtE.into() + } +} +impl Node for CmpOpGtE { + const NAME: &'static str = "GtE"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpGtE { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::GtE) + } +} + +pub struct CmpOpIs; +impl From for CmpOp { + fn from(_: CmpOpIs) -> Self { + CmpOp::Is + } +} +impl From for Ast { + fn from(_: CmpOpIs) -> Self { + CmpOp::Is.into() + } +} +impl Node for CmpOpIs { + const NAME: &'static str = "Is"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIs { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Is) + } +} + +pub struct CmpOpIsNot; +impl From for CmpOp { + fn from(_: CmpOpIsNot) -> Self { + CmpOp::IsNot + } +} +impl From for Ast { + fn from(_: CmpOpIsNot) -> Self { + CmpOp::IsNot.into() + } +} +impl Node for CmpOpIsNot { + const NAME: &'static str = "IsNot"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIsNot { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::IsNot) + } +} + +pub struct CmpOpIn; +impl From for CmpOp { + fn from(_: CmpOpIn) -> Self { + CmpOp::In + } +} +impl From for Ast { + fn from(_: CmpOpIn) -> Self { + CmpOp::In.into() + } +} +impl Node for CmpOpIn { + const NAME: &'static str = "In"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIn { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::In) + } +} + +pub struct CmpOpNotIn; +impl From for CmpOp { + fn from(_: CmpOpNotIn) -> Self { + CmpOp::NotIn + } +} +impl From for Ast { + fn from(_: CmpOpNotIn) -> Self { + CmpOp::NotIn.into() + } +} +impl Node for CmpOpNotIn { + const NAME: &'static str = "NotIn"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpNotIn { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::NotIn) + } +} + +impl Node for CmpOp { + const NAME: &'static str = "cmpop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [comprehension](https://docs.python.org/3/library/ast.html#ast.comprehension) +#[derive(Clone, Debug, PartialEq)] +pub struct Comprehension { + pub range: TextRange, + pub target: Expr, + pub iter: Expr, + pub ifs: Vec, + pub is_async: bool, +} + +impl Node for Comprehension { + const NAME: &'static str = "comprehension"; + const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "ifs", "is_async"]; +} + +/// See also [excepthandler](https://docs.python.org/3/library/ast.html#ast.excepthandler) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum ExceptHandler { + ExceptHandler(ExceptHandlerExceptHandler), +} + +/// See also [ExceptHandler](https://docs.python.org/3/library/ast.html#ast.ExceptHandler) +#[derive(Clone, Debug, PartialEq)] +pub struct ExceptHandlerExceptHandler { + pub range: TextRange, + pub type_: Option>, + pub name: Option, + pub body: Vec, +} + +impl Node for ExceptHandlerExceptHandler { + const NAME: &'static str = "ExceptHandler"; + const FIELD_NAMES: &'static [&'static str] = &["type", "name", "body"]; +} +impl From for ExceptHandler { + fn from(payload: ExceptHandlerExceptHandler) -> Self { + ExceptHandler::ExceptHandler(payload) + } +} +impl From for Ast { + fn from(payload: ExceptHandlerExceptHandler) -> Self { + ExceptHandler::from(payload).into() + } +} + +impl Node for ExceptHandler { + const NAME: &'static str = "excepthandler"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [arguments](https://docs.python.org/3/library/ast.html#ast.arguments) +#[derive(Clone, Debug, PartialEq)] +pub struct PythonArguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kw_defaults: Vec, + pub kwarg: Option>, + pub defaults: Vec, +} + +impl Node for PythonArguments { + const NAME: &'static str = "arguments"; + const FIELD_NAMES: &'static [&'static str] = &[ + "posonlyargs", + "args", + "vararg", + "kwonlyargs", + "kw_defaults", + "kwarg", + "defaults", + ]; +} + +/// See also [arg](https://docs.python.org/3/library/ast.html#ast.arg) +#[derive(Clone, Debug, PartialEq)] +pub struct Arg { + pub range: TextRange, + pub arg: Identifier, + pub annotation: Option>, + pub type_comment: Option, +} + +impl Node for Arg { + const NAME: &'static str = "arg"; + const FIELD_NAMES: &'static [&'static str] = &["arg", "annotation", "type_comment"]; +} + +/// See also [keyword](https://docs.python.org/3/library/ast.html#ast.keyword) +#[derive(Clone, Debug, PartialEq)] +pub struct Keyword { + pub range: TextRange, + pub arg: Option, + pub value: Expr, +} + +impl Node for Keyword { + const NAME: &'static str = "keyword"; + const FIELD_NAMES: &'static [&'static str] = &["arg", "value"]; +} + +/// See also [alias](https://docs.python.org/3/library/ast.html#ast.alias) +#[derive(Clone, Debug, PartialEq)] +pub struct Alias { + pub range: TextRange, + pub name: Identifier, + pub asname: Option, +} + +impl Node for Alias { + const NAME: &'static str = "alias"; + const FIELD_NAMES: &'static [&'static str] = &["name", "asname"]; +} + +/// See also [withitem](https://docs.python.org/3/library/ast.html#ast.withitem) +#[derive(Clone, Debug, PartialEq)] +pub struct WithItem { + pub range: TextRange, + pub context_expr: Expr, + pub optional_vars: Option>, +} + +impl Node for WithItem { + const NAME: &'static str = "withitem"; + const FIELD_NAMES: &'static [&'static str] = &["context_expr", "optional_vars"]; +} + +/// See also [match_case](https://docs.python.org/3/library/ast.html#ast.match_case) +#[derive(Clone, Debug, PartialEq)] +pub struct MatchCase { + pub range: TextRange, + pub pattern: Pattern, + pub guard: Option>, + pub body: Vec, +} + +impl Node for MatchCase { + const NAME: &'static str = "match_case"; + const FIELD_NAMES: &'static [&'static str] = &["pattern", "guard", "body"]; +} + +/// See also [pattern](https://docs.python.org/3/library/ast.html#ast.pattern) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Pattern { + MatchValue(PatternMatchValue), + MatchSingleton(PatternMatchSingleton), + MatchSequence(PatternMatchSequence), + MatchMapping(PatternMatchMapping), + MatchClass(PatternMatchClass), + MatchStar(PatternMatchStar), + MatchAs(PatternMatchAs), + MatchOr(PatternMatchOr), +} + +/// See also [MatchValue](https://docs.python.org/3/library/ast.html#ast.MatchValue) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchValue { + pub range: TextRange, + pub value: Box, +} + +impl Node for PatternMatchValue { + const NAME: &'static str = "MatchValue"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Pattern { + fn from(payload: PatternMatchValue) -> Self { + Pattern::MatchValue(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchValue) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchSingleton](https://docs.python.org/3/library/ast.html#ast.MatchSingleton) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchSingleton { + pub range: TextRange, + pub value: Constant, +} + +impl Node for PatternMatchSingleton { + const NAME: &'static str = "MatchSingleton"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Pattern { + fn from(payload: PatternMatchSingleton) -> Self { + Pattern::MatchSingleton(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchSingleton) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchSequence](https://docs.python.org/3/library/ast.html#ast.MatchSequence) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchSequence { + pub range: TextRange, + pub patterns: Vec, +} + +impl Node for PatternMatchSequence { + const NAME: &'static str = "MatchSequence"; + const FIELD_NAMES: &'static [&'static str] = &["patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchSequence) -> Self { + Pattern::MatchSequence(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchSequence) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchMapping](https://docs.python.org/3/library/ast.html#ast.MatchMapping) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchMapping { + pub range: TextRange, + pub keys: Vec, + pub patterns: Vec, + pub rest: Option, +} + +impl Node for PatternMatchMapping { + const NAME: &'static str = "MatchMapping"; + const FIELD_NAMES: &'static [&'static str] = &["keys", "patterns", "rest"]; +} +impl From for Pattern { + fn from(payload: PatternMatchMapping) -> Self { + Pattern::MatchMapping(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchMapping) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchClass](https://docs.python.org/3/library/ast.html#ast.MatchClass) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchClass { + pub range: TextRange, + pub cls: Box, + pub patterns: Vec, + pub kwd_attrs: Vec, + pub kwd_patterns: Vec, +} + +impl Node for PatternMatchClass { + const NAME: &'static str = "MatchClass"; + const FIELD_NAMES: &'static [&'static str] = &["cls", "patterns", "kwd_attrs", "kwd_patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchClass) -> Self { + Pattern::MatchClass(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchClass) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchStar](https://docs.python.org/3/library/ast.html#ast.MatchStar) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchStar { + pub range: TextRange, + pub name: Option, +} + +impl Node for PatternMatchStar { + const NAME: &'static str = "MatchStar"; + const FIELD_NAMES: &'static [&'static str] = &["name"]; +} +impl From for Pattern { + fn from(payload: PatternMatchStar) -> Self { + Pattern::MatchStar(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchStar) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchAs](https://docs.python.org/3/library/ast.html#ast.MatchAs) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchAs { + pub range: TextRange, + pub pattern: Option>, + pub name: Option, +} + +impl Node for PatternMatchAs { + const NAME: &'static str = "MatchAs"; + const FIELD_NAMES: &'static [&'static str] = &["pattern", "name"]; +} +impl From for Pattern { + fn from(payload: PatternMatchAs) -> Self { + Pattern::MatchAs(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchAs) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchOr](https://docs.python.org/3/library/ast.html#ast.MatchOr) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchOr { + pub range: TextRange, + pub patterns: Vec, +} + +impl Node for PatternMatchOr { + const NAME: &'static str = "MatchOr"; + const FIELD_NAMES: &'static [&'static str] = &["patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchOr) -> Self { + Pattern::MatchOr(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchOr) -> Self { + Pattern::from(payload).into() + } +} + +impl Node for Pattern { + const NAME: &'static str = "pattern"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [type_ignore](https://docs.python.org/3/library/ast.html#ast.type_ignore) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum TypeIgnore { + TypeIgnore(TypeIgnoreTypeIgnore), +} + +/// See also [TypeIgnore](https://docs.python.org/3/library/ast.html#ast.TypeIgnore) +#[derive(Clone, Debug, PartialEq)] +pub struct TypeIgnoreTypeIgnore { + pub range: TextRange, + pub lineno: Int, + pub tag: String, +} + +impl Node for TypeIgnoreTypeIgnore { + const NAME: &'static str = "TypeIgnore"; + const FIELD_NAMES: &'static [&'static str] = &["lineno", "tag"]; +} +impl From for TypeIgnore { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { + TypeIgnore::TypeIgnore(payload) + } +} +impl From for Ast { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { + TypeIgnore::from(payload).into() + } +} + +impl Node for TypeIgnore { + const NAME: &'static str = "type_ignore"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [decorator](https://docs.python.org/3/library/ast.html#ast.decorator) +#[derive(Clone, Debug, PartialEq)] +pub struct Decorator { + pub range: TextRange, + pub expression: Expr, +} + +impl Node for Decorator { + const NAME: &'static str = "decorator"; + const FIELD_NAMES: &'static [&'static str] = &["expression"]; +} + +/// An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. +/// This form also has advantage to implement pre-order traverse. +/// `defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. +/// `vararg` and `kwarg` are still typed as `arg` because they never can have a default value. +/// +/// The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by +/// default existence, [Arguments] has location-ordered kwonlyargs fields. +/// +/// NOTE: This type is different from original Python AST. + +#[derive(Clone, Debug, PartialEq)] +pub struct Arguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kwarg: Option>, +} + +impl Node for Arguments { + const NAME: &'static str = "alt:arguments"; + const FIELD_NAMES: &'static [&'static str] = + &["posonlyargs", "args", "vararg", "kwonlyargs", "kwarg"]; +} + +/// An alternative type of AST `arg`. This is used for each function argument that might have a default value. +/// Used by `Arguments` original type. +/// +/// NOTE: This type is different from original Python AST. + +#[derive(Clone, Debug, PartialEq)] +pub struct ArgWithDefault { + pub range: TextRange, + pub def: Arg, + pub default: Option>, +} + +impl Node for ArgWithDefault { + const NAME: &'static str = "arg_with_default"; + const FIELD_NAMES: &'static [&'static str] = &["def", "default"]; +} + pub type Suite = Vec; impl CmpOp { @@ -85,5 +3222,3 @@ impl Arguments { (args, with_defaults) } } - -include!("gen/generic.rs"); diff --git a/ast/src/ranged.rs b/ast/src/ranged.rs index 560e14c5..b7b7949f 100644 --- a/ast/src/ranged.rs +++ b/ast/src/ranged.rs @@ -1,3 +1,5 @@ +// This file was originally generated from asdl by a python script, but we now edit it manually + use crate::text_size::{TextRange, TextSize}; pub use crate::builtin::*; @@ -29,4 +31,503 @@ where } } -include!("gen/ranged.rs"); +impl Ranged for crate::generic::ModModule { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModInteractive { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModExpression { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModFunctionType { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Mod { + fn range(&self) -> TextRange { + match self { + Self::Module(node) => node.range(), + Self::Interactive(node) => node.range(), + Self::Expression(node) => node.range(), + Self::FunctionType(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::StmtFunctionDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncFunctionDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtClassDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtReturn { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtDelete { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAugAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAnnAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtFor { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncFor { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtWhile { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtIf { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtWith { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncWith { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtMatch { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtRaise { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtTry { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtTryStar { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAssert { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtImport { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtImportFrom { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtGlobal { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtNonlocal { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtExpr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtPass { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtBreak { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtContinue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Stmt { + fn range(&self) -> TextRange { + match self { + Self::FunctionDef(node) => node.range(), + Self::AsyncFunctionDef(node) => node.range(), + Self::ClassDef(node) => node.range(), + Self::Return(node) => node.range(), + Self::Delete(node) => node.range(), + Self::Assign(node) => node.range(), + Self::AugAssign(node) => node.range(), + Self::AnnAssign(node) => node.range(), + Self::For(node) => node.range(), + Self::AsyncFor(node) => node.range(), + Self::While(node) => node.range(), + Self::If(node) => node.range(), + Self::With(node) => node.range(), + Self::AsyncWith(node) => node.range(), + Self::Match(node) => node.range(), + Self::Raise(node) => node.range(), + Self::Try(node) => node.range(), + Self::TryStar(node) => node.range(), + Self::Assert(node) => node.range(), + Self::Import(node) => node.range(), + Self::ImportFrom(node) => node.range(), + Self::Global(node) => node.range(), + Self::Nonlocal(node) => node.range(), + Self::Expr(node) => node.range(), + Self::Pass(node) => node.range(), + Self::Break(node) => node.range(), + Self::Continue(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::ExprBoolOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprNamedExpr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprBinOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprUnaryOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprLambda { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprIfExp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprDict { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSet { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprListComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSetComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprDictComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprGeneratorExp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprAwait { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprYield { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprYieldFrom { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprCompare { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprCall { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprFormattedValue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprJoinedStr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprConstant { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprAttribute { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSubscript { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprStarred { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprName { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprList { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprTuple { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSlice { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Expr { + fn range(&self) -> TextRange { + match self { + Self::BoolOp(node) => node.range(), + Self::NamedExpr(node) => node.range(), + Self::BinOp(node) => node.range(), + Self::UnaryOp(node) => node.range(), + Self::Lambda(node) => node.range(), + Self::IfExp(node) => node.range(), + Self::Dict(node) => node.range(), + Self::Set(node) => node.range(), + Self::ListComp(node) => node.range(), + Self::SetComp(node) => node.range(), + Self::DictComp(node) => node.range(), + Self::GeneratorExp(node) => node.range(), + Self::Await(node) => node.range(), + Self::Yield(node) => node.range(), + Self::YieldFrom(node) => node.range(), + Self::Compare(node) => node.range(), + Self::Call(node) => node.range(), + Self::FormattedValue(node) => node.range(), + Self::JoinedStr(node) => node.range(), + Self::Constant(node) => node.range(), + Self::Attribute(node) => node.range(), + Self::Subscript(node) => node.range(), + Self::Starred(node) => node.range(), + Self::Name(node) => node.range(), + Self::List(node) => node.range(), + Self::Tuple(node) => node.range(), + Self::Slice(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::Comprehension { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExceptHandlerExceptHandler { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::ExceptHandler { + fn range(&self) -> TextRange { + match self { + Self::ExceptHandler(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::PythonArguments { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Arg { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Keyword { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Alias { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::WithItem { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::MatchCase { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchValue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchSingleton { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchSequence { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchMapping { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchClass { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchStar { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchAs { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchOr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Pattern { + fn range(&self) -> TextRange { + match self { + Self::MatchValue(node) => node.range(), + Self::MatchSingleton(node) => node.range(), + Self::MatchSequence(node) => node.range(), + Self::MatchMapping(node) => node.range(), + Self::MatchClass(node) => node.range(), + Self::MatchStar(node) => node.range(), + Self::MatchAs(node) => node.range(), + Self::MatchOr(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::TypeIgnoreTypeIgnore { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::TypeIgnore { + fn range(&self) -> TextRange { + match self { + Self::TypeIgnore(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::Decorator { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Arguments { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ArgWithDefault { + fn range(&self) -> TextRange { + self.range + } +} diff --git a/parser/src/gen/parse.rs b/parser/src/gen/parse.rs index 01856ac2..4dfa47eb 100644 --- a/parser/src/gen/parse.rs +++ b/parser/src/gen/parse.rs @@ -1,4 +1,4 @@ -// File automatically generated by ast/asdl_rs.py. +// This file was originally generated from asdl by a python script, but we now edit it manually impl Parse for ast::StmtFunctionDef { fn lex_starts_at( diff --git a/scripts/cspell.sh b/scripts/cspell.sh index 116ce9ed..62f8cf29 100644 --- a/scripts/cspell.sh +++ b/scripts/cspell.sh @@ -1,3 +1,2 @@ #!/bin/bash cspell "ast/**/*.rs" "literal/**/*.rs" "core/**/*.rs" "parser/**/*.rs" -cspell ast/asdl_rs.py diff --git a/scripts/update_asdl.sh b/scripts/update_asdl.sh deleted file mode 100755 index 985d780e..00000000 --- a/scripts/update_asdl.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -set -e - -cd "$(dirname "$(dirname "$0")")" - -# rm ast/src/gen/*.rs -python ast/asdl_rs.py --ast-dir ast/src/gen/ --parser-dir parser/src/gen/ ast/Python.asdl -rustfmt ast/src/gen/*.rs parser/src/gen/*.rs