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