1ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 1
2ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef wrap(foo=None):
3ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    def wrapper(func):
4ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        return func
5ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    return wrapper
6ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
7ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 7
8ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef replace(func):
9ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    def insteadfunc():
10ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        print 'hello'
11ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    return insteadfunc
12ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
13ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 13
14ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh@wrap()
15ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh@wrap(wrap)
16ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef wrapped():
17ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    pass
18ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
19ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 19
20ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh@replace
21ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef gone():
22ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    pass
23ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
24ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 24
25ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieholl = lambda m: m
26ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
27ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 27
28ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehtll = lambda g: g and \
29ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehg and \
30ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehg
31ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
32ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 32
33ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehtlli = lambda d: d and \
34ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    d
35ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
36ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 36
37ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef onelinefunc(): pass
38ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
39ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 39
40ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef manyargs(arg1, arg2,
41ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieharg3, arg4): pass
42ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
43ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 43
44ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef twolinefunc(m): return m and \
45ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehm
46ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
47ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 47
48ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieha = [None,
49ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh     lambda x: x,
50ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh     None]
51ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
52ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 52
53ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef setfunc(func):
54ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    globals()["anonymous"] = func
55ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehsetfunc(lambda x, y: x*y)
56ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
57ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 57
58ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef with_comment():  # hello
59ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    world
60ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
61ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 61
62ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehmultiline_sig = [
63ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    lambda (x,
64ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh            y): x+y,
65ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    None,
66ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    ]
67ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
68ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 68
69ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef func69():
70ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    class cls70:
71ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        def func71():
72ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh            pass
73ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    return cls70
74ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehextra74 = 74
75ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
76ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 76
77ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef func77(): pass
78ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh(extra78, stuff78) = 'xy'
79ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehextra79 = 'stop'
80ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
81ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 81
82ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehclass cls82:
83ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    def func83(): pass
84ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh(extra84, stuff84) = 'xy'
85ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehextra85 = 'stop'
86ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
87ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 87
88ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef func88():
89ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    # comment
90ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    return 90
91ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
92ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# line 92
93ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehdef f():
94ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    class X:
95ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        def g():
96ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh            "doc"
97ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh            return 42
98ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    return X
99ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehmethod_in_dynamic_class = f().g.im_func
100