@@ -125,6 +125,14 @@ def to_tuple(t):
125
125
"{*{1, 2}, 3}" ,
126
126
# Asynchronous comprehensions
127
127
"async def f():\n [i async for b in c]" ,
128
+ # Decorated FunctionDef
129
+ "@deco1\n @deco2()\n @deco3(1)\n def f(): pass" ,
130
+ # Decorated AsyncFunctionDef
131
+ "@deco1\n @deco2()\n @deco3(1)\n async def f(): pass" ,
132
+ # Decorated ClassDef
133
+ "@deco1\n @deco2()\n @deco3(1)\n class C: pass" ,
134
+ # Decorator with generator argument
135
+ "@deco(a for a in b)\n def f(): pass" ,
128
136
]
129
137
130
138
# These are compiled through "single"
@@ -1255,6 +1263,10 @@ def main():
1255
1263
('Module' , [('Expr' , (1 , 0 ), ('Dict' , (1 , 0 ), [None , ('Num' , (1 , 10 ), 2 )], [('Dict' , (1 , 3 ), [('Num' , (1 , 4 ), 1 )], [('Num' , (1 , 6 ), 2 )]), ('Num' , (1 , 12 ), 3 )]))]),
1256
1264
('Module' , [('Expr' , (1 , 0 ), ('Set' , (1 , 0 ), [('Starred' , (1 , 1 ), ('Set' , (1 , 2 ), [('Num' , (1 , 3 ), 1 ), ('Num' , (1 , 6 ), 2 )]), ('Load' ,)), ('Num' , (1 , 10 ), 3 )]))]),
1257
1265
('Module' , [('AsyncFunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], None , [], [], None , []), [('Expr' , (2 , 1 ), ('ListComp' , (2 , 2 ), ('Name' , (2 , 2 ), 'i' , ('Load' ,)), [('comprehension' , ('Name' , (2 , 14 ), 'b' , ('Store' ,)), ('Name' , (2 , 19 ), 'c' , ('Load' ,)), [], 1 )]))], [], None )]),
1266
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], None , [], [], None , []), [('Pass' , (4 , 9 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 1 ), ('Name' , (2 , 1 ), 'deco2' , ('Load' ,)), [], []), ('Call' , (3 , 1 ), ('Name' , (3 , 1 ), 'deco3' , ('Load' ,)), [('Num' , (3 , 7 ), 1 )], [])], None )]),
1267
+ ('Module' , [('AsyncFunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], None , [], [], None , []), [('Pass' , (4 , 15 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 1 ), ('Name' , (2 , 1 ), 'deco2' , ('Load' ,)), [], []), ('Call' , (3 , 1 ), ('Name' , (3 , 1 ), 'deco3' , ('Load' ,)), [('Num' , (3 , 7 ), 1 )], [])], None )]),
1268
+ ('Module' , [('ClassDef' , (1 , 0 ), 'C' , [], [], [('Pass' , (4 , 9 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 1 ), ('Name' , (2 , 1 ), 'deco2
8000
39; , ('Load' ,)), [], []), ('Call' , (3 , 1 ), ('Name' , (3 , 1 ), 'deco3' , ('Load' ,)), [('Num' , (3 , 7 ), 1 )], [])])]),
1269
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], None , [], [], None , []), [('Pass' , (2 , 9 ))], [('Call' , (1 , 1 ), ('Name' , (1 , 1 ), 'deco' , ('Load' ,)), [('GeneratorExp' , (1 , 6 ), ('Name' , (1 , 6 ), 'a' , ('Load' ,)), [('comprehension' , ('Name' , (1 , 12 ), 'a' , ('Store' ,)), ('Name' , (1 , 17 ), 'b' , ('Load' ,)), [], 0 )])], [])], None )]),
1258
1270
]
1259
1271
single_results = [
1260
1272
('Interactive' , [('Expr' , (1 , 0 ), ('BinOp' , (1 , 0 ), ('Num' , (1 , 0 ), 1 ), ('Add' ,), ('Num' , (1 , 2 ), 2 )))]),
0 commit comments