diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index 24014e628ae..dbdd867a0f0 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -316,7 +316,9 @@ Literals args=[ Name(id='a', ctx=Load())]), conversion=-1, - format_spec=Constant(value='.3'))])) + format_spec=JoinedStr( + values=[ + Constant(value='.3')]))])) .. class:: List(elts, ctx) diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index e3383355d3c..99666ba1005 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -3461,2989 +3461,140 @@ def main(): #### EVERYTHING BELOW IS GENERATED BY python Lib/test/test_ast.py -g ##### exec_results = [ - ("Module", [("Expr", (1, 0, 1, 4), ("Constant", (1, 0, 1, 4), None, None))], []), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 18), - ("Constant", (1, 0, 1, 18), "module docstring", None), - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 13), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 9, 1, 13))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 29), - "f", - ("arguments", [], [], None, [], [], None, []), - [ - ( - "Expr", - (1, 9, 1, 29), - ("Constant", (1, 9, 1, 29), "function docstring", None), - ) - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 14), - "f", - ( - "arguments", - [], - [("arg", (1, 6, 1, 7), "a", None, None)], - None, - [], - [], - None, - [], - ), - [("Pass", (1, 10, 1, 14))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 16), - "f", - ( - "arguments", - [], - [("arg", (1, 6, 1, 7), "a", None, None)], - None, - [], - [], - None, - [("Constant", (1, 8, 1, 9), 0, None)], - ), - [("Pass", (1, 12, 1, 16))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 18), - "f", - ( - "arguments", - [], - [], - ("arg", (1, 7, 1, 11), "args", None, None), - [], - [], - None, - [], - ), - [("Pass", (1, 14, 1, 18))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 23), - "f", - ( - "arguments", - [], - [], - ( - "arg", - (1, 7, 1, 16), - "args", - ( - "Starred", - (1, 13, 1, 16), - ("Name", (1, 14, 1, 16), "Ts", ("Load",)), - ("Load",), - ), - None, - ), - [], - [], - None, - [], - ), - [("Pass", (1, 19, 1, 23))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 36), - "f", - ( - "arguments", - [], - [], - ( - "arg", - (1, 7, 1, 29), - "args", - ( - "Starred", - (1, 13, 1, 29), - ( - "Subscript", - (1, 14, 1, 29), - ("Name", (1, 14, 1, 19), "tuple", ("Load",)), - ( - "Tuple", - (1, 20, 1, 28), - [ - ("Name", (1, 20, 1, 23), "int", ("Load",)), - ("Constant", (1, 25, 1, 28), Ellipsis, None), - ], - ("Load",), - ), - ("Load",), - ), - ("Load",), - ), - None, - ), - [], - [], - None, - [], - ), - [("Pass", (1, 32, 1, 36))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 36), - "f", - ( - "arguments", - [], - [], - ( - "arg", - (1, 7, 1, 29), - "args", - ( - "Starred", - (1, 13, 1, 29), - ( - "Subscript", - (1, 14, 1, 29), - ("Name", (1, 14, 1, 19), "tuple", ("Load",)), - ( - "Tuple", - (1, 20, 1, 28), - [ - ("Name", (1, 20, 1, 23), "int", ("Load",)), - ( - "Starred", - (1, 25, 1, 28), - ("Name", (1, 26, 1, 28), "Ts", ("Load",)), - ("Load",), - ), - ], - ("Load",), - ), - ("Load",), - ), - ("Load",), - ), - None, - ), - [], - [], - None, - [], - ), - [("Pass", (1, 32, 1, 36))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 21), - "f", - ( - "arguments", - [], - [], - None, - [], - [], - ("arg", (1, 8, 1, 14), "kwargs", None, None), - [], - ), - [("Pass", (1, 17, 1, 21))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 71), - "f", - ( - "arguments", - [], - [ - ("arg", (1, 6, 1, 7), "a", None, None), - ("arg", (1, 9, 1, 10), "b", None, None), - ("arg", (1, 14, 1, 15), "c", None, None), - ("arg", (1, 22, 1, 23), "d", None, None), - ("arg", (1, 28, 1, 29), "e", None, None), - ], - ("arg", (1, 35, 1, 39), "args", None, None), - [("arg", (1, 41, 1, 42), "f", None, None)], - [("Constant", (1, 43, 1, 45), 42, None)], - ("arg", (1, 49, 1, 55), "kwargs", None, None), - [ - ("Constant", (1, 11, 1, 12), 1, None), - ("Constant", (1, 16, 1, 20), None, None), - ("List", (1, 24, 1, 26), [], ("Load",)), - ("Dict", (1, 30, 1, 32), [], []), - ], - ), - [ - ( - "Expr", - (1, 58, 1, 71), - ("Constant", (1, 58, 1, 71), "doc for f()", None), - ) - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 27), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 23, 1, 27))], - [], - ( - "Subscript", - (1, 11, 1, 21), - ("Name", (1, 11, 1, 16), "tuple", ("Load",)), - ( - "Tuple", - (1, 17, 1, 20), - [ - ( - "Starred", - (1, 17, 1, 20), - ("Name", (1, 18, 1, 20), "Ts", ("Load",)), - ("Load",), - ) - ], - ("Load",), - ), - ("Load",), - ), - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 32), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 28, 1, 32))], - [], - ( - "Subscript", - (1, 11, 1, 26), - ("Name", (1, 11, 1, 16), "tuple", ("Load",)), - ( - "Tuple", - (1, 17, 1, 25), - [ - ("Name", (1, 17, 1, 20), "int", ("Load",)), - ( - "Starred", - (1, 22, 1, 25), - ("Name", (1, 23, 1, 25), "Ts", ("Load",)), - ("Load",), - ), - ], - ("Load",), - ), - ("Load",), - ), - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 45), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 41, 1, 45))], - [], - ( - "Subscript", - (1, 11, 1, 39), - ("Name", (1, 11, 1, 16), "tuple", ("Load",)), - ( - "Tuple", - (1, 17, 1, 38), - [ - ("Name", (1, 17, 1, 20), "int", ("Load",)), - ( - "Starred", - (1, 22, 1, 38), - ( - "Subscript", - (1, 23, 1, 38), - ("Name", (1, 23, 1, 28), "tuple", ("Load",)), - ( - "Tuple", - (1, 29, 1, 37), - [ - ("Name", (1, 29, 1, 32), "int", ("Load",)), - ( - "Constant", - (1, 34, 1, 37), - Ellipsis, - None, - ), - ], - ("Load",), - ), - ("Load",), - ), - ("Load",), - ), - ], - ("Load",), - ), - ("Load",), - ), - None, - [], - ) - ], - [], - ), - ( - "Module", - [("ClassDef", (1, 0, 1, 12), "C", [], [], [("Pass", (1, 8, 1, 12))], [], [])], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 32), - "C", - [], - [], - [ - ( - "Expr", - (1, 9, 1, 32), - ("Constant", (1, 9, 1, 32), "docstring for class C", None), - ) - ], - [], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 21), - "C", - [("Name", (1, 8, 1, 14), "object", ("Load",))], - [], - [("Pass", (1, 17, 1, 21))], - [], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 16), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Return", (1, 8, 1, 16), ("Constant", (1, 15, 1, 16), 1, None))], - [], - None, - None, - [], - ) - ], - [], - ), - ("Module", [("Delete", (1, 0, 1, 5), [("Name", (1, 4, 1, 5), "v", ("Del",))])], []), - ( - "Module", - [ - ( - "Assign", - (1, 0, 1, 5), - [("Name", (1, 0, 1, 1), "v", ("Store",))], - ("Constant", (1, 4, 1, 5), 1, None), - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Assign", - (1, 0, 1, 7), - [ - ( - "Tuple", - (1, 0, 1, 3), - [ - ("Name", (1, 0, 1, 1), "a", ("Store",)), - ("Name", (1, 2, 1, 3), "b", ("Store",)), - ], - ("Store",), - ) - ], - ("Name", (1, 6, 1, 7), "c", ("Load",)), - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Assign", - (1, 0, 1, 9), - [ - ( - "Tuple", - (1, 0, 1, 5), - [ - ("Name", (1, 1, 1, 2), "a", ("Store",)), - ("Name", (1, 3, 1, 4), "b", ("Store",)), - ], - ("Store",), - ) - ], - ("Name", (1, 8, 1, 9), "c", ("Load",)), - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Assign", - (1, 0, 1, 9), - [ - ( - "List", - (1, 0, 1, 5), - [ - ("Name", (1, 1, 1, 2), "a", ("Store",)), - ("Name", (1, 3, 1, 4), "b", ("Store",)), - ], - ("Store",), - ) - ], - ("Name", (1, 8, 1, 9), "c", ("Load",)), - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "AnnAssign", - (1, 0, 1, 13), - ("Name", (1, 0, 1, 1), "x", ("Store",)), - ( - "Subscript", - (1, 3, 1, 13), - ("Name", (1, 3, 1, 8), "tuple", ("Load",)), - ( - "Tuple", - (1, 9, 1, 12), - [ - ( - "Starred", - (1, 9, 1, 12), - ("Name", (1, 10, 1, 12), "Ts", ("Load",)), - ("Load",), - ) - ], - ("Load",), - ), - ("Load",), - ), - None, - 1, - ) - ], - [], - ), - ( - "Module", - [ - ( - "AnnAssign", - (1, 0, 1, 18), - ("Name", (1, 0, 1, 1), "x", ("Store",)), - ( - "Subscript", - (1, 3, 1, 18), - ("Name", (1, 3, 1, 8), "tuple", ("Load",)), - ( - "Tuple", - (1, 9, 1, 17), - [ - ("Name", (1, 9, 1, 12), "int", ("Load",)), - ( - "Starred", - (1, 14, 1, 17), - ("Name", (1, 15, 1, 17), "Ts", ("Load",)), - ("Load",), - ), - ], - ("Load",), - ), - ("Load",), - ), - None, - 1, - ) - ], - [], - ), - ( - "Module", - [ - ( - "AnnAssign", - (1, 0, 1, 31), - ("Name", (1, 0, 1, 1), "x", ("Store",)), - ( - "Subscript", - (1, 3, 1, 31), - ("Name", (1, 3, 1, 8), "tuple", ("Load",)), - ( - "Tuple", - (1, 9, 1, 30), - [ - ("Name", (1, 9, 1, 12), "int", ("Load",)), - ( - "Starred", - (1, 14, 1, 30), - ( - "Subscript", - (1, 15, 1, 30), - ("Name", (1, 15, 1, 20), "tuple", ("Load",)), - ( - "Tuple", - (1, 21, 1, 29), - [ - ("Name", (1, 21, 1, 24), "str", ("Load",)), - ( - "Constant", - (1, 26, 1, 29), - Ellipsis, - None, - ), - ], - ("Load",), - ), - ("Load",), - ), - ("Load",), - ), - ], - ("Load",), - ), - ("Load",), - ), - None, - 1, - ) - ], - [], - ), - ( - "Module", - [ - ( - "AugAssign", - (1, 0, 1, 6), - ("Name", (1, 0, 1, 1), "v", ("Store",)), - ("Add",), - ("Constant", (1, 5, 1, 6), 1, None), - ) - ], - [], - ), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 15), - ("Name", (1, 4, 1, 5), "v", ("Store",)), - ("Name", (1, 9, 1, 10), "v", ("Load",)), - [("Pass", (1, 11, 1, 15))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "While", - (1, 0, 1, 12), - ("Name", (1, 6, 1, 7), "v", ("Load",)), - [("Pass", (1, 8, 1, 12))], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "If", - (1, 0, 1, 9), - ("Name", (1, 3, 1, 4), "v", ("Load",)), - [("Pass", (1, 5, 1, 9))], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "If", - (1, 0, 4, 6), - ("Name", (1, 3, 1, 4), "a", ("Load",)), - [("Pass", (2, 2, 2, 6))], - [ - ( - "If", - (3, 0, 4, 6), - ("Name", (3, 5, 3, 6), "b", ("Load",)), - [("Pass", (4, 2, 4, 6))], - [], - ) - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "If", - (1, 0, 6, 6), - ("Name", (1, 3, 1, 4), "a", ("Load",)), - [("Pass", (2, 2, 2, 6))], - [ - ( - "If", - (3, 0, 6, 6), - ("Name", (3, 5, 3, 6), "b", ("Load",)), - [("Pass", (4, 2, 4, 6))], - [("Pass", (6, 2, 6, 6))], - ) - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "With", - (1, 0, 1, 17), - [ - ( - "withitem", - ("Name", (1, 5, 1, 6), "x", ("Load",)), - ("Name", (1, 10, 1, 11), "y", ("Store",)), - ) - ], - [("Pass", (1, 13, 1, 17))], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "With", - (1, 0, 1, 25), - [ - ( - "withitem", - ("Name", (1, 5, 1, 6), "x", ("Load",)), - ("Name", (1, 10, 1, 11), "y", ("Store",)), - ), - ( - "withitem", - ("Name", (1, 13, 1, 14), "z", ("Load",)), - ("Name", (1, 18, 1, 19), "q", ("Store",)), - ), - ], - [("Pass", (1, 21, 1, 25))], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "With", - (1, 0, 1, 19), - [ - ( - "withitem", - ("Name", (1, 6, 1, 7), "x", ("Load",)), - ("Name", (1, 11, 1, 12), "y", ("Store",)), - ) - ], - [("Pass", (1, 15, 1, 19))], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "With", - (1, 0, 1, 17), - [ - ("withitem", ("Name", (1, 6, 1, 7), "x", ("Load",)), None), - ("withitem", ("Name", (1, 9, 1, 10), "y", ("Load",)), None), - ], - [("Pass", (1, 13, 1, 17))], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Raise", - (1, 0, 1, 25), - ( - "Call", - (1, 6, 1, 25), - ("Name", (1, 6, 1, 15), "Exception", ("Load",)), - [("Constant", (1, 16, 1, 24), "string", None)], - [], - ), - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Try", - (1, 0, 4, 6), - [("Pass", (2, 2, 2, 6))], - [ - ( - "ExceptHandler", - (3, 0, 4, 6), - ("Name", (3, 7, 3, 16), "Exception", ("Load",)), - None, - [("Pass", (4, 2, 4, 6))], - ) - ], - [], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "Try", - (1, 0, 4, 6), - [("Pass", (2, 2, 2, 6))], - [], - [], - [("Pass", (4, 2, 4, 6))], - ) - ], - [], - ), - ( - "Module", - [ - ( - "TryStar", - (1, 0, 4, 6), - [("Pass", (2, 2, 2, 6))], - [ - ( - "ExceptHandler", - (3, 0, 4, 6), - ("Name", (3, 8, 3, 17), "Exception", ("Load",)), - None, - [("Pass", (4, 2, 4, 6))], - ) - ], - [], - [], - ) - ], - [], - ), - ( - "Module", - [("Assert", (1, 0, 1, 8), ("Name", (1, 7, 1, 8), "v", ("Load",)), None)], - [], - ), - ( - "Module", - [("Import", (1, 0, 1, 10), [("alias", (1, 7, 1, 10), "sys", None)])], - [], - ), - ( - "Module", - [ - ( - "ImportFrom", - (1, 0, 1, 17), - "sys", - [("alias", (1, 16, 1, 17), "v", None)], - 0, - ) - ], - [], - ), - ("Module", [("Global", (1, 0, 1, 8), ["v"])], []), - ("Module", [("Expr", (1, 0, 1, 1), ("Constant", (1, 0, 1, 1), 1, None))], []), - ("Module", [("Pass", (1, 0, 1, 4))], []), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 16), - ("Name", (1, 4, 1, 5), "v", ("Store",)), - ("Name", (1, 9, 1, 10), "v", ("Load",)), - [("Break", (1, 11, 1, 16))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 19), - ("Name", (1, 4, 1, 5), "v", ("Store",)), - ("Name", (1, 9, 1, 10), "v", ("Load",)), - [("Continue", (1, 11, 1, 19))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 18), - ( - "Tuple", - (1, 4, 1, 7), - [ - ("Name", (1, 4, 1, 5), "a", ("Store",)), - ("Name", (1, 6, 1, 7), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 11, 1, 12), "c", ("Load",)), - [("Pass", (1, 14, 1, 18))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 20), - ( - "Tuple", - (1, 4, 1, 9), - [ - ("Name", (1, 5, 1, 6), "a", ("Store",)), - ("Name", (1, 7, 1, 8), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 13, 1, 14), "c", ("Load",)), - [("Pass", (1, 16, 1, 20))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "For", - (1, 0, 1, 20), - ( - "List", - (1, 4, 1, 9), - [ - ("Name", (1, 5, 1, 6), "a", ("Store",)), - ("Name", (1, 7, 1, 8), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 13, 1, 14), "c", ("Load",)), - [("Pass", (1, 16, 1, 20))], - [], - None, - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 11, 5), - ( - "GeneratorExp", - (1, 0, 11, 5), - ( - "Tuple", - (2, 4, 6, 5), - [ - ("Name", (3, 4, 3, 6), "Aa", ("Load",)), - ("Name", (5, 7, 5, 9), "Bb", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (8, 4, 10, 6), - [ - ("Name", (8, 4, 8, 6), "Aa", ("Store",)), - ("Name", (10, 4, 10, 6), "Bb", ("Store",)), - ], - ("Store",), - ), - ("Name", (10, 10, 10, 12), "Cc", ("Load",)), - [], - 0, - ) - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 34), - ( - "DictComp", - (1, 0, 1, 34), - ("Name", (1, 1, 1, 2), "a", ("Load",)), - ("Name", (1, 5, 1, 6), "b", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 11, 1, 12), "w", ("Store",)), - ("Name", (1, 16, 1, 17), "x", ("Load",)), - [], - 0, - ), - ( - "comprehension", - ("Name", (1, 22, 1, 23), "m", ("Store",)), - ("Name", (1, 27, 1, 28), "p", ("Load",)), - [("Name", (1, 32, 1, 33), "g", ("Load",))], - 0, - ), - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 20), - ( - "DictComp", - (1, 0, 1, 20), - ("Name", (1, 1, 1, 2), "a", ("Load",)), - ("Name", (1, 5, 1, 6), "b", ("Load",)), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 14), - [ - ("Name", (1, 11, 1, 12), "v", ("Store",)), - ("Name", (1, 13, 1, 14), "w", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 18, 1, 19), "x", ("Load",)), - [], - 0, - ) - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 19), - ( - "SetComp", - (1, 0, 1, 19), - ("Name", (1, 1, 1, 2), "r", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 7, 1, 8), "l", ("Store",)), - ("Name", (1, 12, 1, 13), "x", ("Load",)), - [("Name", (1, 17, 1, 18), "g", ("Load",))], - 0, - ) - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 16), - ( - "SetComp", - (1, 0, 1, 16), - ("Name", (1, 1, 1, 2), "r", ("Load",)), - [ - ( - "comprehension", - ( - "Tuple", - (1, 7, 1, 10), - [ - ("Name", (1, 7, 1, 8), "l", ("Store",)), - ("Name", (1, 9, 1, 10), "m", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 14, 1, 15), "x", ("Load",)), - [], - 0, - ) - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "AsyncFunctionDef", - (1, 0, 3, 18), - "f", - ("arguments", [], [], None, [], [], None, []), - [ - ( - "Expr", - (2, 1, 2, 17), - ("Constant", (2, 1, 2, 17), "async function", None), - ), - ( - "Expr", - (3, 1, 3, 18), - ( - "Await", - (3, 1, 3, 18), - ( - "Call", - (3, 7, 3, 18), - ("Name", (3, 7, 3, 16), "something", ("Load",)), - [], - [], - ), - ), - ), - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "AsyncFunctionDef", - (1, 0, 3, 8), - "f", - ("arguments", [], [], None, [], [], None, []), - [ - ( - "AsyncFor", - (2, 1, 3, 8), - ("Name", (2, 11, 2, 12), "e", ("Store",)), - ("Name", (2, 16, 2, 17), "i", ("Load",)), - [ - ( - "Expr", - (2, 19, 2, 20), - ("Constant", (2, 19, 2, 20), 1, None), - ) - ], - [("Expr", (3, 7, 3, 8), ("Constant", (3, 7, 3, 8), 2, None))], - None, - ) - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "AsyncFunctionDef", - (1, 0, 2, 21), - "f", - ("arguments", [], [], None, [], [], None, []), - [ - ( - "AsyncWith", - (2, 1, 2, 21), - [ - ( - "withitem", - ("Name", (2, 12, 2, 13), "a", ("Load",)), - ("Name", (2, 17, 2, 18), "b", ("Store",)), - ) - ], - [ - ( - "Expr", - (2, 20, 2, 21), - ("Constant", (2, 20, 2, 21), 1, None), - ) - ], - None, - ) - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 14), - ( - "Dict", - (1, 0, 1, 14), - [None, ("Constant", (1, 10, 1, 11), 2, None)], - [ - ( - "Dict", - (1, 3, 1, 8), - [("Constant", (1, 4, 1, 5), 1, None)], - [("Constant", (1, 6, 1, 7), 2, None)], - ), - ("Constant", (1, 12, 1, 13), 3, None), - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 12), - ( - "Set", - (1, 0, 1, 12), - [ - ( - "Starred", - (1, 1, 1, 8), - ( - "Set", - (1, 2, 1, 8), - [ - ("Constant", (1, 3, 1, 4), 1, None), - ("Constant", (1, 6, 1, 7), 2, None), - ], - ), - ("Load",), - ), - ("Constant", (1, 10, 1, 11), 3, None), - ], - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "AsyncFunctionDef", - (1, 0, 2, 21), - "f", - ("arguments", [], [], None, [], [], None, []), - [ - ( - "Expr", - (2, 1, 2, 21), - ( - "ListComp", - (2, 1, 2, 21), - ("Name", (2, 2, 2, 3), "i", ("Load",)), - [ - ( - "comprehension", - ("Name", (2, 14, 2, 15), "b", ("Store",)), - ("Name", (2, 19, 2, 20), "c", ("Load",)), - [], - 1, - ) - ], - ), - ) - ], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (4, 0, 4, 13), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (4, 9, 4, 13))], - [ - ("Name", (1, 1, 1, 6), "deco1", ("Load",)), - ( - "Call", - (2, 1, 2, 8), - ("Name", (2, 1, 2, 6), "deco2", ("Load",)), - [], - [], - ), - ( - "Call", - (3, 1, 3, 9), - ("Name", (3, 1, 3, 6), "deco3", ("Load",)), - [("Constant", (3, 7, 3, 8), 1, None)], - [], - ), - ], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "AsyncFunctionDef", - (4, 0, 4, 19), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (4, 15, 4, 19))], - [ - ("Name", (1, 1, 1, 6), "deco1", ("Load",)), - ( - "Call", - (2, 1, 2, 8), - ("Name", (2, 1, 2, 6), "deco2", ("Load",)), - [], - [], - ), - ( - "Call", - (3, 1, 3, 9), - ("Name", (3, 1, 3, 6), "deco3", ("Load",)), - [("Constant", (3, 7, 3, 8), 1, None)], - [], - ), - ], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (4, 0, 4, 13), - "C", - [], - [], - [("Pass", (4, 9, 4, 13))], - [ - ("Name", (1, 1, 1, 6), "deco1", ("Load",)), - ( - "Call", - (2, 1, 2, 8), - ("Name", (2, 1, 2, 6), "deco2", ("Load",)), - [], - [], - ), - ( - "Call", - (3, 1, 3, 9), - ("Name", (3, 1, 3, 6), "deco3", ("Load",)), - [("Constant", (3, 7, 3, 8), 1, None)], - [], - ), - ], - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (2, 0, 2, 13), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (2, 9, 2, 13))], - [ - ( - "Call", - (1, 1, 1, 19), - ("Name", (1, 1, 1, 5), "deco", ("Load",)), - [ - ( - "GeneratorExp", - (1, 5, 1, 19), - ("Name", (1, 6, 1, 7), "a", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 17, 1, 18), "b", ("Load",)), - [], - 0, - ) - ], - ) - ], - [], - ) - ], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (2, 0, 2, 13), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (2, 9, 2, 13))], - [ - ( - "Attribute", - (1, 1, 1, 6), - ( - "Attribute", - (1, 1, 1, 4), - ("Name", (1, 1, 1, 2), "a", ("Load",)), - "b", - ("Load",), - ), - "c", - ("Load",), - ) - ], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "Expr", - (1, 0, 1, 8), - ( - "NamedExpr", - (1, 1, 1, 7), - ("Name", (1, 1, 1, 2), "a", ("Store",)), - ("Constant", (1, 6, 1, 7), 1, None), - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 18), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [], - None, - [], - [], - None, - [], - ), - [("Pass", (1, 14, 1, 18))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 26), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [ - ("arg", (1, 12, 1, 13), "c", None, None), - ("arg", (1, 15, 1, 16), "d", None, None), - ("arg", (1, 18, 1, 19), "e", None, None), - ], - None, - [], - [], - None, - [], - ), - [("Pass", (1, 22, 1, 26))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 29), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 12, 1, 13), "c", None, None)], - None, - [ - ("arg", (1, 18, 1, 19), "d", None, None), - ("arg", (1, 21, 1, 22), "e", None, None), - ], - [None, None], - None, - [], - ), - [("Pass", (1, 25, 1, 29))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 39), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 12, 1, 13), "c", None, None)], - None, - [ - ("arg", (1, 18, 1, 19), "d", None, None), - ("arg", (1, 21, 1, 22), "e", None, None), - ], - [None, None], - ("arg", (1, 26, 1, 32), "kwargs", None, None), - [], - ), - [("Pass", (1, 35, 1, 39))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 20), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [], - None, - [], - [], - None, - [("Constant", (1, 8, 1, 9), 1, None)], - ), - [("Pass", (1, 16, 1, 20))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 29), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [ - ("arg", (1, 14, 1, 15), "b", None, None), - ("arg", (1, 19, 1, 20), "c", None, None), - ], - None, - [], - [], - None, - [ - ("Constant", (1, 8, 1, 9), 1, None), - ("Constant", (1, 16, 1, 17), 2, None), - ("Constant", (1, 21, 1, 22), 4, None), - ], - ), - [("Pass", (1, 25, 1, 29))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 32), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 14, 1, 15), "b", None, None)], - None, - [("arg", (1, 22, 1, 23), "c", None, None)], - [("Constant", (1, 24, 1, 25), 4, None)], - None, - [ - ("Constant", (1, 8, 1, 9), 1, None), - ("Constant", (1, 16, 1, 17), 2, None), - ], - ), - [("Pass", (1, 28, 1, 32))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 30), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 14, 1, 15), "b", None, None)], - None, - [("arg", (1, 22, 1, 23), "c", None, None)], - [None], - None, - [ - ("Constant", (1, 8, 1, 9), 1, None), - ("Constant", (1, 16, 1, 17), 2, None), - ], - ), - [("Pass", (1, 26, 1, 30))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 42), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 14, 1, 15), "b", None, None)], - None, - [("arg", (1, 22, 1, 23), "c", None, None)], - [("Constant", (1, 24, 1, 25), 4, None)], - ("arg", (1, 29, 1, 35), "kwargs", None, None), - [ - ("Constant", (1, 8, 1, 9), 1, None), - ("Constant", (1, 16, 1, 17), 2, None), - ], - ), - [("Pass", (1, 38, 1, 42))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 40), - "f", - ( - "arguments", - [("arg", (1, 6, 1, 7), "a", None, None)], - [("arg", (1, 14, 1, 15), "b", None, None)], - None, - [("arg", (1, 22, 1, 23), "c", None, None)], - [None], - ("arg", (1, 27, 1, 33), "kwargs", None, None), - [ - ("Constant", (1, 8, 1, 9), 1, None), - ("Constant", (1, 16, 1, 17), 2, None), - ], - ), - [("Pass", (1, 36, 1, 40))], - [], - None, - None, - [], - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 12), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [], - ("Name", (1, 9, 1, 12), "int", ("Load",)), - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 15), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [("TypeVar", (1, 7, 1, 8), "T", None, None)], - ("Name", (1, 12, 1, 15), "int", ("Load",)), - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 32), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [ - ("TypeVar", (1, 7, 1, 8), "T", None, None), - ("TypeVarTuple", (1, 10, 1, 13), "Ts", None), - ("ParamSpec", (1, 15, 1, 18), "P", None), - ], - ( - "Tuple", - (1, 22, 1, 32), - [ - ("Name", (1, 23, 1, 24), "T", ("Load",)), - ("Name", (1, 26, 1, 28), "Ts", ("Load",)), - ("Name", (1, 30, 1, 31), "P", ("Load",)), - ], - ("Load",), - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 37), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [ - ( - "TypeVar", - (1, 7, 1, 13), - "T", - ("Name", (1, 10, 1, 13), "int", ("Load",)), - None, - ), - ("TypeVarTuple", (1, 15, 1, 18), "Ts", None), - ("ParamSpec", (1, 20, 1, 23), "P", None), - ], - ( - "Tuple", - (1, 27, 1, 37), - [ - ("Name", (1, 28, 1, 29), "T", ("Load",)), - ("Name", (1, 31, 1, 33), "Ts", ("Load",)), - ("Name", (1, 35, 1, 36), "P", ("Load",)), - ], - ("Load",), - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 44), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [ - ( - "TypeVar", - (1, 7, 1, 20), - "T", - ( - "Tuple", - (1, 10, 1, 20), - [ - ("Name", (1, 11, 1, 14), "int", ("Load",)), - ("Name", (1, 16, 1, 19), "str", ("Load",)), - ], - ("Load",), - ), - None, - ), - ("TypeVarTuple", (1, 22, 1, 25), "Ts", None), - ("ParamSpec", (1, 27, 1, 30), "P", None), - ], - ( - "Tuple", - (1, 34, 1, 44), - [ - ("Name", (1, 35, 1, 36), "T", ("Load",)), - ("Name", (1, 38, 1, 40), "Ts", ("Load",)), - ("Name", (1, 42, 1, 43), "P", ("Load",)), - ], - ("Load",), - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "TypeAlias", - (1, 0, 1, 48), - ("Name", (1, 5, 1, 6), "X", ("Store",)), - [ - ( - "TypeVar", - (1, 7, 1, 17), - "T", - ("Name", (1, 10, 1, 13), "int", ("Load",)), - ("Constant", (1, 16, 1, 17), 1, None), - ), - ( - "TypeVarTuple", - (1, 19, 1, 26), - "Ts", - ("Constant", (1, 25, 1, 26), 2, None), - ), - ( - "ParamSpec", - (1, 28, 1, 34), - "P", - ("Constant", (1, 33, 1, 34), 3, None), - ), - ], - ( - "Tuple", - (1, 38, 1, 48), - [ - ("Name", (1, 39, 1, 40), "T", ("Load",)), - ("Name", (1, 42, 1, 44), "Ts", ("Load",)), - ("Name", (1, 46, 1, 47), "P", ("Load",)), - ], - ("Load",), - ), - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 16), - "X", - [], - [], - [("Pass", (1, 12, 1, 16))], - [], - [("TypeVar", (1, 8, 1, 9), "T", None, None)], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 26), - "X", - [], - [], - [("Pass", (1, 22, 1, 26))], - [], - [ - ("TypeVar", (1, 8, 1, 9), "T", None, None), - ("TypeVarTuple", (1, 11, 1, 14), "Ts", None), - ("ParamSpec", (1, 16, 1, 19), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 31), - "X", - [], - [], - [("Pass", (1, 27, 1, 31))], - [], - [ - ( - "TypeVar", - (1, 8, 1, 14), - "T", - ("Name", (1, 11, 1, 14), "int", ("Load",)), - None, - ), - ("TypeVarTuple", (1, 16, 1, 19), "Ts", None), - ("ParamSpec", (1, 21, 1, 24), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 38), - "X", - [], - [], - [("Pass", (1, 34, 1, 38))], - [], - [ - ( - "TypeVar", - (1, 8, 1, 21), - "T", - ( - "Tuple", - (1, 11, 1, 21), - [ - ("Name", (1, 12, 1, 15), "int", ("Load",)), - ("Name", (1, 17, 1, 20), "str", ("Load",)), - ], - ("Load",), - ), - None, - ), - ("TypeVarTuple", (1, 23, 1, 26), "Ts", None), - ("ParamSpec", (1, 28, 1, 31), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "ClassDef", - (1, 0, 1, 43), - "X", - [], - [], - [("Pass", (1, 39, 1, 43))], - [], - [ - ( - "TypeVar", - (1, 8, 1, 18), - "T", - ("Name", (1, 11, 1, 14), "int", ("Load",)), - ("Constant", (1, 17, 1, 18), 1, None), - ), - ( - "TypeVarTuple", - (1, 20, 1, 27), - "Ts", - ("Constant", (1, 26, 1, 27), 2, None), - ), - ( - "ParamSpec", - (1, 29, 1, 36), - "P", - ("Constant", (1, 35, 1, 36), 3, None), - ), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 16), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 12, 1, 16))], - [], - None, - None, - [("TypeVar", (1, 6, 1, 7), "T", None, None)], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 26), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 22, 1, 26))], - [], - None, - None, - [ - ("TypeVar", (1, 6, 1, 7), "T", None, None), - ("TypeVarTuple", (1, 9, 1, 12), "Ts", None), - ("ParamSpec", (1, 14, 1, 17), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 31), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 27, 1, 31))], - [], - None, - None, - [ - ( - "TypeVar", - (1, 6, 1, 12), - "T", - ("Name", (1, 9, 1, 12), "int", ("Load",)), - None, - ), - ("TypeVarTuple", (1, 14, 1, 17), "Ts", None), - ("ParamSpec", (1, 19, 1, 22), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 38), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 34, 1, 38))], - [], - None, - None, - [ - ( - "TypeVar", - (1, 6, 1, 19), - "T", - ( - "Tuple", - (1, 9, 1, 19), - [ - ("Name", (1, 10, 1, 13), "int", ("Load",)), - ("Name", (1, 15, 1, 18), "str", ("Load",)), - ], - ("Load",), - ), - None, - ), - ("TypeVarTuple", (1, 21, 1, 24), "Ts", None), - ("ParamSpec", (1, 26, 1, 29), "P", None), - ], - ) - ], - [], - ), - ( - "Module", - [ - ( - "FunctionDef", - (1, 0, 1, 43), - "f", - ("arguments", [], [], None, [], [], None, []), - [("Pass", (1, 39, 1, 43))], - [], - None, - None, - [ - ( - "TypeVar", - (1, 6, 1, 16), - "T", - ("Name", (1, 9, 1, 12), "int", ("Load",)), - ("Constant", (1, 15, 1, 16), 1, None), - ), - ( - "TypeVarTuple", - (1, 18, 1, 25), - "Ts", - ("Constant", (1, 24, 1, 25), 2, None), - ), - ( - "ParamSpec", - (1, 27, 1, 34), - "P", - ("Constant", (1, 33, 1, 34), 3, None), - ), - ], - ) - ], - [], - ), +('Module', [('Expr', (1, 0, 1, 4), ('Constant', (1, 0, 1, 4), None, None))], []), +('Module', [('Expr', (1, 0, 1, 18), ('Constant', (1, 0, 1, 18), 'module docstring', None))], []), +('Module', [('FunctionDef', (1, 0, 1, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 9, 1, 13))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (1, 9, 1, 29), ('Constant', (1, 9, 1, 29), 'function docstring', None))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 14), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, []), [('Pass', (1, 10, 1, 14))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 0, None)]), [('Pass', (1, 12, 1, 16))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 11), 'args', None, None), [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 23), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 16), 'args', ('Starred', (1, 13, 1, 16), ('Name', (1, 14, 1, 16), 'Ts', ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 19, 1, 23))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Constant', (1, 25, 1, 28), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Starred', (1, 25, 1, 28), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 21), 'f', ('arguments', [], [], None, [], [], ('arg', (1, 8, 1, 14), 'kwargs', None, None), []), [('Pass', (1, 17, 1, 21))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 71), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None), ('arg', (1, 9, 1, 10), 'b', None, None), ('arg', (1, 14, 1, 15), 'c', None, None), ('arg', (1, 22, 1, 23), 'd', None, None), ('arg', (1, 28, 1, 29), 'e', None, None)], ('arg', (1, 35, 1, 39), 'args', None, None), [('arg', (1, 41, 1, 42), 'f', None, None)], [('Constant', (1, 43, 1, 45), 42, None)], ('arg', (1, 49, 1, 55), 'kwargs', None, None), [('Constant', (1, 11, 1, 12), 1, None), ('Constant', (1, 16, 1, 20), None, None), ('List', (1, 24, 1, 26), [], ('Load',)), ('Dict', (1, 30, 1, 32), [], [])]), [('Expr', (1, 58, 1, 71), ('Constant', (1, 58, 1, 71), 'doc for f()', None))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 27), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 23, 1, 27))], [], ('Subscript', (1, 11, 1, 21), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 20), [('Starred', (1, 17, 1, 20), ('Name', (1, 18, 1, 20), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 28, 1, 32))], [], ('Subscript', (1, 11, 1, 26), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 25), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 25), ('Name', (1, 23, 1, 25), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 45), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 41, 1, 45))], [], ('Subscript', (1, 11, 1, 39), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 38), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 38), ('Subscript', (1, 23, 1, 38), ('Name', (1, 23, 1, 28), 'tuple', ('Load',)), ('Tuple', (1, 29, 1, 37), [('Name', (1, 29, 1, 32), 'int', ('Load',)), ('Constant', (1, 34, 1, 37), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []), +('Module', [('ClassDef', (1, 0, 1, 12), 'C', [], [], [('Pass', (1, 8, 1, 12))], [], [])], []), +('Module', [('ClassDef', (1, 0, 1, 32), 'C', [], [], [('Expr', (1, 9, 1, 32), ('Constant', (1, 9, 1, 32), 'docstring for class C', None))], [], [])], []), +('Module', [('ClassDef', (1, 0, 1, 21), 'C', [('Name', (1, 8, 1, 14), 'object', ('Load',))], [], [('Pass', (1, 17, 1, 21))], [], [])], []), +('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Return', (1, 8, 1, 16), ('Constant', (1, 15, 1, 16), 1, None))], [], None, None, [])], []), +('Module', [('Delete', (1, 0, 1, 5), [('Name', (1, 4, 1, 5), 'v', ('Del',))])], []), +('Module', [('Assign', (1, 0, 1, 5), [('Name', (1, 0, 1, 1), 'v', ('Store',))], ('Constant', (1, 4, 1, 5), 1, None), None)], []), +('Module', [('Assign', (1, 0, 1, 7), [('Tuple', (1, 0, 1, 3), [('Name', (1, 0, 1, 1), 'a', ('Store',)), ('Name', (1, 2, 1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 6, 1, 7), 'c', ('Load',)), None)], []), +('Module', [('Assign', (1, 0, 1, 9), [('Tuple', (1, 0, 1, 5), [('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Name', (1, 3, 1, 4), 'b', ('Store',))], ('Store',))], ('Name', (1, 8, 1, 9), 'c', ('Load',)), None)], []), +('Module', [('Assign', (1, 0, 1, 9), [('List', (1, 0, 1, 5), [('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Name', (1, 3, 1, 4), 'b', ('Store',))], ('Store',))], ('Name', (1, 8, 1, 9), 'c', ('Load',)), None)], []), +('Module', [('AnnAssign', (1, 0, 1, 13), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 13), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 12), [('Starred', (1, 9, 1, 12), ('Name', (1, 10, 1, 12), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []), +('Module', [('AnnAssign', (1, 0, 1, 18), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 18), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 17), [('Name', (1, 9, 1, 12), 'int', ('Load',)), ('Starred', (1, 14, 1, 17), ('Name', (1, 15, 1, 17), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []), +('Module', [('AnnAssign', (1, 0, 1, 31), ('Name', (1, 0, 1, 1), 'x', ('Store',)), ('Subscript', (1, 3, 1, 31), ('Name', (1, 3, 1, 8), 'tuple', ('Load',)), ('Tuple', (1, 9, 1, 30), [('Name', (1, 9, 1, 12), 'int', ('Load',)), ('Starred', (1, 14, 1, 30), ('Subscript', (1, 15, 1, 30), ('Name', (1, 15, 1, 20), 'tuple', ('Load',)), ('Tuple', (1, 21, 1, 29), [('Name', (1, 21, 1, 24), 'str', ('Load',)), ('Constant', (1, 26, 1, 29), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, 1)], []), +('Module', [('AugAssign', (1, 0, 1, 6), ('Name', (1, 0, 1, 1), 'v', ('Store',)), ('Add',), ('Constant', (1, 5, 1, 6), 1, None))], []), +('Module', [('For', (1, 0, 1, 15), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Pass', (1, 11, 1, 15))], [], None)], []), +('Module', [('While', (1, 0, 1, 12), ('Name', (1, 6, 1, 7), 'v', ('Load',)), [('Pass', (1, 8, 1, 12))], [])], []), +('Module', [('If', (1, 0, 1, 9), ('Name', (1, 3, 1, 4), 'v', ('Load',)), [('Pass', (1, 5, 1, 9))], [])], []), +('Module', [('If', (1, 0, 4, 6), ('Name', (1, 3, 1, 4), 'a', ('Load',)), [('Pass', (2, 2, 2, 6))], [('If', (3, 0, 4, 6), ('Name', (3, 5, 3, 6), 'b', ('Load',)), [('Pass', (4, 2, 4, 6))], [])])], []), +('Module', [('If', (1, 0, 6, 6), ('Name', (1, 3, 1, 4), 'a', ('Load',)), [('Pass', (2, 2, 2, 6))], [('If', (3, 0, 6, 6), ('Name', (3, 5, 3, 6), 'b', ('Load',)), [('Pass', (4, 2, 4, 6))], [('Pass', (6, 2, 6, 6))])])], []), +('Module', [('With', (1, 0, 1, 17), [('withitem', ('Name', (1, 5, 1, 6), 'x', ('Load',)), ('Name', (1, 10, 1, 11), 'y', ('Store',)))], [('Pass', (1, 13, 1, 17))], None)], []), +('Module', [('With', (1, 0, 1, 25), [('withitem', ('Name', (1, 5, 1, 6), 'x', ('Load',)), ('Name', (1, 10, 1, 11), 'y', ('Store',))), ('withitem', ('Name', (1, 13, 1, 14), 'z', ('Load',)), ('Name', (1, 18, 1, 19), 'q', ('Store',)))], [('Pass', (1, 21, 1, 25))], None)], []), +('Module', [('With', (1, 0, 1, 19), [('withitem', ('Name', (1, 6, 1, 7), 'x', ('Load',)), ('Name', (1, 11, 1, 12), 'y', ('Store',)))], [('Pass', (1, 15, 1, 19))], None)], []), +('Module', [('With', (1, 0, 1, 17), [('withitem', ('Name', (1, 6, 1, 7), 'x', ('Load',)), None), ('withitem', ('Name', (1, 9, 1, 10), 'y', ('Load',)), None)], [('Pass', (1, 13, 1, 17))], None)], []), +('Module', [('Raise', (1, 0, 1, 25), ('Call', (1, 6, 1, 25), ('Name', (1, 6, 1, 15), 'Exception', ('Load',)), [('Constant', (1, 16, 1, 24), 'string', None)], []), None)], []), +('Module', [('Try', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [('ExceptHandler', (3, 0, 4, 6), ('Name', (3, 7, 3, 16), 'Exception', ('Load',)), None, [('Pass', (4, 2, 4, 6))])], [], [])], []), +('Module', [('Try', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [], [], [('Pass', (4, 2, 4, 6))])], []), +('Module', [('TryStar', (1, 0, 4, 6), [('Pass', (2, 2, 2, 6))], [('ExceptHandler', (3, 0, 4, 6), ('Name', (3, 8, 3, 17), 'Exception', ('Load',)), None, [('Pass', (4, 2, 4, 6))])], [], [])], []), +('Module', [('Assert', (1, 0, 1, 8), ('Name', (1, 7, 1, 8), 'v', ('Load',)), None)], []), +('Module', [('Import', (1, 0, 1, 10), [('alias', (1, 7, 1, 10), 'sys', None)])], []), +('Module', [('ImportFrom', (1, 0, 1, 17), 'sys', [('alias', (1, 16, 1, 17), 'v', None)], 0)], []), +('Module', [('Global', (1, 0, 1, 8), ['v'])], []), +('Module', [('Expr', (1, 0, 1, 1), ('Constant', (1, 0, 1, 1), 1, None))], []), +('Module', [('Pass', (1, 0, 1, 4))], []), +('Module', [('For', (1, 0, 1, 16), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Break', (1, 11, 1, 16))], [], None)], []), +('Module', [('For', (1, 0, 1, 19), ('Name', (1, 4, 1, 5), 'v', ('Store',)), ('Name', (1, 9, 1, 10), 'v', ('Load',)), [('Continue', (1, 11, 1, 19))], [], None)], []), +('Module', [('For', (1, 0, 1, 18), ('Tuple', (1, 4, 1, 7), [('Name', (1, 4, 1, 5), 'a', ('Store',)), ('Name', (1, 6, 1, 7), 'b', ('Store',))], ('Store',)), ('Name', (1, 11, 1, 12), 'c', ('Load',)), [('Pass', (1, 14, 1, 18))], [], None)], []), +('Module', [('For', (1, 0, 1, 20), ('Tuple', (1, 4, 1, 9), [('Name', (1, 5, 1, 6), 'a', ('Store',)), ('Name', (1, 7, 1, 8), 'b', ('Store',))], ('Store',)), ('Name', (1, 13, 1, 14), 'c', ('Load',)), [('Pass', (1, 16, 1, 20))], [], None)], []), +('Module', [('For', (1, 0, 1, 20), ('List', (1, 4, 1, 9), [('Name', (1, 5, 1, 6), 'a', ('Store',)), ('Name', (1, 7, 1, 8), 'b', ('Store',))], ('Store',)), ('Name', (1, 13, 1, 14), 'c', ('Load',)), [('Pass', (1, 16, 1, 20))], [], None)], []), +('Module', [('Expr', (1, 0, 11, 5), ('GeneratorExp', (1, 0, 11, 5), ('Tuple', (2, 4, 6, 5), [('Name', (3, 4, 3, 6), 'Aa', ('Load',)), ('Name', (5, 7, 5, 9), 'Bb', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (8, 4, 10, 6), [('Name', (8, 4, 8, 6), 'Aa', ('Store',)), ('Name', (10, 4, 10, 6), 'Bb', ('Store',))], ('Store',)), ('Name', (10, 10, 10, 12), 'Cc', ('Load',)), [], 0)]))], []), +('Module', [('Expr', (1, 0, 1, 34), ('DictComp', (1, 0, 1, 34), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Name', (1, 11, 1, 12), 'w', ('Store',)), ('Name', (1, 16, 1, 17), 'x', ('Load',)), [], 0), ('comprehension', ('Name', (1, 22, 1, 23), 'm', ('Store',)), ('Name', (1, 27, 1, 28), 'p', ('Load',)), [('Name', (1, 32, 1, 33), 'g', ('Load',))], 0)]))], []), +('Module', [('Expr', (1, 0, 1, 20), ('DictComp', (1, 0, 1, 20), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'v', ('Store',)), ('Name', (1, 13, 1, 14), 'w', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'x', ('Load',)), [], 0)]))], []), +('Module', [('Expr', (1, 0, 1, 19), ('SetComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 12, 1, 13), 'x', ('Load',)), [('Name', (1, 17, 1, 18), 'g', ('Load',))], 0)]))], []), +('Module', [('Expr', (1, 0, 1, 16), ('SetComp', (1, 0, 1, 16), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Tuple', (1, 7, 1, 10), [('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 9, 1, 10), 'm', ('Store',))], ('Store',)), ('Name', (1, 14, 1, 15), 'x', ('Load',)), [], 0)]))], []), +('Module', [('AsyncFunctionDef', (1, 0, 3, 18), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 17), ('Constant', (2, 1, 2, 17), 'async function', None)), ('Expr', (3, 1, 3, 18), ('Await', (3, 1, 3, 18), ('Call', (3, 7, 3, 18), ('Name', (3, 7, 3, 16), 'something', ('Load',)), [], [])))], [], None, None, [])], []), +('Module', [('AsyncFunctionDef', (1, 0, 3, 8), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncFor', (2, 1, 3, 8), ('Name', (2, 11, 2, 12), 'e', ('Store',)), ('Name', (2, 16, 2, 17), 'i', ('Load',)), [('Expr', (2, 19, 2, 20), ('Constant', (2, 19, 2, 20), 1, None))], [('Expr', (3, 7, 3, 8), ('Constant', (3, 7, 3, 8), 2, None))], None)], [], None, None, [])], []), +('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncWith', (2, 1, 2, 21), [('withitem', ('Name', (2, 12, 2, 13), 'a', ('Load',)), ('Name', (2, 17, 2, 18), 'b', ('Store',)))], [('Expr', (2, 20, 2, 21), ('Constant', (2, 20, 2, 21), 1, None))], None)], [], None, None, [])], []), +('Module', [('Expr', (1, 0, 1, 14), ('Dict', (1, 0, 1, 14), [None, ('Constant', (1, 10, 1, 11), 2, None)], [('Dict', (1, 3, 1, 8), [('Constant', (1, 4, 1, 5), 1, None)], [('Constant', (1, 6, 1, 7), 2, None)]), ('Constant', (1, 12, 1, 13), 3, None)]))], []), +('Module', [('Expr', (1, 0, 1, 12), ('Set', (1, 0, 1, 12), [('Starred', (1, 1, 1, 8), ('Set', (1, 2, 1, 8), [('Constant', (1, 3, 1, 4), 1, None), ('Constant', (1, 6, 1, 7), 2, None)]), ('Load',)), ('Constant', (1, 10, 1, 11), 3, None)]))], []), +('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 21), ('ListComp', (2, 1, 2, 21), ('Name', (2, 2, 2, 3), 'i', ('Load',)), [('comprehension', ('Name', (2, 14, 2, 15), 'b', ('Store',)), ('Name', (2, 19, 2, 20), 'c', ('Load',)), [], 1)]))], [], None, None, [])], []), +('Module', [('FunctionDef', (4, 0, 4, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []), +('Module', [('AsyncFunctionDef', (4, 0, 4, 19), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 15, 4, 19))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []), +('Module', [('ClassDef', (4, 0, 4, 13), 'C', [], [], [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], [])], []), +('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Call', (1, 1, 1, 19), ('Name', (1, 1, 1, 5), 'deco', ('Load',)), [('GeneratorExp', (1, 5, 1, 19), ('Name', (1, 6, 1, 7), 'a', ('Load',)), [('comprehension', ('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 17, 1, 18), 'b', ('Load',)), [], 0)])], [])], None, None, [])], []), +('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Attribute', (1, 1, 1, 6), ('Attribute', (1, 1, 1, 4), ('Name', (1, 1, 1, 2), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',))], None, None, [])], []), +('Module', [('Expr', (1, 0, 1, 8), ('NamedExpr', (1, 1, 1, 7), ('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Constant', (1, 6, 1, 7), 1, None)))], []), +('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None), ('arg', (1, 15, 1, 16), 'd', None, None), ('arg', (1, 18, 1, 19), 'e', None, None)], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], None, []), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 39), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], ('arg', (1, 26, 1, 32), 'kwargs', None, None), []), [('Pass', (1, 35, 1, 39))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 20), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None)]), [('Pass', (1, 16, 1, 20))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None), ('arg', (1, 19, 1, 20), 'c', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None), ('Constant', (1, 21, 1, 22), 4, None)]), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 28, 1, 32))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 30), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 26, 1, 30))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 42), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], ('arg', (1, 29, 1, 35), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 38, 1, 42))], [], None, None, [])], []), +('Module', [('FunctionDef', (1, 0, 1, 40), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], ('arg', (1, 27, 1, 33), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 36, 1, 40))], [], None, None, [])], []), +('Module', [('TypeAlias', (1, 0, 1, 12), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [], ('Name', (1, 9, 1, 12), 'int', ('Load',)))], []), +('Module', [('TypeAlias', (1, 0, 1, 15), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None, None)], ('Name', (1, 12, 1, 15), 'int', ('Load',)))], []), +('Module', [('TypeAlias', (1, 0, 1, 32), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None, None), ('TypeVarTuple', (1, 10, 1, 13), 'Ts', None), ('ParamSpec', (1, 15, 1, 18), 'P', None)], ('Tuple', (1, 22, 1, 32), [('Name', (1, 23, 1, 24), 'T', ('Load',)), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Name', (1, 30, 1, 31), 'P', ('Load',))], ('Load',)))], []), +('Module', [('TypeAlias', (1, 0, 1, 37), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 13), 'T', ('Name', (1, 10, 1, 13), 'int', ('Load',)), None), ('TypeVarTuple', (1, 15, 1, 18), 'Ts', None), ('ParamSpec', (1, 20, 1, 23), 'P', None)], ('Tuple', (1, 27, 1, 37), [('Name', (1, 28, 1, 29), 'T', ('Load',)), ('Name', (1, 31, 1, 33), 'Ts', ('Load',)), ('Name', (1, 35, 1, 36), 'P', ('Load',))], ('Load',)))], []), +('Module', [('TypeAlias', (1, 0, 1, 44), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 20), 'T', ('Tuple', (1, 10, 1, 20), [('Name', (1, 11, 1, 14), 'int', ('Load',)), ('Name', (1, 16, 1, 19), 'str', ('Load',))], ('Load',)), None), ('TypeVarTuple', (1, 22, 1, 25), 'Ts', None), ('ParamSpec', (1, 27, 1, 30), 'P', None)], ('Tuple', (1, 34, 1, 44), [('Name', (1, 35, 1, 36), 'T', ('Load',)), ('Name', (1, 38, 1, 40), 'Ts', ('Load',)), ('Name', (1, 42, 1, 43), 'P', ('Load',))], ('Load',)))], []), +('Module', [('TypeAlias', (1, 0, 1, 48), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 17), 'T', ('Name', (1, 10, 1, 13), 'int', ('Load',)), ('Constant', (1, 16, 1, 17), 1, None)), ('TypeVarTuple', (1, 19, 1, 26), 'Ts', ('Constant', (1, 25, 1, 26), 2, None)), ('ParamSpec', (1, 28, 1, 34), 'P', ('Constant', (1, 33, 1, 34), 3, None))], ('Tuple', (1, 38, 1, 48), [('Name', (1, 39, 1, 40), 'T', ('Load',)), ('Name', (1, 42, 1, 44), 'Ts', ('Load',)), ('Name', (1, 46, 1, 47), 'P', ('Load',))], ('Load',)))], []), +('Module', [('ClassDef', (1, 0, 1, 16), 'X', [], [], [('Pass', (1, 12, 1, 16))], [], [('TypeVar', (1, 8, 1, 9), 'T', None, None)])], []), +('Module', [('ClassDef', (1, 0, 1, 26), 'X', [], [], [('Pass', (1, 22, 1, 26))], [], [('TypeVar', (1, 8, 1, 9), 'T', None, None), ('TypeVarTuple', (1, 11, 1, 14), 'Ts', None), ('ParamSpec', (1, 16, 1, 19), 'P', None)])], []), +('Module', [('ClassDef', (1, 0, 1, 31), 'X', [], [], [('Pass', (1, 27, 1, 31))], [], [('TypeVar', (1, 8, 1, 14), 'T', ('Name', (1, 11, 1, 14), 'int', ('Load',)), None), ('TypeVarTuple', (1, 16, 1, 19), 'Ts', None), ('ParamSpec', (1, 21, 1, 24), 'P', None)])], []), +('Module', [('ClassDef', (1, 0, 1, 38), 'X', [], [], [('Pass', (1, 34, 1, 38))], [], [('TypeVar', (1, 8, 1, 21), 'T', ('Tuple', (1, 11, 1, 21), [('Name', (1, 12, 1, 15), 'int', ('Load',)), ('Name', (1, 17, 1, 20), 'str', ('Load',))], ('Load',)), None), ('TypeVarTuple', (1, 23, 1, 26), 'Ts', None), ('ParamSpec', (1, 28, 1, 31), 'P', None)])], []), +('Module', [('ClassDef', (1, 0, 1, 43), 'X', [], [], [('Pass', (1, 39, 1, 43))], [], [('TypeVar', (1, 8, 1, 18), 'T', ('Name', (1, 11, 1, 14), 'int', ('Load',)), ('Constant', (1, 17, 1, 18), 1, None)), ('TypeVarTuple', (1, 20, 1, 27), 'Ts', ('Constant', (1, 26, 1, 27), 2, None)), ('ParamSpec', (1, 29, 1, 36), 'P', ('Constant', (1, 35, 1, 36), 3, None))])], []), +('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 12, 1, 16))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None, None)])], []), +('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None, None), ('TypeVarTuple', (1, 9, 1, 12), 'Ts', None), ('ParamSpec', (1, 14, 1, 17), 'P', None)])], []), +('Module', [('FunctionDef', (1, 0, 1, 31), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 27, 1, 31))], [], None, None, [('TypeVar', (1, 6, 1, 12), 'T', ('Name', (1, 9, 1, 12), 'int', ('Load',)), None), ('TypeVarTuple', (1, 14, 1, 17), 'Ts', None), ('ParamSpec', (1, 19, 1, 22), 'P', None)])], []), +('Module', [('FunctionDef', (1, 0, 1, 38), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 34, 1, 38))], [], None, None, [('TypeVar', (1, 6, 1, 19), 'T', ('Tuple', (1, 9, 1, 19), [('Name', (1, 10, 1, 13), 'int', ('Load',)), ('Name', (1, 15, 1, 18), 'str', ('Load',))], ('Load',)), None), ('TypeVarTuple', (1, 21, 1, 24), 'Ts', None), ('ParamSpec', (1, 26, 1, 29), 'P', None)])], []), +('Module', [('FunctionDef', (1, 0, 1, 43), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 39, 1, 43))], [], None, None, [('TypeVar', (1, 6, 1, 16), 'T', ('Name', (1, 9, 1, 12), 'int', ('Load',)), ('Constant', (1, 15, 1, 16), 1, None)), ('TypeVarTuple', (1, 18, 1, 25), 'Ts', ('Constant', (1, 24, 1, 25), 2, None)), ('ParamSpec', (1, 27, 1, 34), 'P', ('Constant', (1, 33, 1, 34), 3, None))])], []), ] single_results = [ - ( - "Interactive", - [ - ( - "Expr", - (1, 0, 1, 3), - ( - "BinOp", - (1, 0, 1, 3), - ("Constant", (1, 0, 1, 1), 1, None), - ("Add",), - ("Constant", (1, 2, 1, 3), 2, None), - ), - ) - ], - ), +('Interactive', [('Expr', (1, 0, 1, 3), ('BinOp', (1, 0, 1, 3), ('Constant', (1, 0, 1, 1), 1, None), ('Add',), ('Constant', (1, 2, 1, 3), 2, None)))]), ] eval_results = [ - ("Expression", ("Constant", (1, 0, 1, 4), None, None)), - ( - "Expression", - ( - "BoolOp", - (1, 0, 1, 7), - ("And",), - [ - ("Name", (1, 0, 1, 1), "a", ("Load",)), - ("Name", (1, 6, 1, 7), "b", ("Load",)), - ], - ), - ), - ( - "Expression", - ( - "BinOp", - (1, 0, 1, 5), - ("Name", (1, 0, 1, 1), "a", ("Load",)), - ("Add",), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ), - ), - ( - "Expression", - ("UnaryOp", (1, 0, 1, 5), ("Not",), ("Name", (1, 4, 1, 5), "v", ("Load",))), - ), - ( - "Expression", - ( - "Lambda", - (1, 0, 1, 11), - ("arguments", [], [], None, [], [], None, []), - ("Constant", (1, 7, 1, 11), None, None), - ), - ), - ( - "Expression", - ( - "Dict", - (1, 0, 1, 7), - [("Constant", (1, 2, 1, 3), 1, None)], - [("Constant", (1, 4, 1, 5), 2, None)], - ), - ), - ("Expression", ("Dict", (1, 0, 1, 2), [], [])), - ("Expression", ("Set", (1, 0, 1, 7), [("Constant", (1, 1, 1, 5), None, None)])), - ( - "Expression", - ( - "Dict", - (1, 0, 5, 6), - [("Constant", (2, 6, 2, 7), 1, None)], - [("Constant", (4, 10, 4, 11), 2, None)], - ), - ), - ( - "Expression", - ( - "ListComp", - (1, 0, 1, 19), - ("Name", (1, 1, 1, 2), "a", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 7, 1, 8), "b", ("Store",)), - ("Name", (1, 12, 1, 13), "c", ("Load",)), - [("Name", (1, 17, 1, 18), "d", ("Load",))], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "GeneratorExp", - (1, 0, 1, 19), - ("Name", (1, 1, 1, 2), "a", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 7, 1, 8), "b", ("Store",)), - ("Name", (1, 12, 1, 13), "c", ("Load",)), - [("Name", (1, 17, 1, 18), "d", ("Load",))], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "ListComp", - (1, 0, 1, 20), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 14), - [ - ("Name", (1, 11, 1, 12), "a", ("Store",)), - ("Name", (1, 13, 1, 14), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 18, 1, 19), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "ListComp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "ListComp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "List", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "SetComp", - (1, 0, 1, 20), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 14), - [ - ("Name", (1, 11, 1, 12), "a", ("Store",)), - ("Name", (1, 13, 1, 14), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 18, 1, 19), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "SetComp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "SetComp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "List", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "GeneratorExp", - (1, 0, 1, 20), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 14), - [ - ("Name", (1, 11, 1, 12), "a", ("Store",)), - ("Name", (1, 13, 1, 14), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 18, 1, 19), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "GeneratorExp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "Tuple", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "GeneratorExp", - (1, 0, 1, 22), - ( - "Tuple", - (1, 1, 1, 6), - [ - ("Name", (1, 2, 1, 3), "a", ("Load",)), - ("Name", (1, 4, 1, 5), "b", ("Load",)), - ], - ("Load",), - ), - [ - ( - "comprehension", - ( - "List", - (1, 11, 1, 16), - [ - ("Name", (1, 12, 1, 13), "a", ("Store",)), - ("Name", (1, 14, 1, 15), "b", ("Store",)), - ], - ("Store",), - ), - ("Name", (1, 20, 1, 21), "c", ("Load",)), - [], - 0, - ) - ], - ), - ), - ( - "Expression", - ( - "Compare", - (1, 0, 1, 9), - ("Constant", (1, 0, 1, 1), 1, None), - [("Lt",), ("Lt",)], - [("Constant", (1, 4, 1, 5), 2, None), ("Constant", (1, 8, 1, 9), 3, None)], - ), - ), - ( - "Expression", - ( - "Call", - (1, 0, 1, 17), - ("Name", (1, 0, 1, 1), "f", ("Load",)), - [ - ("Constant", (1, 2, 1, 3), 1, None), - ("Constant", (1, 4, 1, 5), 2, None), - ( - "Starred", - (1, 10, 1, 12), - ("Name", (1, 11, 1, 12), "d", ("Load",)), - ("Load",), - ), - ], - [ - ("keyword", (1, 6, 1, 9), "c", ("Constant", (1, 8, 1, 9), 3, None)), - ( - "keyword", - (1, 13, 1, 16), - None, - ("Name", (1, 15, 1, 16), "e", ("Load",)), - ), - ], - ), - ), - ( - "Expression", - ( - "Call", - (1, 0, 1, 10), - ("Name", (1, 0, 1, 1), "f", ("Load",)), - [ - ( - "Starred", - (1, 2, 1, 9), - ( - "List", - (1, 3, 1, 9), - [ - ("Constant", (1, 4, 1, 5), 0, None), - ("Constant", (1, 7, 1, 8), 1, None), - ], - ("Load",), - ), - ("Load",), - ) - ], - [], - ), - ), - ( - "Expression", - ( - "Call", - (1, 0, 1, 15), - ("Name", (1, 0, 1, 1), "f", ("Load",)), - [ - ( - "GeneratorExp", - (1, 1, 1, 15), - ("Name", (1, 2, 1, 3), "a", ("Load",)), - [ - ( - "comprehension", - ("Name", (1, 8, 1, 9), "a", ("Store",)), - ("Name", (1, 13, 1, 14), "b", ("Load",)), - [], - 0, - ) - ], - ) - ], - [], - ), - ), - ("Expression", ("Constant", (1, 0, 1, 2), 10, None)), - ("Expression", ("Constant", (1, 0, 1, 8), "string", None)), - ( - "Expression", - ( - "Attribute", - (1, 0, 1, 3), - ("Name", (1, 0, 1, 1), "a", ("Load",)), - "b", - ("Load",), - ), - ), - ( - "Expression", - ( - "Subscript", - (1, 0, 1, 6), - ("Name", (1, 0, 1, 1), "a", ("Load",)), - ( - "Slice", - (1, 2, 1, 5), - ("Name", (1, 2, 1, 3), "b", ("Load",)), - ("Name", (1, 4, 1, 5), "c", ("Load",)), - None, - ), - ("Load",), - ), - ), - ("Expression", ("Name", (1, 0, 1, 1), "v", ("Load",))), - ( - "Expression", - ( - "List", - (1, 0, 1, 7), - [ - ("Constant", (1, 1, 1, 2), 1, None), - ("Constant", (1, 3, 1, 4), 2, None), - ("Constant", (1, 5, 1, 6), 3, None), - ], - ("Load",), - ), - ), - ("Expression", ("List", (1, 0, 1, 2), [], ("Load",))), - ( - "Expression", - ( - "Tuple", - (1, 0, 1, 5), - [ - ("Constant", (1, 0, 1, 1), 1, None), - ("Constant", (1, 2, 1, 3), 2, None), - ("Constant", (1, 4, 1, 5), 3, None), - ], - ("Load",), - ), - ), - ( - "Expression", - ( - "Tuple", - (1, 0, 1, 7), - [ - ("Constant", (1, 1, 1, 2), 1, None), - ("Constant", (1, 3, 1, 4), 2, None), - ("Constant", (1, 5, 1, 6), 3, None), - ], - ("Load",), - ), - ), - ("Expression", ("Tuple", (1, 0, 1, 2), [], ("Load",))), - ( - "Expression", - ( - "Call", - (1, 0, 1, 17), - ( - "Attribute", - (1, 0, 1, 7), - ( - "Attribute", - (1, 0, 1, 5), - ( - "Attribute", - (1, 0, 1, 3), - ("Name", (1, 0, 1, 1), "a", ("Load",)), - "b", - ("Load",), - ), - "c", - ("Load",), - ), - "d", - ("Load",), - ), - [ - ( - "Subscript", - (1, 8, 1, 16), - ( - "Attribute", - (1, 8, 1, 11), - ("Name", (1, 8, 1, 9), "a", ("Load",)), - "b", - ("Load",), - ), - ( - "Slice", - (1, 12, 1, 15), - ("Constant", (1, 12, 1, 13), 1, None), - ("Constant", (1, 14, 1, 15), 2, None), - None, - ), - ("Load",), - ) - ], - [], - ), - ), +('Expression', ('Constant', (1, 0, 1, 4), None, None)), +('Expression', ('BoolOp', (1, 0, 1, 7), ('And',), [('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Name', (1, 6, 1, 7), 'b', ('Load',))])), +('Expression', ('BinOp', (1, 0, 1, 5), ('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Add',), ('Name', (1, 4, 1, 5), 'b', ('Load',)))), +('Expression', ('UnaryOp', (1, 0, 1, 5), ('Not',), ('Name', (1, 4, 1, 5), 'v', ('Load',)))), +('Expression', ('Lambda', (1, 0, 1, 11), ('arguments', [], [], None, [], [], None, []), ('Constant', (1, 7, 1, 11), None, None))), +('Expression', ('Dict', (1, 0, 1, 7), [('Constant', (1, 2, 1, 3), 1, None)], [('Constant', (1, 4, 1, 5), 2, None)])), +('Expression', ('Dict', (1, 0, 1, 2), [], [])), +('Expression', ('Set', (1, 0, 1, 7), [('Constant', (1, 1, 1, 5), None, None)])), +('Expression', ('Dict', (1, 0, 5, 6), [('Constant', (2, 6, 2, 7), 1, None)], [('Constant', (4, 10, 4, 11), 2, None)])), +('Expression', ('ListComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'b', ('Store',)), ('Name', (1, 12, 1, 13), 'c', ('Load',)), [('Name', (1, 17, 1, 18), 'd', ('Load',))], 0)])), +('Expression', ('GeneratorExp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'b', ('Store',)), ('Name', (1, 12, 1, 13), 'c', ('Load',)), [('Name', (1, 17, 1, 18), 'd', ('Load',))], 0)])), +('Expression', ('ListComp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])), +('Expression', ('ListComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('ListComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('SetComp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])), +('Expression', ('SetComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('SetComp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('GeneratorExp', (1, 0, 1, 20), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'c', ('Load',)), [], 0)])), +('Expression', ('GeneratorExp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('GeneratorExp', (1, 0, 1, 22), ('Tuple', (1, 1, 1, 6), [('Name', (1, 2, 1, 3), 'a', ('Load',)), ('Name', (1, 4, 1, 5), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11, 1, 16), [('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 14, 1, 15), 'b', ('Store',))], ('Store',)), ('Name', (1, 20, 1, 21), 'c', ('Load',)), [], 0)])), +('Expression', ('Compare', (1, 0, 1, 9), ('Constant', (1, 0, 1, 1), 1, None), [('Lt',), ('Lt',)], [('Constant', (1, 4, 1, 5), 2, None), ('Constant', (1, 8, 1, 9), 3, None)])), +('Expression', ('Call', (1, 0, 1, 17), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('Constant', (1, 2, 1, 3), 1, None), ('Constant', (1, 4, 1, 5), 2, None), ('Starred', (1, 10, 1, 12), ('Name', (1, 11, 1, 12), 'd', ('Load',)), ('Load',))], [('keyword', (1, 6, 1, 9), 'c', ('Constant', (1, 8, 1, 9), 3, None)), ('keyword', (1, 13, 1, 16), None, ('Name', (1, 15, 1, 16), 'e', ('Load',)))])), +('Expression', ('Call', (1, 0, 1, 10), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('Starred', (1, 2, 1, 9), ('List', (1, 3, 1, 9), [('Constant', (1, 4, 1, 5), 0, None), ('Constant', (1, 7, 1, 8), 1, None)], ('Load',)), ('Load',))], [])), +('Expression', ('Call', (1, 0, 1, 15), ('Name', (1, 0, 1, 1), 'f', ('Load',)), [('GeneratorExp', (1, 1, 1, 15), ('Name', (1, 2, 1, 3), 'a', ('Load',)), [('comprehension', ('Name', (1, 8, 1, 9), 'a', ('Store',)), ('Name', (1, 13, 1, 14), 'b', ('Load',)), [], 0)])], [])), +('Expression', ('Constant', (1, 0, 1, 2), 10, None)), +('Expression', ('Constant', (1, 0, 1, 8), 'string', None)), +('Expression', ('Attribute', (1, 0, 1, 3), ('Name', (1, 0, 1, 1), 'a', ('Load',)), 'b', ('Load',))), +('Expression', ('Subscript', (1, 0, 1, 6), ('Name', (1, 0, 1, 1), 'a', ('Load',)), ('Slice', (1, 2, 1, 5), ('Name', (1, 2, 1, 3), 'b', ('Load',)), ('Name', (1, 4, 1, 5), 'c', ('Load',)), None), ('Load',))), +('Expression', ('Name', (1, 0, 1, 1), 'v', ('Load',))), +('Expression', ('List', (1, 0, 1, 7), [('Constant', (1, 1, 1, 2), 1, None), ('Constant', (1, 3, 1, 4), 2, None), ('Constant', (1, 5, 1, 6), 3, None)], ('Load',))), +('Expression', ('List', (1, 0, 1, 2), [], ('Load',))), +('Expression', ('Tuple', (1, 0, 1, 5), [('Constant', (1, 0, 1, 1), 1, None), ('Constant', (1, 2, 1, 3), 2, None), ('Constant', (1, 4, 1, 5), 3, None)], ('Load',))), +('Expression', ('Tuple', (1, 0, 1, 7), [('Constant', (1, 1, 1, 2), 1, None), ('Constant', (1, 3, 1, 4), 2, None), ('Constant', (1, 5, 1, 6), 3, None)], ('Load',))), +('Expression', ('Tuple', (1, 0, 1, 2), [], ('Load',))), +('Expression', ('Call', (1, 0, 1, 17), ('Attribute', (1, 0, 1, 7), ('Attribute', (1, 0, 1, 5), ('Attribute', (1, 0, 1, 3), ('Name', (1, 0, 1, 1), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',)), 'd', ('Load',)), [('Subscript', (1, 8, 1, 16), ('Attribute', (1, 8, 1, 11), ('Name', (1, 8, 1, 9), 'a', ('Load',)), 'b', ('Load',)), ('Slice', (1, 12, 1, 15), ('Constant', (1, 12, 1, 13), 1, None), ('Constant', (1, 14, 1, 15), 2, None), None), ('Load',))], [])), ] main() diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst b/Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst new file mode 100644 index 00000000000..6b58f89247d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2024-07-26-14-05-51.gh-issue-122300.SVIF-l.rst @@ -0,0 +1,2 @@ +Preserve AST nodes for f-string with single-element format specifiers. Patch +by Pablo Galindo diff --git a/Parser/action_helpers.c b/Parser/action_helpers.c index 1354ef75055..34f744516c1 100644 --- a/Parser/action_helpers.c +++ b/Parser/action_helpers.c @@ -1002,7 +1002,8 @@ _PyPegen_setup_full_format_spec(Parser *p, Token *colon, asdl_expr_seq *spec, in spec = resized_spec; } expr_ty res; - if (asdl_seq_LEN(spec) == 0) { + Py_ssize_t n = asdl_seq_LEN(spec); + if (n == 0 || (n == 1 && asdl_seq_GET(spec, 0)->kind == Constant_kind)) { res = _PyAST_JoinedStr(spec, lineno, col_offset, end_lineno, end_col_offset, p->arena); } else {