jaclang 0.6.0__py3-none-any.whl → 0.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (913) hide show
  1. jaclang/cli/.gitignore +3 -0
  2. jaclang/cli/cli.md +190 -0
  3. jaclang/cli/cli.py +90 -3
  4. jaclang/cli/cmdreg.py +18 -6
  5. jaclang/compiler/.gitignore +1 -0
  6. jaclang/compiler/absyntree.py +1 -2
  7. jaclang/compiler/parser.py +1 -1
  8. jaclang/compiler/passes/main/def_impl_match_pass.py +4 -1
  9. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +10 -7
  10. jaclang/compiler/passes/main/import_pass.py +39 -22
  11. jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
  12. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
  13. jaclang/compiler/passes/main/schedules.py +2 -0
  14. jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
  15. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  16. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  17. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  18. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  19. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  20. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  21. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  22. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  23. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  24. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  25. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  26. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  27. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  28. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  29. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  30. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  31. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  32. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  33. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  34. jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
  35. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  36. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  37. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  64. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  65. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  66. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  67. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  68. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  69. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  70. jaclang/core/aott.py +10 -1
  71. jaclang/core/construct.py +157 -21
  72. jaclang/core/importer.py +6 -2
  73. jaclang/core/memory.py +48 -0
  74. jaclang/core/shelve_storage.py +55 -0
  75. jaclang/plugin/__init__.py +1 -2
  76. jaclang/plugin/builtin.py +1 -1
  77. jaclang/plugin/default.py +97 -4
  78. jaclang/plugin/feature.py +28 -9
  79. jaclang/plugin/spec.py +45 -10
  80. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  81. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  82. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  83. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  84. jaclang/plugin/tests/test_jaseci.py +219 -0
  85. jaclang/tests/fixtures/abc.jac +73 -0
  86. jaclang/tests/fixtures/access_checker.jac +19 -0
  87. jaclang/tests/fixtures/access_modifier.jac +49 -0
  88. jaclang/tests/fixtures/aott_raise.jac +25 -0
  89. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  90. jaclang/tests/fixtures/assign_compr.jac +15 -0
  91. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  92. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  93. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  94. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  95. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  96. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  97. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  98. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  99. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  100. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  101. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  102. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  103. jaclang/tests/fixtures/deep_import.jac +7 -0
  104. jaclang/tests/fixtures/deferred_field.jac +13 -0
  105. jaclang/tests/fixtures/disconn.jac +29 -0
  106. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  107. jaclang/tests/fixtures/edge_ops.jac +45 -0
  108. jaclang/tests/fixtures/edges_walk.jac +38 -0
  109. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  110. jaclang/tests/fixtures/err.jac +5 -0
  111. jaclang/tests/fixtures/err2.jac +5 -0
  112. jaclang/tests/fixtures/game1.jac +15 -0
  113. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  114. jaclang/tests/fixtures/guess_game.jac +47 -0
  115. jaclang/tests/fixtures/has_goodness.jac +15 -0
  116. jaclang/tests/fixtures/hashcheck.jac +12 -0
  117. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  118. jaclang/tests/fixtures/hello.jac +5 -0
  119. jaclang/tests/fixtures/hello_nc.jac +5 -0
  120. jaclang/tests/fixtures/ignore.jac +43 -0
  121. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  122. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  123. jaclang/tests/fixtures/impl_grab.jac +2 -0
  124. jaclang/tests/fixtures/inherit_check.jac +33 -0
  125. jaclang/tests/fixtures/jacsamp.jac +6 -0
  126. jaclang/tests/fixtures/jp_importer.jac +17 -0
  127. jaclang/tests/fixtures/lambda.jac +6 -0
  128. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  129. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  130. jaclang/tests/fixtures/mtest.jac +6 -0
  131. jaclang/tests/fixtures/needs_import.jac +18 -0
  132. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  133. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  134. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  135. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  136. jaclang/tests/fixtures/package_import.jac +6 -0
  137. jaclang/tests/fixtures/pyfunc.py +11 -0
  138. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  139. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  140. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  141. jaclang/tests/fixtures/random_check.jac +70 -0
  142. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  143. jaclang/tests/fixtures/registry.jac +37 -0
  144. jaclang/tests/fixtures/run_test.jac +5 -0
  145. jaclang/tests/fixtures/semstr.jac +33 -0
  146. jaclang/tests/fixtures/simple_archs.jac +26 -0
  147. jaclang/tests/fixtures/slice_vals.jac +7 -0
  148. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  149. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  150. jaclang/tests/fixtures/try_finally.jac +34 -0
  151. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  152. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  153. jaclang/tests/fixtures/type_info.jac +19 -0
  154. jaclang/tests/fixtures/with_context.jac +30 -0
  155. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  156. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  157. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  158. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  159. jaclang/tests/test_cli.py +239 -0
  160. jaclang/tests/test_language.py +807 -0
  161. jaclang/tests/test_man_code.py +148 -0
  162. jaclang/tests/test_reference.py +95 -0
  163. jaclang/tests/test_settings.py +46 -0
  164. jaclang/utils/treeprinter.py +7 -2
  165. jaclang/vendor/LICENSE +18 -0
  166. jaclang/vendor/mypy/stubgen.py +0 -0
  167. jaclang/vendor/mypy/stubgenc.py +0 -0
  168. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  169. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +308 -0
  170. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +41 -0
  171. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  172. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +632 -0
  173. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +106 -0
  174. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  175. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +198 -0
  176. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  177. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  178. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  179. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  180. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +219 -0
  181. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +600 -0
  182. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +316 -0
  183. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +43 -0
  184. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +185 -0
  185. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  186. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +32 -0
  187. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  188. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  189. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  190. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  191. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +172 -0
  192. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +55 -0
  193. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
  194. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +17 -0
  195. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  196. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  197. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +18 -0
  198. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +851 -0
  199. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  200. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +63 -0
  201. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  202. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +120 -0
  203. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  204. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/README.md +34 -0
  205. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +374 -0
  206. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +45 -0
  207. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +51 -0
  208. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +13 -0
  209. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +65 -0
  210. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +45 -0
  211. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  212. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +275 -0
  213. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +61 -0
  214. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +99 -0
  215. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  216. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +675 -0
  217. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +111 -0
  218. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +287 -0
  219. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  220. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  221. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +519 -0
  222. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +21 -0
  223. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +71 -0
  224. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +13 -0
  225. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  226. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +32 -0
  227. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +669 -0
  228. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  229. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +26 -0
  230. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +61 -0
  231. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +131 -0
  232. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  233. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  234. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +72 -0
  235. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +40 -0
  236. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +49 -0
  237. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +44 -0
  238. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  239. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +189 -0
  240. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +13 -0
  241. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +172 -0
  242. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +234 -0
  243. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +36 -0
  244. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +566 -0
  245. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +11 -0
  246. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +22 -0
  247. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +64 -0
  248. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +140 -0
  249. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +268 -0
  250. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +108 -0
  251. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +59 -0
  252. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +99 -0
  253. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +14 -0
  254. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +50 -0
  255. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +76 -0
  256. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +133 -0
  257. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +45 -0
  258. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +47 -0
  259. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  260. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +2310 -0
  261. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +177 -0
  262. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +49 -0
  263. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +248 -0
  264. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +122 -0
  265. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +44 -0
  266. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +26 -0
  267. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +38 -0
  268. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +52 -0
  269. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +46 -0
  270. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +344 -0
  271. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +17 -0
  272. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +571 -0
  273. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  274. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +20 -0
  275. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  276. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  277. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +137 -0
  278. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +272 -0
  279. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +86 -0
  280. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +449 -0
  281. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +274 -0
  282. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +67 -0
  283. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  284. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +32 -0
  285. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  286. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  287. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +211 -0
  288. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +29 -0
  289. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  290. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  291. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +25 -0
  292. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
  293. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
  294. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +25 -0
  295. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +15 -0
  296. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +323 -0
  297. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +334 -0
  298. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +98 -0
  299. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +34 -0
  300. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +44 -0
  301. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +40 -0
  302. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +5 -0
  303. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +169 -0
  304. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +190 -0
  305. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  306. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +22 -0
  307. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  308. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +183 -0
  309. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +88 -0
  310. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  311. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  312. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  313. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  314. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  315. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  316. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +21 -0
  317. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  318. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  319. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  320. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  321. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  322. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  323. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  324. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +91 -0
  325. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  326. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  327. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  328. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  329. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  330. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  331. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  332. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  333. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  334. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  335. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +59 -0
  336. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  337. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  338. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  339. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +21 -0
  340. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +155 -0
  341. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  342. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  343. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +37 -0
  344. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  345. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +78 -0
  346. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  347. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  348. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +4 -0
  349. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +24 -0
  350. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +23 -0
  351. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  352. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +50 -0
  353. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  354. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +282 -0
  355. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  356. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +37 -0
  357. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  358. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  359. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +22 -0
  360. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +39 -0
  361. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  362. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  363. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  364. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +31 -0
  365. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +42 -0
  366. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +41 -0
  367. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +214 -0
  368. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +19 -0
  369. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +220 -0
  370. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  371. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  372. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  373. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +15 -0
  374. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  375. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +10 -0
  376. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  377. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  378. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +14 -0
  379. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +44 -0
  380. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +51 -0
  381. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +30 -0
  382. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +84 -0
  383. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  384. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +25 -0
  385. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +28 -0
  386. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  387. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +347 -0
  388. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  389. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +20 -0
  390. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +155 -0
  391. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +62 -0
  392. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +246 -0
  393. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  394. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +92 -0
  395. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +152 -0
  396. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +214 -0
  397. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +261 -0
  398. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +39 -0
  399. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +62 -0
  400. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +15 -0
  401. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  402. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +200 -0
  403. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +50 -0
  404. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  405. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  406. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +162 -0
  407. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +191 -0
  408. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +36 -0
  409. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +45 -0
  410. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  411. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  412. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +40 -0
  413. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  414. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +283 -0
  415. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +206 -0
  416. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +67 -0
  417. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +93 -0
  418. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +221 -0
  419. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  420. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +75 -0
  421. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  422. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  423. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +195 -0
  424. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +214 -0
  425. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +310 -0
  426. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
  427. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  428. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +66 -0
  429. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  430. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  431. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +55 -0
  432. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +16 -0
  433. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +57 -0
  434. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +709 -0
  435. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +222 -0
  436. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +229 -0
  437. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +394 -0
  438. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +69 -0
  439. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +34 -0
  440. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +38 -0
  441. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  442. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  443. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  444. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +32 -0
  445. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +44 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +18 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +46 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +40 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +36 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +52 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +98 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +142 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +122 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +29 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +165 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +685 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +161 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +315 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +213 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +306 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +15 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +35 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +134 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +50 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +126 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +84 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +237 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +107 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +94 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +94 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +235 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +83 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +50 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +36 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +38 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +270 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +137 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +43 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +118 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +44 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +140 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +34 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +66 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +83 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +28 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +151 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +114 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +154 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +68 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +290 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1317 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +28 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +282 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +223 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +286 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +173 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +61 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +56 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +176 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +78 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +363 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +171 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +122 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +43 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +85 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +21 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +36 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +40 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +97 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +309 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +94 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +62 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +17 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +160 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +376 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +40 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +116 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +31 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +56 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +24 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +162 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +85 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +64 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +47 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +239 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +208 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +33 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +102 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +223 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +881 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +195 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +43 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +519 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +132 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +110 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +559 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +151 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +112 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +43 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2638 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +63 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +396 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +54 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +52 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +48 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +18 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +486 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +129 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +521 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +273 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +107 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +212 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +122 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +46 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3950 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +28 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +16 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +21 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +173 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +148 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +60 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +395 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1276 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +185 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +12 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +114 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +297 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +142 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +830 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +647 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +1059 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +524 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +71 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +72 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +34 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +28 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +481 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +71 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +75 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +468 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +59 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +83 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +26 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +31 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +27 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +245 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +544 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +50 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +23 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +144 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +87 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +173 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +80 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +120 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +109 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +28 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +49 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +44 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +31 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +52 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +63 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +72 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +12 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +111 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +467 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +101 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +110 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +35 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +49 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +367 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +34 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +21 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +59 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +71 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +89 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +348 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +186 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +355 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +105 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +40 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +63 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +45 -0
  735. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
  736. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
  737. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +238 -0
  738. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  739. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  740. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  741. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  742. jaclang/vendor/mypyc/.readthedocs.yaml +18 -0
  743. jaclang/vendor/mypyc/README.md +133 -0
  744. jaclang/vendor/mypyc/doc/Makefile +20 -0
  745. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  746. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  747. jaclang/vendor/mypyc/doc/conf.py +59 -0
  748. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  749. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  750. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  751. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  752. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  753. jaclang/vendor/mypyc/doc/future.md +42 -0
  754. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  755. jaclang/vendor/mypyc/doc/index.rst +61 -0
  756. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  757. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  758. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  759. jaclang/vendor/mypyc/doc/make.bat +35 -0
  760. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  761. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  762. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  763. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  764. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  765. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  766. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  767. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  768. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  769. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  770. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  771. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  772. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  773. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  774. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  775. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  776. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  777. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  778. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  779. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  780. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  781. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  782. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  783. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  784. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  785. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  786. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  787. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  788. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  789. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  790. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  791. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  792. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  793. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  794. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  795. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  796. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  797. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  798. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  799. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  800. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  801. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  802. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  803. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  804. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  805. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  806. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  807. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  808. jaclang/vendor/mypyc/lib-rt/CPy.h +643 -0
  809. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  810. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  811. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  812. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  813. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  814. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  815. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  816. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  817. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  818. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  819. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  820. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  821. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  822. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  823. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +548 -0
  824. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  825. jaclang/vendor/mypyc/lib-rt/setup.py +76 -0
  826. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  827. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  828. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  829. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  830. jaclang/vendor/mypyc/test-data/analysis.test +603 -0
  831. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  832. jaclang/vendor/mypyc/test-data/driver/driver.py +50 -0
  833. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  834. jaclang/vendor/mypyc/test-data/exceptions.test +713 -0
  835. jaclang/vendor/mypyc/test-data/fixtures/ir.py +850 -0
  836. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +117 -0
  837. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +212 -0
  838. jaclang/vendor/mypyc/test-data/irbuild-any.test +238 -0
  839. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3690 -0
  840. jaclang/vendor/mypyc/test-data/irbuild-bool.test +463 -0
  841. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +184 -0
  842. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1303 -0
  843. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  844. jaclang/vendor/mypyc/test-data/irbuild-dict.test +585 -0
  845. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +223 -0
  846. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  847. jaclang/vendor/mypyc/test-data/irbuild-generics.test +151 -0
  848. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  849. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  850. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  851. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2164 -0
  852. jaclang/vendor/mypyc/test-data/irbuild-int.test +235 -0
  853. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  854. jaclang/vendor/mypyc/test-data/irbuild-lists.test +547 -0
  855. jaclang/vendor/mypyc/test-data/irbuild-match.test +1708 -0
  856. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  857. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  858. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  859. jaclang/vendor/mypyc/test-data/irbuild-set.test +838 -0
  860. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  861. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1149 -0
  862. jaclang/vendor/mypyc/test-data/irbuild-str.test +314 -0
  863. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  864. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  865. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +462 -0
  866. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  867. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  868. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  869. jaclang/vendor/mypyc/test-data/refcount.test +1588 -0
  870. jaclang/vendor/mypyc/test-data/run-async.test +145 -0
  871. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  872. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  873. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  874. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  875. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  876. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  877. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  878. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  879. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  880. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  881. jaclang/vendor/mypyc/test-data/run-generators.test +681 -0
  882. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  883. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  884. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  885. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  886. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  887. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  888. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  889. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  890. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  891. jaclang/vendor/mypyc/test-data/run-misc.test +1168 -0
  892. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  893. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  894. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  895. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  896. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  897. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  898. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  899. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  900. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  901. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  902. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  903. jaclang/vendor/pluggy/LICENSE +21 -0
  904. jaclang-0.6.2.dist-info/METADATA +110 -0
  905. jaclang-0.6.2.dist-info/RECORD +1305 -0
  906. {jaclang-0.6.0.dist-info → jaclang-0.6.2.dist-info}/WHEEL +1 -2
  907. jaclang-0.6.2.dist-info/entry_points.txt +3 -0
  908. jaclang/compiler/generated/jac_parser.py +0 -4069
  909. jaclang-0.6.0.dist-info/METADATA +0 -17
  910. jaclang-0.6.0.dist-info/RECORD +0 -426
  911. jaclang-0.6.0.dist-info/entry_points.txt +0 -2
  912. jaclang-0.6.0.dist-info/top_level.txt +0 -1
  913. /jaclang/{compiler/generated/__init__.py → vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi} +0 -0
@@ -0,0 +1,1708 @@
1
+ [case testMatchValuePattern_python3_10]
2
+ def f():
3
+ match 123:
4
+ case 123:
5
+ print("matched")
6
+ [out]
7
+ def f():
8
+ r0 :: bit
9
+ r1 :: str
10
+ r2 :: object
11
+ r3 :: str
12
+ r4 :: object
13
+ r5 :: object[1]
14
+ r6 :: object_ptr
15
+ r7, r8 :: object
16
+ L0:
17
+ r0 = 246 == 246
18
+ if r0 goto L1 else goto L2 :: bool
19
+ L1:
20
+ r1 = 'matched'
21
+ r2 = builtins :: module
22
+ r3 = 'print'
23
+ r4 = CPyObject_GetAttr(r2, r3)
24
+ r5 = [r1]
25
+ r6 = load_address r5
26
+ r7 = _PyObject_Vectorcall(r4, r6, 1, 0)
27
+ keep_alive r1
28
+ goto L3
29
+ L2:
30
+ L3:
31
+ r8 = box(None, 1)
32
+ return r8
33
+ [case testMatchOrPattern_python3_10]
34
+ def f():
35
+ match 123:
36
+ case 123 | 456:
37
+ print("matched")
38
+ [out]
39
+ def f():
40
+ r0, r1 :: bit
41
+ r2 :: str
42
+ r3 :: object
43
+ r4 :: str
44
+ r5 :: object
45
+ r6 :: object[1]
46
+ r7 :: object_ptr
47
+ r8, r9 :: object
48
+ L0:
49
+ r0 = 246 == 246
50
+ if r0 goto L3 else goto L1 :: bool
51
+ L1:
52
+ r1 = 246 == 912
53
+ if r1 goto L3 else goto L2 :: bool
54
+ L2:
55
+ goto L4
56
+ L3:
57
+ r2 = 'matched'
58
+ r3 = builtins :: module
59
+ r4 = 'print'
60
+ r5 = CPyObject_GetAttr(r3, r4)
61
+ r6 = [r2]
62
+ r7 = load_address r6
63
+ r8 = _PyObject_Vectorcall(r5, r7, 1, 0)
64
+ keep_alive r2
65
+ goto L5
66
+ L4:
67
+ L5:
68
+ r9 = box(None, 1)
69
+ return r9
70
+ [case testMatchOrPatternManyPatterns_python3_10]
71
+ def f():
72
+ match 1:
73
+ case 1 | 2 | 3 | 4:
74
+ print("matched")
75
+ [out]
76
+ def f():
77
+ r0, r1, r2, r3 :: bit
78
+ r4 :: str
79
+ r5 :: object
80
+ r6 :: str
81
+ r7 :: object
82
+ r8 :: object[1]
83
+ r9 :: object_ptr
84
+ r10, r11 :: object
85
+ L0:
86
+ r0 = 2 == 2
87
+ if r0 goto L5 else goto L1 :: bool
88
+ L1:
89
+ r1 = 2 == 4
90
+ if r1 goto L5 else goto L2 :: bool
91
+ L2:
92
+ r2 = 2 == 6
93
+ if r2 goto L5 else goto L3 :: bool
94
+ L3:
95
+ r3 = 2 == 8
96
+ if r3 goto L5 else goto L4 :: bool
97
+ L4:
98
+ goto L6
99
+ L5:
100
+ r4 = 'matched'
101
+ r5 = builtins :: module
102
+ r6 = 'print'
103
+ r7 = CPyObject_GetAttr(r5, r6)
104
+ r8 = [r4]
105
+ r9 = load_address r8
106
+ r10 = _PyObject_Vectorcall(r7, r9, 1, 0)
107
+ keep_alive r4
108
+ goto L7
109
+ L6:
110
+ L7:
111
+ r11 = box(None, 1)
112
+ return r11
113
+ [case testMatchClassPattern_python3_10]
114
+ def f():
115
+ match 123:
116
+ case int():
117
+ print("matched")
118
+ [out]
119
+ def f():
120
+ r0, r1 :: object
121
+ r2 :: bool
122
+ r3 :: str
123
+ r4 :: object
124
+ r5 :: str
125
+ r6 :: object
126
+ r7 :: object[1]
127
+ r8 :: object_ptr
128
+ r9, r10 :: object
129
+ L0:
130
+ r0 = load_address PyLong_Type
131
+ r1 = object 123
132
+ r2 = CPy_TypeCheck(r1, r0)
133
+ if r2 goto L1 else goto L2 :: bool
134
+ L1:
135
+ r3 = 'matched'
136
+ r4 = builtins :: module
137
+ r5 = 'print'
138
+ r6 = CPyObject_GetAttr(r4, r5)
139
+ r7 = [r3]
140
+ r8 = load_address r7
141
+ r9 = _PyObject_Vectorcall(r6, r8, 1, 0)
142
+ keep_alive r3
143
+ goto L3
144
+ L2:
145
+ L3:
146
+ r10 = box(None, 1)
147
+ return r10
148
+ [case testMatchExaustivePattern_python3_10]
149
+ def f():
150
+ match 123:
151
+ case _:
152
+ print("matched")
153
+ [out]
154
+ def f():
155
+ r0 :: str
156
+ r1 :: object
157
+ r2 :: str
158
+ r3 :: object
159
+ r4 :: object[1]
160
+ r5 :: object_ptr
161
+ r6, r7 :: object
162
+ L0:
163
+ L1:
164
+ r0 = 'matched'
165
+ r1 = builtins :: module
166
+ r2 = 'print'
167
+ r3 = CPyObject_GetAttr(r1, r2)
168
+ r4 = [r0]
169
+ r5 = load_address r4
170
+ r6 = _PyObject_Vectorcall(r3, r5, 1, 0)
171
+ keep_alive r0
172
+ goto L3
173
+ L2:
174
+ L3:
175
+ r7 = box(None, 1)
176
+ return r7
177
+ [case testMatchMultipleBodies_python3_10]
178
+ def f():
179
+ match 123:
180
+ case 123:
181
+ print("matched")
182
+ case 456:
183
+ print("no match")
184
+ [out]
185
+ def f():
186
+ r0 :: bit
187
+ r1 :: str
188
+ r2 :: object
189
+ r3 :: str
190
+ r4 :: object
191
+ r5 :: object[1]
192
+ r6 :: object_ptr
193
+ r7 :: object
194
+ r8 :: bit
195
+ r9 :: str
196
+ r10 :: object
197
+ r11 :: str
198
+ r12 :: object
199
+ r13 :: object[1]
200
+ r14 :: object_ptr
201
+ r15, r16 :: object
202
+ L0:
203
+ r0 = 246 == 246
204
+ if r0 goto L1 else goto L2 :: bool
205
+ L1:
206
+ r1 = 'matched'
207
+ r2 = builtins :: module
208
+ r3 = 'print'
209
+ r4 = CPyObject_GetAttr(r2, r3)
210
+ r5 = [r1]
211
+ r6 = load_address r5
212
+ r7 = _PyObject_Vectorcall(r4, r6, 1, 0)
213
+ keep_alive r1
214
+ goto L5
215
+ L2:
216
+ r8 = 246 == 912
217
+ if r8 goto L3 else goto L4 :: bool
218
+ L3:
219
+ r9 = 'no match'
220
+ r10 = builtins :: module
221
+ r11 = 'print'
222
+ r12 = CPyObject_GetAttr(r10, r11)
223
+ r13 = [r9]
224
+ r14 = load_address r13
225
+ r15 = _PyObject_Vectorcall(r12, r14, 1, 0)
226
+ keep_alive r9
227
+ goto L5
228
+ L4:
229
+ L5:
230
+ r16 = box(None, 1)
231
+ return r16
232
+ [case testMatchMultiBodyAndComplexOr_python3_10]
233
+ def f():
234
+ match 123:
235
+ case 1:
236
+ print("here 1")
237
+ case 2 | 3:
238
+ print("here 2 | 3")
239
+ case 123:
240
+ print("here 123")
241
+ [out]
242
+ def f():
243
+ r0 :: bit
244
+ r1 :: str
245
+ r2 :: object
246
+ r3 :: str
247
+ r4 :: object
248
+ r5 :: object[1]
249
+ r6 :: object_ptr
250
+ r7 :: object
251
+ r8, r9 :: bit
252
+ r10 :: str
253
+ r11 :: object
254
+ r12 :: str
255
+ r13 :: object
256
+ r14 :: object[1]
257
+ r15 :: object_ptr
258
+ r16 :: object
259
+ r17 :: bit
260
+ r18 :: str
261
+ r19 :: object
262
+ r20 :: str
263
+ r21 :: object
264
+ r22 :: object[1]
265
+ r23 :: object_ptr
266
+ r24, r25 :: object
267
+ L0:
268
+ r0 = 246 == 2
269
+ if r0 goto L1 else goto L2 :: bool
270
+ L1:
271
+ r1 = 'here 1'
272
+ r2 = builtins :: module
273
+ r3 = 'print'
274
+ r4 = CPyObject_GetAttr(r2, r3)
275
+ r5 = [r1]
276
+ r6 = load_address r5
277
+ r7 = _PyObject_Vectorcall(r4, r6, 1, 0)
278
+ keep_alive r1
279
+ goto L9
280
+ L2:
281
+ r8 = 246 == 4
282
+ if r8 goto L5 else goto L3 :: bool
283
+ L3:
284
+ r9 = 246 == 6
285
+ if r9 goto L5 else goto L4 :: bool
286
+ L4:
287
+ goto L6
288
+ L5:
289
+ r10 = 'here 2 | 3'
290
+ r11 = builtins :: module
291
+ r12 = 'print'
292
+ r13 = CPyObject_GetAttr(r11, r12)
293
+ r14 = [r10]
294
+ r15 = load_address r14
295
+ r16 = _PyObject_Vectorcall(r13, r15, 1, 0)
296
+ keep_alive r10
297
+ goto L9
298
+ L6:
299
+ r17 = 246 == 246
300
+ if r17 goto L7 else goto L8 :: bool
301
+ L7:
302
+ r18 = 'here 123'
303
+ r19 = builtins :: module
304
+ r20 = 'print'
305
+ r21 = CPyObject_GetAttr(r19, r20)
306
+ r22 = [r18]
307
+ r23 = load_address r22
308
+ r24 = _PyObject_Vectorcall(r21, r23, 1, 0)
309
+ keep_alive r18
310
+ goto L9
311
+ L8:
312
+ L9:
313
+ r25 = box(None, 1)
314
+ return r25
315
+ [case testMatchWithGuard_python3_10]
316
+ def f():
317
+ match 123:
318
+ case 123 if True:
319
+ print("matched")
320
+ [out]
321
+ def f():
322
+ r0 :: bit
323
+ r1 :: str
324
+ r2 :: object
325
+ r3 :: str
326
+ r4 :: object
327
+ r5 :: object[1]
328
+ r6 :: object_ptr
329
+ r7, r8 :: object
330
+ L0:
331
+ r0 = 246 == 246
332
+ if r0 goto L1 else goto L3 :: bool
333
+ L1:
334
+ if 1 goto L2 else goto L3 :: bool
335
+ L2:
336
+ r1 = 'matched'
337
+ r2 = builtins :: module
338
+ r3 = 'print'
339
+ r4 = CPyObject_GetAttr(r2, r3)
340
+ r5 = [r1]
341
+ r6 = load_address r5
342
+ r7 = _PyObject_Vectorcall(r4, r6, 1, 0)
343
+ keep_alive r1
344
+ goto L4
345
+ L3:
346
+ L4:
347
+ r8 = box(None, 1)
348
+ return r8
349
+ [case testMatchSingleton_python3_10]
350
+ def f():
351
+ match 123:
352
+ case True:
353
+ print("value is True")
354
+ case False:
355
+ print("value is False")
356
+ case None:
357
+ print("value is None")
358
+ [out]
359
+ def f():
360
+ r0, r1 :: object
361
+ r2 :: bit
362
+ r3 :: str
363
+ r4 :: object
364
+ r5 :: str
365
+ r6 :: object
366
+ r7 :: object[1]
367
+ r8 :: object_ptr
368
+ r9, r10, r11 :: object
369
+ r12 :: bit
370
+ r13 :: str
371
+ r14 :: object
372
+ r15 :: str
373
+ r16 :: object
374
+ r17 :: object[1]
375
+ r18 :: object_ptr
376
+ r19, r20, r21 :: object
377
+ r22 :: bit
378
+ r23 :: str
379
+ r24 :: object
380
+ r25 :: str
381
+ r26 :: object
382
+ r27 :: object[1]
383
+ r28 :: object_ptr
384
+ r29, r30 :: object
385
+ L0:
386
+ r0 = object 123
387
+ r1 = box(bool, 1)
388
+ r2 = r0 == r1
389
+ if r2 goto L1 else goto L2 :: bool
390
+ L1:
391
+ r3 = 'value is True'
392
+ r4 = builtins :: module
393
+ r5 = 'print'
394
+ r6 = CPyObject_GetAttr(r4, r5)
395
+ r7 = [r3]
396
+ r8 = load_address r7
397
+ r9 = _PyObject_Vectorcall(r6, r8, 1, 0)
398
+ keep_alive r3
399
+ goto L7
400
+ L2:
401
+ r10 = object 123
402
+ r11 = box(bool, 0)
403
+ r12 = r10 == r11
404
+ if r12 goto L3 else goto L4 :: bool
405
+ L3:
406
+ r13 = 'value is False'
407
+ r14 = builtins :: module
408
+ r15 = 'print'
409
+ r16 = CPyObject_GetAttr(r14, r15)
410
+ r17 = [r13]
411
+ r18 = load_address r17
412
+ r19 = _PyObject_Vectorcall(r16, r18, 1, 0)
413
+ keep_alive r13
414
+ goto L7
415
+ L4:
416
+ r20 = load_address _Py_NoneStruct
417
+ r21 = object 123
418
+ r22 = r21 == r20
419
+ if r22 goto L5 else goto L6 :: bool
420
+ L5:
421
+ r23 = 'value is None'
422
+ r24 = builtins :: module
423
+ r25 = 'print'
424
+ r26 = CPyObject_GetAttr(r24, r25)
425
+ r27 = [r23]
426
+ r28 = load_address r27
427
+ r29 = _PyObject_Vectorcall(r26, r28, 1, 0)
428
+ keep_alive r23
429
+ goto L7
430
+ L6:
431
+ L7:
432
+ r30 = box(None, 1)
433
+ return r30
434
+ [case testMatchRecursiveOrPattern_python3_10]
435
+ def f():
436
+ match 1:
437
+ case 1 | int():
438
+ print("matched")
439
+ [out]
440
+ def f():
441
+ r0 :: bit
442
+ r1, r2 :: object
443
+ r3 :: bool
444
+ r4 :: str
445
+ r5 :: object
446
+ r6 :: str
447
+ r7 :: object
448
+ r8 :: object[1]
449
+ r9 :: object_ptr
450
+ r10, r11 :: object
451
+ L0:
452
+ r0 = 2 == 2
453
+ if r0 goto L3 else goto L1 :: bool
454
+ L1:
455
+ r1 = load_address PyLong_Type
456
+ r2 = object 1
457
+ r3 = CPy_TypeCheck(r2, r1)
458
+ if r3 goto L3 else goto L2 :: bool
459
+ L2:
460
+ goto L4
461
+ L3:
462
+ r4 = 'matched'
463
+ r5 = builtins :: module
464
+ r6 = 'print'
465
+ r7 = CPyObject_GetAttr(r5, r6)
466
+ r8 = [r4]
467
+ r9 = load_address r8
468
+ r10 = _PyObject_Vectorcall(r7, r9, 1, 0)
469
+ keep_alive r4
470
+ goto L5
471
+ L4:
472
+ L5:
473
+ r11 = box(None, 1)
474
+ return r11
475
+ [case testMatchAsPattern_python3_10]
476
+ def f():
477
+ match 123:
478
+ case 123 as x:
479
+ print(x)
480
+ [out]
481
+ def f():
482
+ r0 :: bit
483
+ r1, x, r2 :: object
484
+ r3 :: str
485
+ r4 :: object
486
+ r5 :: object[1]
487
+ r6 :: object_ptr
488
+ r7, r8 :: object
489
+ L0:
490
+ r0 = 246 == 246
491
+ r1 = object 123
492
+ x = r1
493
+ if r0 goto L1 else goto L2 :: bool
494
+ L1:
495
+ r2 = builtins :: module
496
+ r3 = 'print'
497
+ r4 = CPyObject_GetAttr(r2, r3)
498
+ r5 = [x]
499
+ r6 = load_address r5
500
+ r7 = _PyObject_Vectorcall(r4, r6, 1, 0)
501
+ keep_alive x
502
+ goto L3
503
+ L2:
504
+ L3:
505
+ r8 = box(None, 1)
506
+ return r8
507
+ [case testMatchAsPatternOnOrPattern_python3_10]
508
+ def f():
509
+ match 1:
510
+ case (1 | 2) as x:
511
+ print(x)
512
+ [out]
513
+ def f():
514
+ r0 :: bit
515
+ r1, x :: object
516
+ r2 :: bit
517
+ r3, r4 :: object
518
+ r5 :: str
519
+ r6 :: object
520
+ r7 :: object[1]
521
+ r8 :: object_ptr
522
+ r9, r10 :: object
523
+ L0:
524
+ r0 = 2 == 2
525
+ r1 = object 1
526
+ x = r1
527
+ if r0 goto L3 else goto L1 :: bool
528
+ L1:
529
+ r2 = 2 == 4
530
+ r3 = object 2
531
+ x = r3
532
+ if r2 goto L3 else goto L2 :: bool
533
+ L2:
534
+ goto L4
535
+ L3:
536
+ r4 = builtins :: module
537
+ r5 = 'print'
538
+ r6 = CPyObject_GetAttr(r4, r5)
539
+ r7 = [x]
540
+ r8 = load_address r7
541
+ r9 = _PyObject_Vectorcall(r6, r8, 1, 0)
542
+ keep_alive x
543
+ goto L5
544
+ L4:
545
+ L5:
546
+ r10 = box(None, 1)
547
+ return r10
548
+ [case testMatchAsPatternOnClassPattern_python3_10]
549
+ def f():
550
+ match 123:
551
+ case int() as i:
552
+ print(i)
553
+ [out]
554
+ def f():
555
+ r0, r1 :: object
556
+ r2 :: bool
557
+ i :: int
558
+ r3 :: object
559
+ r4 :: str
560
+ r5, r6 :: object
561
+ r7 :: object[1]
562
+ r8 :: object_ptr
563
+ r9, r10 :: object
564
+ L0:
565
+ r0 = load_address PyLong_Type
566
+ r1 = object 123
567
+ r2 = CPy_TypeCheck(r1, r0)
568
+ if r2 goto L1 else goto L3 :: bool
569
+ L1:
570
+ i = 246
571
+ L2:
572
+ r3 = builtins :: module
573
+ r4 = 'print'
574
+ r5 = CPyObject_GetAttr(r3, r4)
575
+ r6 = box(int, i)
576
+ r7 = [r6]
577
+ r8 = load_address r7
578
+ r9 = _PyObject_Vectorcall(r5, r8, 1, 0)
579
+ keep_alive r6
580
+ goto L4
581
+ L3:
582
+ L4:
583
+ r10 = box(None, 1)
584
+ return r10
585
+ [case testMatchClassPatternWithPositionalArgs_python3_10]
586
+ class Position:
587
+ __match_args__ = ("x", "y", "z")
588
+
589
+ x: int
590
+ y: int
591
+ z: int
592
+
593
+ def f(x):
594
+ match x:
595
+ case Position(1, 2, 3):
596
+ print("matched")
597
+ [out]
598
+ def Position.__mypyc_defaults_setup(__mypyc_self__):
599
+ __mypyc_self__ :: __main__.Position
600
+ r0, r1, r2 :: str
601
+ r3 :: tuple[str, str, str]
602
+ L0:
603
+ r0 = 'x'
604
+ r1 = 'y'
605
+ r2 = 'z'
606
+ r3 = (r0, r1, r2)
607
+ __mypyc_self__.__match_args__ = r3
608
+ return 1
609
+ def f(x):
610
+ x, r0 :: object
611
+ r1 :: i32
612
+ r2 :: bit
613
+ r3 :: bool
614
+ r4 :: str
615
+ r5, r6, r7 :: object
616
+ r8 :: i32
617
+ r9 :: bit
618
+ r10 :: bool
619
+ r11 :: str
620
+ r12, r13, r14 :: object
621
+ r15 :: i32
622
+ r16 :: bit
623
+ r17 :: bool
624
+ r18 :: str
625
+ r19, r20, r21 :: object
626
+ r22 :: i32
627
+ r23 :: bit
628
+ r24 :: bool
629
+ r25 :: str
630
+ r26 :: object
631
+ r27 :: str
632
+ r28 :: object
633
+ r29 :: object[1]
634
+ r30 :: object_ptr
635
+ r31, r32 :: object
636
+ L0:
637
+ r0 = __main__.Position :: type
638
+ r1 = PyObject_IsInstance(x, r0)
639
+ r2 = r1 >= 0 :: signed
640
+ r3 = truncate r1: i32 to builtins.bool
641
+ if r3 goto L1 else goto L5 :: bool
642
+ L1:
643
+ r4 = 'x'
644
+ r5 = CPyObject_GetAttr(x, r4)
645
+ r6 = object 1
646
+ r7 = PyObject_RichCompare(r5, r6, 2)
647
+ r8 = PyObject_IsTrue(r7)
648
+ r9 = r8 >= 0 :: signed
649
+ r10 = truncate r8: i32 to builtins.bool
650
+ if r10 goto L2 else goto L5 :: bool
651
+ L2:
652
+ r11 = 'y'
653
+ r12 = CPyObject_GetAttr(x, r11)
654
+ r13 = object 2
655
+ r14 = PyObject_RichCompare(r12, r13, 2)
656
+ r15 = PyObject_IsTrue(r14)
657
+ r16 = r15 >= 0 :: signed
658
+ r17 = truncate r15: i32 to builtins.bool
659
+ if r17 goto L3 else goto L5 :: bool
660
+ L3:
661
+ r18 = 'z'
662
+ r19 = CPyObject_GetAttr(x, r18)
663
+ r20 = object 3
664
+ r21 = PyObject_RichCompare(r19, r20, 2)
665
+ r22 = PyObject_IsTrue(r21)
666
+ r23 = r22 >= 0 :: signed
667
+ r24 = truncate r22: i32 to builtins.bool
668
+ if r24 goto L4 else goto L5 :: bool
669
+ L4:
670
+ r25 = 'matched'
671
+ r26 = builtins :: module
672
+ r27 = 'print'
673
+ r28 = CPyObject_GetAttr(r26, r27)
674
+ r29 = [r25]
675
+ r30 = load_address r29
676
+ r31 = _PyObject_Vectorcall(r28, r30, 1, 0)
677
+ keep_alive r25
678
+ goto L6
679
+ L5:
680
+ L6:
681
+ r32 = box(None, 1)
682
+ return r32
683
+ [case testMatchClassPatternWithKeywordPatterns_python3_10]
684
+ class Position:
685
+ x: int
686
+ y: int
687
+ z: int
688
+
689
+ def f(x):
690
+ match x:
691
+ case Position(z=1, y=2, x=3):
692
+ print("matched")
693
+ [out]
694
+ def f(x):
695
+ x, r0 :: object
696
+ r1 :: i32
697
+ r2 :: bit
698
+ r3 :: bool
699
+ r4 :: str
700
+ r5, r6, r7 :: object
701
+ r8 :: i32
702
+ r9 :: bit
703
+ r10 :: bool
704
+ r11 :: str
705
+ r12, r13, r14 :: object
706
+ r15 :: i32
707
+ r16 :: bit
708
+ r17 :: bool
709
+ r18 :: str
710
+ r19, r20, r21 :: object
711
+ r22 :: i32
712
+ r23 :: bit
713
+ r24 :: bool
714
+ r25 :: str
715
+ r26 :: object
716
+ r27 :: str
717
+ r28 :: object
718
+ r29 :: object[1]
719
+ r30 :: object_ptr
720
+ r31, r32 :: object
721
+ L0:
722
+ r0 = __main__.Position :: type
723
+ r1 = PyObject_IsInstance(x, r0)
724
+ r2 = r1 >= 0 :: signed
725
+ r3 = truncate r1: i32 to builtins.bool
726
+ if r3 goto L1 else goto L5 :: bool
727
+ L1:
728
+ r4 = 'z'
729
+ r5 = CPyObject_GetAttr(x, r4)
730
+ r6 = object 1
731
+ r7 = PyObject_RichCompare(r5, r6, 2)
732
+ r8 = PyObject_IsTrue(r7)
733
+ r9 = r8 >= 0 :: signed
734
+ r10 = truncate r8: i32 to builtins.bool
735
+ if r10 goto L2 else goto L5 :: bool
736
+ L2:
737
+ r11 = 'y'
738
+ r12 = CPyObject_GetAttr(x, r11)
739
+ r13 = object 2
740
+ r14 = PyObject_RichCompare(r12, r13, 2)
741
+ r15 = PyObject_IsTrue(r14)
742
+ r16 = r15 >= 0 :: signed
743
+ r17 = truncate r15: i32 to builtins.bool
744
+ if r17 goto L3 else goto L5 :: bool
745
+ L3:
746
+ r18 = 'x'
747
+ r19 = CPyObject_GetAttr(x, r18)
748
+ r20 = object 3
749
+ r21 = PyObject_RichCompare(r19, r20, 2)
750
+ r22 = PyObject_IsTrue(r21)
751
+ r23 = r22 >= 0 :: signed
752
+ r24 = truncate r22: i32 to builtins.bool
753
+ if r24 goto L4 else goto L5 :: bool
754
+ L4:
755
+ r25 = 'matched'
756
+ r26 = builtins :: module
757
+ r27 = 'print'
758
+ r28 = CPyObject_GetAttr(r26, r27)
759
+ r29 = [r25]
760
+ r30 = load_address r29
761
+ r31 = _PyObject_Vectorcall(r28, r30, 1, 0)
762
+ keep_alive r25
763
+ goto L6
764
+ L5:
765
+ L6:
766
+ r32 = box(None, 1)
767
+ return r32
768
+ [case testMatchClassPatternWithNestedPattern_python3_10]
769
+ class C:
770
+ num: int
771
+
772
+ def f(x):
773
+ match x:
774
+ case C(num=1 | 2):
775
+ print("matched")
776
+ [out]
777
+ def f(x):
778
+ x, r0 :: object
779
+ r1 :: i32
780
+ r2 :: bit
781
+ r3 :: bool
782
+ r4 :: str
783
+ r5, r6, r7 :: object
784
+ r8 :: i32
785
+ r9 :: bit
786
+ r10 :: bool
787
+ r11, r12 :: object
788
+ r13 :: i32
789
+ r14 :: bit
790
+ r15 :: bool
791
+ r16 :: str
792
+ r17 :: object
793
+ r18 :: str
794
+ r19 :: object
795
+ r20 :: object[1]
796
+ r21 :: object_ptr
797
+ r22, r23 :: object
798
+ L0:
799
+ r0 = __main__.C :: type
800
+ r1 = PyObject_IsInstance(x, r0)
801
+ r2 = r1 >= 0 :: signed
802
+ r3 = truncate r1: i32 to builtins.bool
803
+ if r3 goto L1 else goto L5 :: bool
804
+ L1:
805
+ r4 = 'num'
806
+ r5 = CPyObject_GetAttr(x, r4)
807
+ r6 = object 1
808
+ r7 = PyObject_RichCompare(r5, r6, 2)
809
+ r8 = PyObject_IsTrue(r7)
810
+ r9 = r8 >= 0 :: signed
811
+ r10 = truncate r8: i32 to builtins.bool
812
+ if r10 goto L4 else goto L2 :: bool
813
+ L2:
814
+ r11 = object 2
815
+ r12 = PyObject_RichCompare(r5, r11, 2)
816
+ r13 = PyObject_IsTrue(r12)
817
+ r14 = r13 >= 0 :: signed
818
+ r15 = truncate r13: i32 to builtins.bool
819
+ if r15 goto L4 else goto L3 :: bool
820
+ L3:
821
+ goto L5
822
+ L4:
823
+ r16 = 'matched'
824
+ r17 = builtins :: module
825
+ r18 = 'print'
826
+ r19 = CPyObject_GetAttr(r17, r18)
827
+ r20 = [r16]
828
+ r21 = load_address r20
829
+ r22 = _PyObject_Vectorcall(r19, r21, 1, 0)
830
+ keep_alive r16
831
+ goto L6
832
+ L5:
833
+ L6:
834
+ r23 = box(None, 1)
835
+ return r23
836
+ [case testAsPatternDoesntBleedIntoSubPatterns_python3_10]
837
+ class C:
838
+ __match_args__ = ("a", "b")
839
+ a: int
840
+ b: int
841
+
842
+ def f(x):
843
+ match x:
844
+ case C(1, 2) as y:
845
+ print("matched")
846
+ [out]
847
+ def C.__mypyc_defaults_setup(__mypyc_self__):
848
+ __mypyc_self__ :: __main__.C
849
+ r0, r1 :: str
850
+ r2 :: tuple[str, str]
851
+ L0:
852
+ r0 = 'a'
853
+ r1 = 'b'
854
+ r2 = (r0, r1)
855
+ __mypyc_self__.__match_args__ = r2
856
+ return 1
857
+ def f(x):
858
+ x, r0 :: object
859
+ r1 :: i32
860
+ r2 :: bit
861
+ r3 :: bool
862
+ r4, y :: __main__.C
863
+ r5 :: str
864
+ r6, r7, r8 :: object
865
+ r9 :: i32
866
+ r10 :: bit
867
+ r11 :: bool
868
+ r12 :: str
869
+ r13, r14, r15 :: object
870
+ r16 :: i32
871
+ r17 :: bit
872
+ r18 :: bool
873
+ r19 :: str
874
+ r20 :: object
875
+ r21 :: str
876
+ r22 :: object
877
+ r23 :: object[1]
878
+ r24 :: object_ptr
879
+ r25, r26 :: object
880
+ L0:
881
+ r0 = __main__.C :: type
882
+ r1 = PyObject_IsInstance(x, r0)
883
+ r2 = r1 >= 0 :: signed
884
+ r3 = truncate r1: i32 to builtins.bool
885
+ if r3 goto L1 else goto L5 :: bool
886
+ L1:
887
+ r4 = cast(__main__.C, x)
888
+ y = r4
889
+ L2:
890
+ r5 = 'a'
891
+ r6 = CPyObject_GetAttr(x, r5)
892
+ r7 = object 1
893
+ r8 = PyObject_RichCompare(r6, r7, 2)
894
+ r9 = PyObject_IsTrue(r8)
895
+ r10 = r9 >= 0 :: signed
896
+ r11 = truncate r9: i32 to builtins.bool
897
+ if r11 goto L3 else goto L5 :: bool
898
+ L3:
899
+ r12 = 'b'
900
+ r13 = CPyObject_GetAttr(x, r12)
901
+ r14 = object 2
902
+ r15 = PyObject_RichCompare(r13, r14, 2)
903
+ r16 = PyObject_IsTrue(r15)
904
+ r17 = r16 >= 0 :: signed
905
+ r18 = truncate r16: i32 to builtins.bool
906
+ if r18 goto L4 else goto L5 :: bool
907
+ L4:
908
+ r19 = 'matched'
909
+ r20 = builtins :: module
910
+ r21 = 'print'
911
+ r22 = CPyObject_GetAttr(r20, r21)
912
+ r23 = [r19]
913
+ r24 = load_address r23
914
+ r25 = _PyObject_Vectorcall(r22, r24, 1, 0)
915
+ keep_alive r19
916
+ goto L6
917
+ L5:
918
+ L6:
919
+ r26 = box(None, 1)
920
+ return r26
921
+ [case testMatchClassPatternPositionalCapture_python3_10]
922
+ class C:
923
+ __match_args__ = ("x",)
924
+
925
+ x: int
926
+
927
+ def f(x):
928
+ match x:
929
+ case C(num):
930
+ print("matched")
931
+ [out]
932
+ def C.__mypyc_defaults_setup(__mypyc_self__):
933
+ __mypyc_self__ :: __main__.C
934
+ r0 :: str
935
+ r1 :: tuple[str]
936
+ L0:
937
+ r0 = 'x'
938
+ r1 = (r0)
939
+ __mypyc_self__.__match_args__ = r1
940
+ return 1
941
+ def f(x):
942
+ x, r0 :: object
943
+ r1 :: i32
944
+ r2 :: bit
945
+ r3 :: bool
946
+ r4 :: str
947
+ r5 :: object
948
+ r6, num :: int
949
+ r7 :: str
950
+ r8 :: object
951
+ r9 :: str
952
+ r10 :: object
953
+ r11 :: object[1]
954
+ r12 :: object_ptr
955
+ r13, r14 :: object
956
+ L0:
957
+ r0 = __main__.C :: type
958
+ r1 = PyObject_IsInstance(x, r0)
959
+ r2 = r1 >= 0 :: signed
960
+ r3 = truncate r1: i32 to builtins.bool
961
+ if r3 goto L1 else goto L3 :: bool
962
+ L1:
963
+ r4 = 'x'
964
+ r5 = CPyObject_GetAttr(x, r4)
965
+ r6 = unbox(int, r5)
966
+ num = r6
967
+ L2:
968
+ r7 = 'matched'
969
+ r8 = builtins :: module
970
+ r9 = 'print'
971
+ r10 = CPyObject_GetAttr(r8, r9)
972
+ r11 = [r7]
973
+ r12 = load_address r11
974
+ r13 = _PyObject_Vectorcall(r10, r12, 1, 0)
975
+ keep_alive r7
976
+ goto L4
977
+ L3:
978
+ L4:
979
+ r14 = box(None, 1)
980
+ return r14
981
+ [case testMatchMappingEmpty_python3_10]
982
+ def f(x):
983
+ match x:
984
+ case {}:
985
+ print("matched")
986
+ [out]
987
+ def f(x):
988
+ x :: object
989
+ r0 :: i32
990
+ r1 :: bit
991
+ r2 :: str
992
+ r3 :: object
993
+ r4 :: str
994
+ r5 :: object
995
+ r6 :: object[1]
996
+ r7 :: object_ptr
997
+ r8, r9 :: object
998
+ L0:
999
+ r0 = CPyMapping_Check(x)
1000
+ r1 = r0 != 0
1001
+ if r1 goto L1 else goto L2 :: bool
1002
+ L1:
1003
+ r2 = 'matched'
1004
+ r3 = builtins :: module
1005
+ r4 = 'print'
1006
+ r5 = CPyObject_GetAttr(r3, r4)
1007
+ r6 = [r2]
1008
+ r7 = load_address r6
1009
+ r8 = _PyObject_Vectorcall(r5, r7, 1, 0)
1010
+ keep_alive r2
1011
+ goto L3
1012
+ L2:
1013
+ L3:
1014
+ r9 = box(None, 1)
1015
+ return r9
1016
+ [case testMatchMappingPatternWithKeys_python3_10]
1017
+ def f(x):
1018
+ match x:
1019
+ case {"key": "value"}:
1020
+ print("matched")
1021
+ [out]
1022
+ def f(x):
1023
+ x :: object
1024
+ r0 :: i32
1025
+ r1 :: bit
1026
+ r2 :: str
1027
+ r3 :: i32
1028
+ r4 :: bit
1029
+ r5 :: object
1030
+ r6 :: str
1031
+ r7 :: object
1032
+ r8 :: i32
1033
+ r9 :: bit
1034
+ r10 :: bool
1035
+ r11 :: str
1036
+ r12 :: object
1037
+ r13 :: str
1038
+ r14 :: object
1039
+ r15 :: object[1]
1040
+ r16 :: object_ptr
1041
+ r17, r18 :: object
1042
+ L0:
1043
+ r0 = CPyMapping_Check(x)
1044
+ r1 = r0 != 0
1045
+ if r1 goto L1 else goto L4 :: bool
1046
+ L1:
1047
+ r2 = 'key'
1048
+ r3 = PyMapping_HasKey(x, r2)
1049
+ r4 = r3 != 0
1050
+ if r4 goto L2 else goto L4 :: bool
1051
+ L2:
1052
+ r5 = PyObject_GetItem(x, r2)
1053
+ r6 = 'value'
1054
+ r7 = PyObject_RichCompare(r5, r6, 2)
1055
+ r8 = PyObject_IsTrue(r7)
1056
+ r9 = r8 >= 0 :: signed
1057
+ r10 = truncate r8: i32 to builtins.bool
1058
+ if r10 goto L3 else goto L4 :: bool
1059
+ L3:
1060
+ r11 = 'matched'
1061
+ r12 = builtins :: module
1062
+ r13 = 'print'
1063
+ r14 = CPyObject_GetAttr(r12, r13)
1064
+ r15 = [r11]
1065
+ r16 = load_address r15
1066
+ r17 = _PyObject_Vectorcall(r14, r16, 1, 0)
1067
+ keep_alive r11
1068
+ goto L5
1069
+ L4:
1070
+ L5:
1071
+ r18 = box(None, 1)
1072
+ return r18
1073
+ [case testMatchMappingPatternWithRest_python3_10]
1074
+ def f(x):
1075
+ match x:
1076
+ case {**rest}:
1077
+ print("matched")
1078
+ [out]
1079
+ def f(x):
1080
+ x :: object
1081
+ r0 :: i32
1082
+ r1 :: bit
1083
+ r2, rest :: dict
1084
+ r3 :: str
1085
+ r4 :: object
1086
+ r5 :: str
1087
+ r6 :: object
1088
+ r7 :: object[1]
1089
+ r8 :: object_ptr
1090
+ r9, r10 :: object
1091
+ L0:
1092
+ r0 = CPyMapping_Check(x)
1093
+ r1 = r0 != 0
1094
+ if r1 goto L1 else goto L3 :: bool
1095
+ L1:
1096
+ r2 = CPyDict_FromAny(x)
1097
+ rest = r2
1098
+ L2:
1099
+ r3 = 'matched'
1100
+ r4 = builtins :: module
1101
+ r5 = 'print'
1102
+ r6 = CPyObject_GetAttr(r4, r5)
1103
+ r7 = [r3]
1104
+ r8 = load_address r7
1105
+ r9 = _PyObject_Vectorcall(r6, r8, 1, 0)
1106
+ keep_alive r3
1107
+ goto L4
1108
+ L3:
1109
+ L4:
1110
+ r10 = box(None, 1)
1111
+ return r10
1112
+ [case testMatchMappingPatternWithRestPopKeys_python3_10]
1113
+ def f(x):
1114
+ match x:
1115
+ case {"key": "value", **rest}:
1116
+ print("matched")
1117
+ [out]
1118
+ def f(x):
1119
+ x :: object
1120
+ r0 :: i32
1121
+ r1 :: bit
1122
+ r2 :: str
1123
+ r3 :: i32
1124
+ r4 :: bit
1125
+ r5 :: object
1126
+ r6 :: str
1127
+ r7 :: object
1128
+ r8 :: i32
1129
+ r9 :: bit
1130
+ r10 :: bool
1131
+ r11, rest :: dict
1132
+ r12 :: i32
1133
+ r13 :: bit
1134
+ r14 :: str
1135
+ r15 :: object
1136
+ r16 :: str
1137
+ r17 :: object
1138
+ r18 :: object[1]
1139
+ r19 :: object_ptr
1140
+ r20, r21 :: object
1141
+ L0:
1142
+ r0 = CPyMapping_Check(x)
1143
+ r1 = r0 != 0
1144
+ if r1 goto L1 else goto L5 :: bool
1145
+ L1:
1146
+ r2 = 'key'
1147
+ r3 = PyMapping_HasKey(x, r2)
1148
+ r4 = r3 != 0
1149
+ if r4 goto L2 else goto L5 :: bool
1150
+ L2:
1151
+ r5 = PyObject_GetItem(x, r2)
1152
+ r6 = 'value'
1153
+ r7 = PyObject_RichCompare(r5, r6, 2)
1154
+ r8 = PyObject_IsTrue(r7)
1155
+ r9 = r8 >= 0 :: signed
1156
+ r10 = truncate r8: i32 to builtins.bool
1157
+ if r10 goto L3 else goto L5 :: bool
1158
+ L3:
1159
+ r11 = CPyDict_FromAny(x)
1160
+ rest = r11
1161
+ r12 = PyDict_DelItem(r11, r2)
1162
+ r13 = r12 >= 0 :: signed
1163
+ L4:
1164
+ r14 = 'matched'
1165
+ r15 = builtins :: module
1166
+ r16 = 'print'
1167
+ r17 = CPyObject_GetAttr(r15, r16)
1168
+ r18 = [r14]
1169
+ r19 = load_address r18
1170
+ r20 = _PyObject_Vectorcall(r17, r19, 1, 0)
1171
+ keep_alive r14
1172
+ goto L6
1173
+ L5:
1174
+ L6:
1175
+ r21 = box(None, 1)
1176
+ return r21
1177
+ [case testMatchEmptySequencePattern_python3_10]
1178
+ def f(x):
1179
+ match x:
1180
+ case []:
1181
+ print("matched")
1182
+ [out]
1183
+ def f(x):
1184
+ x :: object
1185
+ r0 :: i32
1186
+ r1 :: bit
1187
+ r2 :: native_int
1188
+ r3, r4 :: bit
1189
+ r5 :: str
1190
+ r6 :: object
1191
+ r7 :: str
1192
+ r8 :: object
1193
+ r9 :: object[1]
1194
+ r10 :: object_ptr
1195
+ r11, r12 :: object
1196
+ L0:
1197
+ r0 = CPySequence_Check(x)
1198
+ r1 = r0 != 0
1199
+ if r1 goto L1 else goto L3 :: bool
1200
+ L1:
1201
+ r2 = PyObject_Size(x)
1202
+ r3 = r2 >= 0 :: signed
1203
+ r4 = r2 == 0
1204
+ if r4 goto L2 else goto L3 :: bool
1205
+ L2:
1206
+ r5 = 'matched'
1207
+ r6 = builtins :: module
1208
+ r7 = 'print'
1209
+ r8 = CPyObject_GetAttr(r6, r7)
1210
+ r9 = [r5]
1211
+ r10 = load_address r9
1212
+ r11 = _PyObject_Vectorcall(r8, r10, 1, 0)
1213
+ keep_alive r5
1214
+ goto L4
1215
+ L3:
1216
+ L4:
1217
+ r12 = box(None, 1)
1218
+ return r12
1219
+ [case testMatchFixedLengthSequencePattern_python3_10]
1220
+ def f(x):
1221
+ match x:
1222
+ case [1, 2]:
1223
+ print("matched")
1224
+ [out]
1225
+ def f(x):
1226
+ x :: object
1227
+ r0 :: i32
1228
+ r1 :: bit
1229
+ r2 :: native_int
1230
+ r3, r4 :: bit
1231
+ r5, r6, r7 :: object
1232
+ r8 :: i32
1233
+ r9 :: bit
1234
+ r10 :: bool
1235
+ r11, r12, r13 :: object
1236
+ r14 :: i32
1237
+ r15 :: bit
1238
+ r16 :: bool
1239
+ r17 :: str
1240
+ r18 :: object
1241
+ r19 :: str
1242
+ r20 :: object
1243
+ r21 :: object[1]
1244
+ r22 :: object_ptr
1245
+ r23, r24 :: object
1246
+ L0:
1247
+ r0 = CPySequence_Check(x)
1248
+ r1 = r0 != 0
1249
+ if r1 goto L1 else goto L5 :: bool
1250
+ L1:
1251
+ r2 = PyObject_Size(x)
1252
+ r3 = r2 >= 0 :: signed
1253
+ r4 = r2 == 2
1254
+ if r4 goto L2 else goto L5 :: bool
1255
+ L2:
1256
+ r5 = PySequence_GetItem(x, 0)
1257
+ r6 = object 1
1258
+ r7 = PyObject_RichCompare(r5, r6, 2)
1259
+ r8 = PyObject_IsTrue(r7)
1260
+ r9 = r8 >= 0 :: signed
1261
+ r10 = truncate r8: i32 to builtins.bool
1262
+ if r10 goto L3 else goto L5 :: bool
1263
+ L3:
1264
+ r11 = PySequence_GetItem(x, 1)
1265
+ r12 = object 2
1266
+ r13 = PyObject_RichCompare(r11, r12, 2)
1267
+ r14 = PyObject_IsTrue(r13)
1268
+ r15 = r14 >= 0 :: signed
1269
+ r16 = truncate r14: i32 to builtins.bool
1270
+ if r16 goto L4 else goto L5 :: bool
1271
+ L4:
1272
+ r17 = 'matched'
1273
+ r18 = builtins :: module
1274
+ r19 = 'print'
1275
+ r20 = CPyObject_GetAttr(r18, r19)
1276
+ r21 = [r17]
1277
+ r22 = load_address r21
1278
+ r23 = _PyObject_Vectorcall(r20, r22, 1, 0)
1279
+ keep_alive r17
1280
+ goto L6
1281
+ L5:
1282
+ L6:
1283
+ r24 = box(None, 1)
1284
+ return r24
1285
+ [case testMatchSequencePatternWithTrailingUnboundStar_python3_10]
1286
+ def f(x):
1287
+ match x:
1288
+ case [1, 2, *_]:
1289
+ print("matched")
1290
+ [out]
1291
+ def f(x):
1292
+ x :: object
1293
+ r0 :: i32
1294
+ r1 :: bit
1295
+ r2 :: native_int
1296
+ r3, r4 :: bit
1297
+ r5, r6, r7 :: object
1298
+ r8 :: i32
1299
+ r9 :: bit
1300
+ r10 :: bool
1301
+ r11, r12, r13 :: object
1302
+ r14 :: i32
1303
+ r15 :: bit
1304
+ r16 :: bool
1305
+ r17 :: str
1306
+ r18 :: object
1307
+ r19 :: str
1308
+ r20 :: object
1309
+ r21 :: object[1]
1310
+ r22 :: object_ptr
1311
+ r23, r24 :: object
1312
+ L0:
1313
+ r0 = CPySequence_Check(x)
1314
+ r1 = r0 != 0
1315
+ if r1 goto L1 else goto L5 :: bool
1316
+ L1:
1317
+ r2 = PyObject_Size(x)
1318
+ r3 = r2 >= 0 :: signed
1319
+ r4 = r2 >= 2 :: signed
1320
+ if r4 goto L2 else goto L5 :: bool
1321
+ L2:
1322
+ r5 = PySequence_GetItem(x, 0)
1323
+ r6 = object 1
1324
+ r7 = PyObject_RichCompare(r5, r6, 2)
1325
+ r8 = PyObject_IsTrue(r7)
1326
+ r9 = r8 >= 0 :: signed
1327
+ r10 = truncate r8: i32 to builtins.bool
1328
+ if r10 goto L3 else goto L5 :: bool
1329
+ L3:
1330
+ r11 = PySequence_GetItem(x, 1)
1331
+ r12 = object 2
1332
+ r13 = PyObject_RichCompare(r11, r12, 2)
1333
+ r14 = PyObject_IsTrue(r13)
1334
+ r15 = r14 >= 0 :: signed
1335
+ r16 = truncate r14: i32 to builtins.bool
1336
+ if r16 goto L4 else goto L5 :: bool
1337
+ L4:
1338
+ r17 = 'matched'
1339
+ r18 = builtins :: module
1340
+ r19 = 'print'
1341
+ r20 = CPyObject_GetAttr(r18, r19)
1342
+ r21 = [r17]
1343
+ r22 = load_address r21
1344
+ r23 = _PyObject_Vectorcall(r20, r22, 1, 0)
1345
+ keep_alive r17
1346
+ goto L6
1347
+ L5:
1348
+ L6:
1349
+ r24 = box(None, 1)
1350
+ return r24
1351
+ [case testMatchSequencePatternWithTrailingBoundStar_python3_10]
1352
+ def f(x):
1353
+ match x:
1354
+ case [1, 2, *rest]:
1355
+ print("matched")
1356
+ [out]
1357
+ def f(x):
1358
+ x :: object
1359
+ r0 :: i32
1360
+ r1 :: bit
1361
+ r2 :: native_int
1362
+ r3, r4 :: bit
1363
+ r5, r6, r7 :: object
1364
+ r8 :: i32
1365
+ r9 :: bit
1366
+ r10 :: bool
1367
+ r11, r12, r13 :: object
1368
+ r14 :: i32
1369
+ r15 :: bit
1370
+ r16 :: bool
1371
+ r17 :: native_int
1372
+ r18, rest :: object
1373
+ r19 :: str
1374
+ r20 :: object
1375
+ r21 :: str
1376
+ r22 :: object
1377
+ r23 :: object[1]
1378
+ r24 :: object_ptr
1379
+ r25, r26 :: object
1380
+ L0:
1381
+ r0 = CPySequence_Check(x)
1382
+ r1 = r0 != 0
1383
+ if r1 goto L1 else goto L6 :: bool
1384
+ L1:
1385
+ r2 = PyObject_Size(x)
1386
+ r3 = r2 >= 0 :: signed
1387
+ r4 = r2 >= 2 :: signed
1388
+ if r4 goto L2 else goto L6 :: bool
1389
+ L2:
1390
+ r5 = PySequence_GetItem(x, 0)
1391
+ r6 = object 1
1392
+ r7 = PyObject_RichCompare(r5, r6, 2)
1393
+ r8 = PyObject_IsTrue(r7)
1394
+ r9 = r8 >= 0 :: signed
1395
+ r10 = truncate r8: i32 to builtins.bool
1396
+ if r10 goto L3 else goto L6 :: bool
1397
+ L3:
1398
+ r11 = PySequence_GetItem(x, 1)
1399
+ r12 = object 2
1400
+ r13 = PyObject_RichCompare(r11, r12, 2)
1401
+ r14 = PyObject_IsTrue(r13)
1402
+ r15 = r14 >= 0 :: signed
1403
+ r16 = truncate r14: i32 to builtins.bool
1404
+ if r16 goto L4 else goto L6 :: bool
1405
+ L4:
1406
+ r17 = r2 - 0
1407
+ r18 = PySequence_GetSlice(x, 2, r17)
1408
+ rest = r18
1409
+ L5:
1410
+ r19 = 'matched'
1411
+ r20 = builtins :: module
1412
+ r21 = 'print'
1413
+ r22 = CPyObject_GetAttr(r20, r21)
1414
+ r23 = [r19]
1415
+ r24 = load_address r23
1416
+ r25 = _PyObject_Vectorcall(r22, r24, 1, 0)
1417
+ keep_alive r19
1418
+ goto L7
1419
+ L6:
1420
+ L7:
1421
+ r26 = box(None, 1)
1422
+ return r26
1423
+ [case testMatchSequenceWithStarPatternInTheMiddle_python3_10]
1424
+ def f(x):
1425
+ match x:
1426
+ case ["start", *rest, "end"]:
1427
+ print("matched")
1428
+ [out]
1429
+ def f(x):
1430
+ x :: object
1431
+ r0 :: i32
1432
+ r1 :: bit
1433
+ r2 :: native_int
1434
+ r3, r4 :: bit
1435
+ r5 :: object
1436
+ r6 :: str
1437
+ r7 :: object
1438
+ r8 :: i32
1439
+ r9 :: bit
1440
+ r10 :: bool
1441
+ r11 :: native_int
1442
+ r12 :: object
1443
+ r13 :: str
1444
+ r14 :: object
1445
+ r15 :: i32
1446
+ r16 :: bit
1447
+ r17 :: bool
1448
+ r18 :: native_int
1449
+ r19, rest :: object
1450
+ r20 :: str
1451
+ r21 :: object
1452
+ r22 :: str
1453
+ r23 :: object
1454
+ r24 :: object[1]
1455
+ r25 :: object_ptr
1456
+ r26, r27 :: object
1457
+ L0:
1458
+ r0 = CPySequence_Check(x)
1459
+ r1 = r0 != 0
1460
+ if r1 goto L1 else goto L6 :: bool
1461
+ L1:
1462
+ r2 = PyObject_Size(x)
1463
+ r3 = r2 >= 0 :: signed
1464
+ r4 = r2 >= 2 :: signed
1465
+ if r4 goto L2 else goto L6 :: bool
1466
+ L2:
1467
+ r5 = PySequence_GetItem(x, 0)
1468
+ r6 = 'start'
1469
+ r7 = PyObject_RichCompare(r5, r6, 2)
1470
+ r8 = PyObject_IsTrue(r7)
1471
+ r9 = r8 >= 0 :: signed
1472
+ r10 = truncate r8: i32 to builtins.bool
1473
+ if r10 goto L3 else goto L6 :: bool
1474
+ L3:
1475
+ r11 = r2 - 1
1476
+ r12 = PySequence_GetItem(x, r11)
1477
+ r13 = 'end'
1478
+ r14 = PyObject_RichCompare(r12, r13, 2)
1479
+ r15 = PyObject_IsTrue(r14)
1480
+ r16 = r15 >= 0 :: signed
1481
+ r17 = truncate r15: i32 to builtins.bool
1482
+ if r17 goto L4 else goto L6 :: bool
1483
+ L4:
1484
+ r18 = r2 - 1
1485
+ r19 = PySequence_GetSlice(x, 1, r18)
1486
+ rest = r19
1487
+ L5:
1488
+ r20 = 'matched'
1489
+ r21 = builtins :: module
1490
+ r22 = 'print'
1491
+ r23 = CPyObject_GetAttr(r21, r22)
1492
+ r24 = [r20]
1493
+ r25 = load_address r24
1494
+ r26 = _PyObject_Vectorcall(r23, r25, 1, 0)
1495
+ keep_alive r20
1496
+ goto L7
1497
+ L6:
1498
+ L7:
1499
+ r27 = box(None, 1)
1500
+ return r27
1501
+ [case testMatchSequenceWithStarPatternAtTheStart_python3_10]
1502
+ def f(x):
1503
+ match x:
1504
+ case [*rest, 1, 2]:
1505
+ print("matched")
1506
+ [out]
1507
+ def f(x):
1508
+ x :: object
1509
+ r0 :: i32
1510
+ r1 :: bit
1511
+ r2 :: native_int
1512
+ r3, r4 :: bit
1513
+ r5 :: native_int
1514
+ r6, r7, r8 :: object
1515
+ r9 :: i32
1516
+ r10 :: bit
1517
+ r11 :: bool
1518
+ r12 :: native_int
1519
+ r13, r14, r15 :: object
1520
+ r16 :: i32
1521
+ r17 :: bit
1522
+ r18 :: bool
1523
+ r19 :: native_int
1524
+ r20, rest :: object
1525
+ r21 :: str
1526
+ r22 :: object
1527
+ r23 :: str
1528
+ r24 :: object
1529
+ r25 :: object[1]
1530
+ r26 :: object_ptr
1531
+ r27, r28 :: object
1532
+ L0:
1533
+ r0 = CPySequence_Check(x)
1534
+ r1 = r0 != 0
1535
+ if r1 goto L1 else goto L6 :: bool
1536
+ L1:
1537
+ r2 = PyObject_Size(x)
1538
+ r3 = r2 >= 0 :: signed
1539
+ r4 = r2 >= 2 :: signed
1540
+ if r4 goto L2 else goto L6 :: bool
1541
+ L2:
1542
+ r5 = r2 - 2
1543
+ r6 = PySequence_GetItem(x, r5)
1544
+ r7 = object 1
1545
+ r8 = PyObject_RichCompare(r6, r7, 2)
1546
+ r9 = PyObject_IsTrue(r8)
1547
+ r10 = r9 >= 0 :: signed
1548
+ r11 = truncate r9: i32 to builtins.bool
1549
+ if r11 goto L3 else goto L6 :: bool
1550
+ L3:
1551
+ r12 = r2 - 1
1552
+ r13 = PySequence_GetItem(x, r12)
1553
+ r14 = object 2
1554
+ r15 = PyObject_RichCompare(r13, r14, 2)
1555
+ r16 = PyObject_IsTrue(r15)
1556
+ r17 = r16 >= 0 :: signed
1557
+ r18 = truncate r16: i32 to builtins.bool
1558
+ if r18 goto L4 else goto L6 :: bool
1559
+ L4:
1560
+ r19 = r2 - 2
1561
+ r20 = PySequence_GetSlice(x, 0, r19)
1562
+ rest = r20
1563
+ L5:
1564
+ r21 = 'matched'
1565
+ r22 = builtins :: module
1566
+ r23 = 'print'
1567
+ r24 = CPyObject_GetAttr(r22, r23)
1568
+ r25 = [r21]
1569
+ r26 = load_address r25
1570
+ r27 = _PyObject_Vectorcall(r24, r26, 1, 0)
1571
+ keep_alive r21
1572
+ goto L7
1573
+ L6:
1574
+ L7:
1575
+ r28 = box(None, 1)
1576
+ return r28
1577
+ [case testMatchBuiltinClassPattern_python3_10]
1578
+ def f(x):
1579
+ match x:
1580
+ case int(y):
1581
+ print("matched")
1582
+ [out]
1583
+ def f(x):
1584
+ x, r0 :: object
1585
+ r1 :: bool
1586
+ r2, y :: int
1587
+ r3 :: str
1588
+ r4 :: object
1589
+ r5 :: str
1590
+ r6 :: object
1591
+ r7 :: object[1]
1592
+ r8 :: object_ptr
1593
+ r9, r10 :: object
1594
+ L0:
1595
+ r0 = load_address PyLong_Type
1596
+ r1 = CPy_TypeCheck(x, r0)
1597
+ if r1 goto L1 else goto L3 :: bool
1598
+ L1:
1599
+ r2 = unbox(int, x)
1600
+ y = r2
1601
+ L2:
1602
+ r3 = 'matched'
1603
+ r4 = builtins :: module
1604
+ r5 = 'print'
1605
+ r6 = CPyObject_GetAttr(r4, r5)
1606
+ r7 = [r3]
1607
+ r8 = load_address r7
1608
+ r9 = _PyObject_Vectorcall(r6, r8, 1, 0)
1609
+ keep_alive r3
1610
+ goto L4
1611
+ L3:
1612
+ L4:
1613
+ r10 = box(None, 1)
1614
+ return r10
1615
+ [case testMatchSequenceCaptureAll_python3_10]
1616
+ def f(x):
1617
+ match x:
1618
+ case [*rest]:
1619
+ print("matched")
1620
+ [out]
1621
+ def f(x):
1622
+ x :: object
1623
+ r0 :: i32
1624
+ r1 :: bit
1625
+ r2 :: native_int
1626
+ r3, r4 :: bit
1627
+ r5 :: native_int
1628
+ r6, rest :: object
1629
+ r7 :: str
1630
+ r8 :: object
1631
+ r9 :: str
1632
+ r10 :: object
1633
+ r11 :: object[1]
1634
+ r12 :: object_ptr
1635
+ r13, r14 :: object
1636
+ L0:
1637
+ r0 = CPySequence_Check(x)
1638
+ r1 = r0 != 0
1639
+ if r1 goto L1 else goto L4 :: bool
1640
+ L1:
1641
+ r2 = PyObject_Size(x)
1642
+ r3 = r2 >= 0 :: signed
1643
+ r4 = r2 >= 0 :: signed
1644
+ if r4 goto L2 else goto L4 :: bool
1645
+ L2:
1646
+ r5 = r2 - 0
1647
+ r6 = PySequence_GetSlice(x, 0, r5)
1648
+ rest = r6
1649
+ L3:
1650
+ r7 = 'matched'
1651
+ r8 = builtins :: module
1652
+ r9 = 'print'
1653
+ r10 = CPyObject_GetAttr(r8, r9)
1654
+ r11 = [r7]
1655
+ r12 = load_address r11
1656
+ r13 = _PyObject_Vectorcall(r10, r12, 1, 0)
1657
+ keep_alive r7
1658
+ goto L5
1659
+ L4:
1660
+ L5:
1661
+ r14 = box(None, 1)
1662
+ return r14
1663
+ [case testMatchTypeAnnotatedNativeClass_python3_10]
1664
+ class A:
1665
+ a: int
1666
+
1667
+ def f(x: A | int) -> int:
1668
+ match x:
1669
+ case A(a=a):
1670
+ return a
1671
+ case int():
1672
+ return x
1673
+ [out]
1674
+ def f(x):
1675
+ x :: union[__main__.A, int]
1676
+ r0 :: object
1677
+ r1 :: i32
1678
+ r2 :: bit
1679
+ r3 :: bool
1680
+ r4 :: str
1681
+ r5 :: object
1682
+ r6, a :: int
1683
+ r7 :: object
1684
+ r8 :: bool
1685
+ r9 :: int
1686
+ L0:
1687
+ r0 = __main__.A :: type
1688
+ r1 = PyObject_IsInstance(x, r0)
1689
+ r2 = r1 >= 0 :: signed
1690
+ r3 = truncate r1: i32 to builtins.bool
1691
+ if r3 goto L1 else goto L3 :: bool
1692
+ L1:
1693
+ r4 = 'a'
1694
+ r5 = CPyObject_GetAttr(x, r4)
1695
+ r6 = unbox(int, r5)
1696
+ a = r6
1697
+ L2:
1698
+ return a
1699
+ L3:
1700
+ r7 = load_address PyLong_Type
1701
+ r8 = CPy_TypeCheck(x, r7)
1702
+ if r8 goto L4 else goto L5 :: bool
1703
+ L4:
1704
+ r9 = unbox(int, x)
1705
+ return r9
1706
+ L5:
1707
+ L6:
1708
+ unreachable