@@ -103,6 +103,12 @@ def to_tuple(t):
103
103
"{r for l in x if g}" ,
104
104
# setcomp with naked tuple
105
105
"{r for l,m in x}" ,
106
+ # Decorated FunctionDef
107
+ "@deco1\n @deco2()\n @deco3(1)\n def f(): pass" ,
108
+ # Decorated ClassDef
109
+ "@deco1\n @deco2()\n @deco3(1)\n class C: pass" ,
110
+ # Decorator with generator argument
111
+ "@deco(a for a in b)\n def f(): pass" ,
106
112
]
107
113
108
114
# These are compiled through "single"
@@ -546,6 +552,9 @@ def main():
546
552
('Module' , [('Expr' , (1 , 0 ), ('DictComp' , (1 , 1 ), ('Name' , (1 , 1 ), 'a' , ('Load' ,)), ('Name' , (1 , 5 ), 'b' , ('Load' ,)), [('comprehension' , ('Tuple' , (1 , 11 ), [('Name' , (1 , 11 ), 'v' , ('Store' ,)), ('Name' , (1 , 13 ), 'w' , ('Store' ,))], ('Store' ,)), ('Name' , (1 , 18 ), 'x' , ('Load' ,)), [])]))]),
547
553
('Module' , [('Expr' , (1 , 0 ), ('SetComp' , (1 , 1 ), ('Name' , (1 , 1 ), 'r' , ('Load' ,)), [('comprehension' , ('Name' , (1 , 7 ), 'l' , ('Store' ,)), ('Name' , (1 , 12 ), 'x' , ('Load' ,)), [('Name' , (1 , 17 ), 'g' , ('Load' ,))])]))]),
548
554
('Module' , [('Expr' , (1 , 0 ), ('SetComp' , (1 , 1 ), ('Name' , (1 , 1 ), 'r' , ('Load' ,)), [('comprehension' , ('Tuple' , (1 , 7 ), [('Name' , (1 , 7 ), 'l' , ('Store' ,)), ('Name' , (1 , 9 ), 'm' , ('Store' ,))], ('Store' ,)), ('Name' , (1 , 14 ), 'x' , ('Load' ,)), [])]))]),
555
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], None , None , []), [('Pass' , (4 , 9 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 1 ), ('Name' , (2 , 1 ), 'deco2' , ('Load' ,)), [], [], None , None ), ('Call' , (3 , 1 ), ('Name' , (3 , 1 ), 'deco3' , ('Load' ,)), [('Num' , (3 , 7 ), 1 )], [], None , None )])]),
556
+ ('Module' , [('ClassDef' , (1 , 0 ), 'C' , [], [('Pass' , (4 , 9 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 1 ), ('Name' , (2 , 1 ), 'deco2' , ('Load' ,)), [], [], None , None ), ('Call' , (3 , 1 ), ('Name' , (3 , 1 ), 'deco3' , ('Load' ,)), [('Num' , (3 , 7 ), 1 )], [], None , None )])]),
557
+ ('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' ,)), [])])], [], None , None )])]),
549
558
]
550
559
single_results = [
551
560
('Interactive' , [('Expr' , (1 , 0 ), ('BinOp' , (1 , 0 ), ('Num' , (1 , 0 ), 1 ), ('Add' ,), ('Num' , (1 , 2 ), 2 )))]),
0 commit comments