inspect_fodder2.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. # line 1
  2. def wrap(foo=None):
  3. def wrapper(func):
  4. return func
  5. return wrapper
  6. # line 7
  7. def replace(func):
  8. def insteadfunc():
  9. print('hello')
  10. return insteadfunc
  11. # line 13
  12. @wrap()
  13. @wrap(wrap)
  14. def wrapped():
  15. pass
  16. # line 19
  17. @replace
  18. def gone():
  19. pass
  20. # line 24
  21. oll = lambda m: m
  22. # line 27
  23. tll = lambda g: g and \
  24. g and \
  25. g
  26. # line 32
  27. tlli = lambda d: d and \
  28. d
  29. # line 36
  30. def onelinefunc(): pass
  31. # line 39
  32. def manyargs(arg1, arg2,
  33. arg3, arg4): pass
  34. # line 43
  35. def twolinefunc(m): return m and \
  36. m
  37. # line 47
  38. a = [None,
  39. lambda x: x,
  40. None]
  41. # line 52
  42. def setfunc(func):
  43. globals()["anonymous"] = func
  44. setfunc(lambda x, y: x*y)
  45. # line 57
  46. def with_comment(): # hello
  47. world
  48. # line 61
  49. multiline_sig = [
  50. lambda x, \
  51. y: x+y,
  52. None,
  53. ]
  54. # line 68
  55. def func69():
  56. class cls70:
  57. def func71():
  58. pass
  59. return cls70
  60. extra74 = 74
  61. # line 76
  62. def func77(): pass
  63. (extra78, stuff78) = 'xy'
  64. extra79 = 'stop'
  65. # line 81
  66. class cls82:
  67. def func83(): pass
  68. (extra84, stuff84) = 'xy'
  69. extra85 = 'stop'
  70. # line 87
  71. def func88():
  72. # comment
  73. return 90
  74. # line 92
  75. def f():
  76. class X:
  77. def g():
  78. "doc"
  79. return 42
  80. return X
  81. method_in_dynamic_class = f().g
  82. #line 101
  83. def keyworded(*arg1, arg2=1):
  84. pass
  85. #line 105
  86. def annotated(arg1: list):
  87. pass
  88. #line 109
  89. def keyword_only_arg(*, arg):
  90. pass
  91. @wrap(lambda: None)
  92. def func114():
  93. return 115
  94. class ClassWithMethod:
  95. def method(self):
  96. pass
  97. from functools import wraps
  98. def decorator(func):
  99. @wraps(func)
  100. def fake():
  101. return 42
  102. return fake
  103. #line 129
  104. @decorator
  105. def real():
  106. return 20
  107. #line 134
  108. class cls135:
  109. def func136():
  110. def func137():
  111. never_reached1
  112. never_reached2
  113. # line 141
  114. class cls142:
  115. a = """
  116. class cls149:
  117. ...
  118. """
  119. # line 148
  120. class cls149:
  121. def func151(self):
  122. pass
  123. '''
  124. class cls160:
  125. pass
  126. '''
  127. # line 159
  128. class cls160:
  129. def func162(self):
  130. pass
  131. # line 165
  132. class cls166:
  133. a = '''
  134. class cls175:
  135. ...
  136. '''
  137. # line 172
  138. class cls173:
  139. class cls175:
  140. pass
  141. # line 178
  142. class cls179:
  143. pass
  144. # line 182
  145. class cls183:
  146. class cls185:
  147. def func186(self):
  148. pass
  149. def class_decorator(cls):
  150. return cls
  151. # line 193
  152. @class_decorator
  153. @class_decorator
  154. class cls196:
  155. @class_decorator
  156. @class_decorator
  157. class cls200:
  158. pass
  159. class cls203:
  160. class cls204:
  161. class cls205:
  162. pass
  163. class cls207:
  164. class cls205:
  165. pass
  166. # line 211
  167. def func212():
  168. class cls213:
  169. pass
  170. return cls213
  171. # line 217
  172. class cls213:
  173. def func219(self):
  174. class cls220:
  175. pass
  176. return cls220
  177. # line 224
  178. async def func225():
  179. class cls226:
  180. pass
  181. return cls226
  182. # line 230
  183. class cls226:
  184. async def func232(self):
  185. class cls233:
  186. pass
  187. return cls233
  188. if True:
  189. class cls238:
  190. class cls239:
  191. '''if clause cls239'''
  192. else:
  193. class cls238:
  194. class cls239:
  195. '''else clause 239'''
  196. pass
  197. #line 247
  198. def positional_only_arg(a, /):
  199. pass
  200. #line 251
  201. def all_markers(a, b, /, c, d, *, e, f):
  202. pass
  203. # line 255
  204. def all_markers_with_args_and_kwargs(a, b, /, c, d, *args, e, f, **kwargs):
  205. pass
  206. #line 259
  207. def all_markers_with_defaults(a, b=1, /, c=2, d=3, *, e=4, f=5):
  208. pass
  209. # line 263
  210. def deco_factory(**kwargs):
  211. def deco(f):
  212. @wraps(f)
  213. def wrapper(*a, **kwd):
  214. kwd.update(kwargs)
  215. return f(*a, **kwd)
  216. return wrapper
  217. return deco
  218. @deco_factory(foo=(1 + 2), bar=lambda: 1)
  219. def complex_decorated(foo=0, bar=lambda: 0):
  220. return foo + bar()