@@ -125,6 +125,14 @@ def to_tuple(t):
125125 "{*{1, 2}, 3}" ,
126126 # Asynchronous comprehensions
127127 "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" ,
128136]
129137
130138# These are compiled through "single"
@@ -1255,6 +1263,10 @@ def main():
12551263('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 )]))]),
12561264('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 )]))]),
12571265('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' , ('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 )]),
12581270]
12591271single_results = [
12601272('Interactive' , [('Expr' , (1 , 0 ), ('BinOp' , (1 , 0 ), ('Num' , (1 , 0 ), 1 ), ('Add' ,), ('Num' , (1 , 2 ), 2 )))]),
0 commit comments