jaclang 0.6.0__py3-none-any.whl → 0.6.5__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.

Potentially problematic release.


This version of jaclang might be problematic. Click here for more details.

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