jaclang 0.7.34__py3-none-any.whl → 0.8.1__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 (1503) hide show
  1. jaclang/__init__.py +7 -414
  2. jaclang/cli/cli.md +5 -5
  3. jaclang/cli/cli.py +316 -217
  4. jaclang/cli/cmdreg.py +188 -31
  5. jaclang/compiler/__init__.py +10 -15
  6. jaclang/compiler/{codeloc.py → codeinfo.py} +11 -30
  7. jaclang/compiler/constant.py +10 -33
  8. jaclang/compiler/jac.lark +65 -106
  9. jaclang/compiler/larkparse/jac_parser.py +3444 -0
  10. jaclang/compiler/parser.py +1137 -1517
  11. jaclang/compiler/passes/__init__.py +2 -2
  12. jaclang/compiler/passes/main/__init__.py +33 -14
  13. jaclang/compiler/passes/main/annex_pass.py +85 -0
  14. jaclang/compiler/passes/main/cfg_build_pass.py +275 -0
  15. jaclang/compiler/passes/main/def_impl_match_pass.py +159 -114
  16. jaclang/compiler/passes/main/def_use_pass.py +66 -274
  17. jaclang/compiler/passes/main/import_pass.py +178 -363
  18. jaclang/compiler/passes/main/inheritance_pass.py +109 -107
  19. jaclang/compiler/passes/main/pyast_gen_pass.py +1242 -1735
  20. jaclang/compiler/passes/main/pyast_load_pass.py +579 -819
  21. jaclang/compiler/passes/main/pybc_gen_pass.py +38 -35
  22. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +50 -163
  23. jaclang/compiler/passes/main/sym_tab_build_pass.py +114 -1203
  24. jaclang/compiler/passes/main/sym_tab_link_pass.py +141 -0
  25. jaclang/{tests → compiler/passes/main/tests}/fixtures/access_modifier.jac +10 -9
  26. jaclang/compiler/passes/main/tests/fixtures/atest.impl.jac +3 -0
  27. jaclang/compiler/passes/main/tests/fixtures/atest.jac +11 -0
  28. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +1 -1
  29. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +1 -1
  30. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +3 -3
  31. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +1 -1
  32. jaclang/compiler/passes/main/tests/fixtures/base.impl.jac +8 -0
  33. jaclang/compiler/passes/main/tests/fixtures/base.jac +4 -4
  34. jaclang/compiler/passes/main/tests/fixtures/base2.impl.jac +8 -0
  35. jaclang/compiler/passes/main/tests/fixtures/base2.jac +4 -4
  36. jaclang/compiler/passes/main/tests/fixtures/blip.jac +1 -1
  37. jaclang/compiler/passes/main/tests/fixtures/cfg_ability_test.jac +23 -0
  38. jaclang/compiler/passes/main/tests/fixtures/cfg_gen.jac +19 -0
  39. jaclang/compiler/passes/main/tests/fixtures/circular_import.jac +7 -0
  40. jaclang/compiler/passes/main/tests/fixtures/data_spatial_types.jac +12 -12
  41. jaclang/compiler/passes/main/tests/fixtures/decls.jac +4 -4
  42. jaclang/compiler/passes/main/tests/fixtures/defn_decl_mismatch.jac +4 -4
  43. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +6 -6
  44. jaclang/compiler/passes/main/tests/fixtures/enumerations.jac +13 -0
  45. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +1 -1
  46. jaclang/compiler/passes/main/tests/fixtures/func.jac +2 -2
  47. jaclang/compiler/passes/main/tests/fixtures/func2.jac +1 -1
  48. jaclang/compiler/passes/main/tests/fixtures/game1.jac +4 -4
  49. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +2 -2
  50. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +2 -2
  51. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +0 -8
  52. jaclang/compiler/passes/main/tests/fixtures/impl_grab.impl.jac +5 -0
  53. jaclang/{tests → compiler/passes/main/tests}/fixtures/impl_grab.jac +1 -1
  54. jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac +1 -1
  55. jaclang/compiler/passes/main/tests/fixtures/main_err.impl.jac +6 -0
  56. jaclang/compiler/passes/main/tests/fixtures/main_err.jac +6 -0
  57. jaclang/compiler/passes/main/tests/fixtures/mod_type_assign.jac +1 -1
  58. jaclang/compiler/passes/main/tests/fixtures/mtest.impl.jac +6 -0
  59. jaclang/{tests → compiler/passes/main/tests}/fixtures/mtest.jac +1 -1
  60. jaclang/{tests → compiler/passes/main/tests}/fixtures/nested_impls.jac +14 -15
  61. jaclang/compiler/passes/main/tests/fixtures/py_imp_test.jac +7 -7
  62. jaclang/compiler/passes/main/tests/fixtures/second_err.jac +4 -0
  63. jaclang/compiler/passes/main/tests/fixtures/str2doc.py +3 -0
  64. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/__init__.py +5 -0
  65. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/actions.jac +19 -0
  66. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/main.jac +7 -0
  67. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/no_dupls.jac +35 -0
  68. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/one.jac +8 -0
  69. jaclang/compiler/passes/main/tests/fixtures/type_info.jac +4 -4
  70. jaclang/compiler/passes/main/tests/test_cfg_build_pass.py +101 -0
  71. jaclang/compiler/passes/main/tests/test_decl_impl_match_pass.py +157 -0
  72. jaclang/compiler/passes/main/tests/test_def_use_pass.py +4 -6
  73. jaclang/compiler/passes/main/tests/test_import_pass.py +59 -46
  74. jaclang/compiler/passes/main/tests/test_pyast_build_pass.py +15 -0
  75. jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py +25 -34
  76. jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py +3 -3
  77. jaclang/compiler/passes/main/tests/test_sub_node_pass.py +8 -7
  78. jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py +4 -4
  79. jaclang/compiler/passes/main/tests/test_sym_tab_link_pass.py +62 -0
  80. jaclang/compiler/passes/tool/__init__.py +2 -0
  81. jaclang/compiler/passes/tool/doc_ir.py +179 -0
  82. jaclang/compiler/passes/tool/doc_ir_gen_pass.py +1287 -0
  83. jaclang/compiler/passes/tool/fuse_comments_pass.py +90 -70
  84. jaclang/compiler/passes/tool/jac_formatter_pass.py +122 -2554
  85. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +249 -97
  86. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +94 -97
  87. jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac +2 -2
  88. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/access_mod_check.jac +5 -5
  89. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/archetype_test.jac +13 -0
  90. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/decorator_stack.jac +7 -7
  91. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/line_spacing.jac +8 -8
  92. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +3 -3
  93. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +3 -3
  94. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +1 -1
  95. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +2 -2
  96. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +3 -3
  97. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +1 -1
  98. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +1 -1
  99. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +1 -1
  100. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +10 -4
  101. jaclang/compiler/passes/tool/tests/test_doc_ir_gen_pass.py +29 -0
  102. jaclang/compiler/passes/tool/tests/test_jac_format_pass.py +63 -88
  103. jaclang/compiler/passes/tool/tests/test_unparse_validate.py +27 -28
  104. jaclang/compiler/passes/transform.py +56 -16
  105. jaclang/compiler/passes/{ir_pass.py → uni_pass.py} +35 -52
  106. jaclang/compiler/program.py +200 -0
  107. jaclang/compiler/tests/fixtures/codegentext.jac +31 -0
  108. jaclang/compiler/tests/fixtures/fam.jac +12 -12
  109. jaclang/compiler/tests/fixtures/hello_world.jac +1 -1
  110. jaclang/compiler/tests/fixtures/pkg_import_lib/__init__.jac +1 -0
  111. jaclang/compiler/tests/fixtures/pkg_import_lib/sub/__init__.jac +1 -0
  112. jaclang/compiler/tests/fixtures/pkg_import_lib/sub/helper.jac +3 -0
  113. jaclang/compiler/tests/fixtures/pkg_import_lib/tools.jac +3 -0
  114. jaclang/compiler/tests/fixtures/pkg_import_lib_py/__init__.py +11 -0
  115. jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/__init__.py +7 -0
  116. jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/helper.jac +3 -0
  117. jaclang/compiler/tests/fixtures/pkg_import_lib_py/tools.jac +3 -0
  118. jaclang/compiler/tests/fixtures/pkg_import_main.jac +10 -0
  119. jaclang/compiler/tests/fixtures/pkg_import_main_py.jac +11 -0
  120. jaclang/compiler/tests/fixtures/staticcheck.jac +2 -2
  121. jaclang/compiler/tests/test_importer.py +41 -16
  122. jaclang/compiler/tests/test_parser.py +39 -17
  123. jaclang/compiler/{absyntree.py → unitree.py} +1521 -1261
  124. jaclang/langserve/engine.jac +498 -0
  125. jaclang/langserve/sem_manager.jac +309 -0
  126. jaclang/langserve/server.jac +186 -0
  127. jaclang/langserve/tests/fixtures/base_module_structure.jac +7 -7
  128. jaclang/langserve/tests/fixtures/circle.jac +6 -6
  129. jaclang/langserve/tests/fixtures/circle_err.jac +6 -6
  130. jaclang/langserve/tests/fixtures/circle_pure.impl.jac +5 -5
  131. jaclang/langserve/tests/fixtures/circle_pure.jac +7 -7
  132. jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +2 -2
  133. jaclang/langserve/tests/fixtures/circle_pure_err.jac +7 -7
  134. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -6
  135. jaclang/langserve/tests/fixtures/rename.jac +6 -6
  136. jaclang/langserve/tests/server_test/test_lang_serve.py +261 -0
  137. jaclang/langserve/tests/server_test/utils.py +118 -0
  138. jaclang/langserve/tests/session.jac +294 -0
  139. jaclang/langserve/tests/test_sem_tokens.py +4 -4
  140. jaclang/langserve/tests/test_server.py +53 -30
  141. jaclang/langserve/utils.jac +459 -0
  142. jaclang/runtimelib/{architype.py → archetype.py} +86 -62
  143. jaclang/runtimelib/builtin.py +95 -0
  144. jaclang/runtimelib/constructs.py +11 -13
  145. jaclang/runtimelib/importer.py +83 -53
  146. jaclang/runtimelib/machine.py +1592 -144
  147. jaclang/runtimelib/memory.py +6 -6
  148. jaclang/{plugin → runtimelib}/tests/fixtures/graph_purger.jac +1 -1
  149. jaclang/{plugin → runtimelib}/tests/fixtures/impl_match.jac +2 -2
  150. jaclang/runtimelib/tests/fixtures/impl_match_impl.jac +3 -0
  151. jaclang/{plugin → runtimelib}/tests/fixtures/other_root_access.jac +7 -7
  152. jaclang/{plugin → runtimelib}/tests/fixtures/savable_object.jac +3 -5
  153. jaclang/{plugin → runtimelib}/tests/fixtures/simple_node_connection.jac +6 -6
  154. jaclang/{plugin → runtimelib}/tests/fixtures/simple_persistent.jac +1 -1
  155. jaclang/{plugin → runtimelib}/tests/fixtures/traversing_save.jac +7 -5
  156. jaclang/runtimelib/tests/test_features.py +72 -0
  157. jaclang/{plugin → runtimelib}/tests/test_jaseci.py +6 -5
  158. jaclang/runtimelib/utils.py +34 -66
  159. jaclang/settings.py +1 -6
  160. jaclang/tests/fixtures/{abc.jac → abc_check.jac} +6 -6
  161. jaclang/tests/fixtures/arch_rel_import_creation.jac +4 -4
  162. jaclang/tests/fixtures/async_ability.jac +18 -0
  163. jaclang/tests/fixtures/async_walker.jac +23 -0
  164. jaclang/tests/fixtures/backward_edge_visit.jac +31 -0
  165. jaclang/tests/fixtures/baddy.jac +1 -1
  166. jaclang/tests/fixtures/base_class1.jac +2 -2
  167. jaclang/tests/fixtures/base_class2.jac +2 -2
  168. jaclang/tests/fixtures/base_class_complex_expr.jac +3 -3
  169. jaclang/tests/fixtures/builtin_printgraph.jac +85 -0
  170. jaclang/tests/fixtures/builtin_printgraph_json.jac +21 -0
  171. jaclang/tests/fixtures/builtin_printgraph_mermaid.jac +16 -0
  172. jaclang/tests/fixtures/byllmissue.jac +1 -1
  173. jaclang/tests/fixtures/chandra_bugs.jac +1 -1
  174. jaclang/tests/fixtures/chandra_bugs2.jac +21 -14
  175. jaclang/tests/fixtures/cls_method.jac +6 -6
  176. jaclang/tests/fixtures/concurrency.jac +39 -0
  177. jaclang/tests/fixtures/connect_traverse_syntax.jac +18 -0
  178. jaclang/tests/fixtures/create_dynamic_archetype.jac +35 -0
  179. jaclang/tests/fixtures/decl_defn_param_name.jac +4 -4
  180. jaclang/tests/fixtures/deep/deeper/__init__.jac +1 -0
  181. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +2 -3
  182. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +3 -3
  183. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +2 -2
  184. jaclang/tests/fixtures/deep/mycode.jac +1 -1
  185. jaclang/tests/fixtures/deep/one_lev.jac +3 -4
  186. jaclang/tests/fixtures/deep/one_lev_dup.jac +2 -2
  187. jaclang/tests/fixtures/deep_convert.jac +1 -1
  188. jaclang/tests/fixtures/deep_import.jac +2 -2
  189. jaclang/tests/fixtures/deep_import_interp.jac +8 -0
  190. jaclang/tests/fixtures/deep_import_mods.jac +3 -3
  191. jaclang/tests/fixtures/deferred_field.jac +1 -1
  192. jaclang/tests/fixtures/del_clean.jac +7 -0
  193. jaclang/tests/fixtures/disconn.jac +2 -2
  194. jaclang/tests/fixtures/dynamic_archetype.jac +34 -0
  195. jaclang/tests/fixtures/edge_ability.jac +49 -0
  196. jaclang/tests/fixtures/edge_node_walk.jac +12 -12
  197. jaclang/tests/fixtures/edge_ops.jac +7 -7
  198. jaclang/tests/fixtures/edges_walk.jac +10 -10
  199. jaclang/tests/fixtures/edgetypeissue.jac +1 -1
  200. jaclang/tests/fixtures/enum_inside_archtype.jac +4 -4
  201. jaclang/tests/fixtures/err.impl.jac +1 -1
  202. jaclang/tests/fixtures/err.jac +2 -2
  203. jaclang/tests/fixtures/err_runtime.jac +2 -2
  204. jaclang/tests/fixtures/foo.jac +7 -7
  205. jaclang/tests/fixtures/game1.jac +4 -4
  206. jaclang/tests/fixtures/gendot_bubble_sort.jac +4 -4
  207. jaclang/tests/fixtures/glob_multivar_statement.jac +1 -1
  208. jaclang/tests/fixtures/guess_game.jac +6 -6
  209. jaclang/tests/fixtures/has_goodness.jac +1 -1
  210. jaclang/tests/fixtures/hash_init_check.jac +3 -3
  211. jaclang/tests/fixtures/hello.jac +1 -1
  212. jaclang/tests/fixtures/here_usage_error.jac +21 -0
  213. jaclang/tests/fixtures/here_visitor_usage.jac +21 -0
  214. jaclang/tests/fixtures/ignore.jac +3 -3
  215. jaclang/tests/fixtures/ignore_dup.jac +3 -3
  216. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -1
  217. jaclang/tests/fixtures/import.jac +9 -9
  218. jaclang/tests/fixtures/import_all.jac +1 -1
  219. jaclang/tests/fixtures/index_slice.jac +1 -1
  220. jaclang/tests/fixtures/inherit_check.jac +3 -3
  221. jaclang/tests/fixtures/jac_from_py.py +4 -0
  222. jaclang/tests/fixtures/jacsamp.jac +1 -1
  223. jaclang/tests/fixtures/jactest_main.jac +1 -1
  224. jaclang/tests/fixtures/jp_importer.jac +7 -8
  225. jaclang/tests/fixtures/jp_importer_auto.jac +3 -3
  226. jaclang/tests/fixtures/lambda.jac +2 -2
  227. jaclang/tests/fixtures/needs_import.jac +6 -6
  228. jaclang/tests/fixtures/needs_import_1.jac +1 -1
  229. jaclang/tests/fixtures/needs_import_2.jac +1 -1
  230. jaclang/tests/fixtures/needs_import_3.jac +1 -1
  231. jaclang/tests/fixtures/needs_import_dup.jac +6 -6
  232. jaclang/tests/fixtures/node_del.jac +54 -0
  233. jaclang/tests/fixtures/nosigself.jac +3 -3
  234. jaclang/tests/fixtures/py2jac.py +30 -0
  235. jaclang/tests/fixtures/py_bool_expr.py +7 -0
  236. jaclang/tests/fixtures/py_namedexpr.py +7 -0
  237. jaclang/tests/fixtures/pyfunc_3.py +0 -2
  238. jaclang/tests/fixtures/random_check.jac +5 -5
  239. jaclang/tests/fixtures/simple_archs.jac +2 -2
  240. jaclang/tests/fixtures/simple_walk.jac +52 -0
  241. jaclang/tests/fixtures/slice_vals.jac +3 -3
  242. jaclang/tests/fixtures/sub_abil_sep.jac +3 -3
  243. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +3 -3
  244. jaclang/tests/fixtures/trailing_comma.jac +4 -4
  245. jaclang/tests/fixtures/type_info.jac +5 -5
  246. jaclang/{compiler/passes/main/tests → tests}/fixtures/uninitialized_hasvars.jac +1 -1
  247. jaclang/tests/fixtures/visit_order.jac +4 -4
  248. jaclang/tests/fixtures/visit_traversal.jac +47 -0
  249. jaclang/tests/fixtures/walker_override.jac +2 -2
  250. jaclang/tests/fixtures/walker_update.jac +5 -5
  251. jaclang/tests/fixtures/with_context.jac +4 -4
  252. jaclang/tests/test_bugs.py +2 -2
  253. jaclang/tests/test_cli.py +127 -227
  254. jaclang/tests/test_language.py +542 -474
  255. jaclang/tests/test_man_code.py +2 -2
  256. jaclang/tests/test_reference.py +4 -4
  257. jaclang/tests/test_settings.py +16 -16
  258. jaclang/tests/test_typecheck.py +555 -0
  259. jaclang/utils/__init__.py +4 -0
  260. jaclang/utils/helpers.py +24 -31
  261. jaclang/utils/lang_tools.py +84 -75
  262. jaclang/utils/module_resolver.py +69 -0
  263. jaclang/utils/test.py +8 -5
  264. jaclang/utils/tests/test_lang_tools.py +40 -14
  265. jaclang/utils/treeprinter.py +178 -42
  266. jaclang/vendor/__init__.py +1 -2
  267. jaclang/vendor/attr/__init__.py +14 -44
  268. jaclang/vendor/attr/__init__.pyi +155 -321
  269. jaclang/vendor/attr/_cmp.py +25 -15
  270. jaclang/vendor/attr/_cmp.pyi +7 -7
  271. jaclang/vendor/attr/_compat.py +15 -8
  272. jaclang/vendor/attr/_config.py +1 -1
  273. jaclang/vendor/attr/_funcs.py +148 -163
  274. jaclang/vendor/attr/_make.py +859 -855
  275. jaclang/vendor/attr/_next_gen.py +426 -32
  276. jaclang/vendor/attr/converters.py +67 -49
  277. jaclang/vendor/attr/converters.pyi +13 -7
  278. jaclang/vendor/attr/filters.py +17 -11
  279. jaclang/vendor/attr/filters.pyi +3 -3
  280. jaclang/vendor/attr/setters.py +11 -5
  281. jaclang/vendor/attr/setters.pyi +2 -1
  282. jaclang/vendor/attr/validators.py +191 -162
  283. jaclang/vendor/attr/validators.pyi +25 -27
  284. jaclang/vendor/attrs/__init__.py +9 -5
  285. jaclang/vendor/attrs/__init__.pyi +225 -29
  286. jaclang/vendor/attrs-25.3.0.dist-info/INSTALLER +1 -0
  287. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/METADATA +83 -53
  288. jaclang/vendor/attrs-25.3.0.dist-info/RECORD +56 -0
  289. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/WHEEL +1 -1
  290. jaclang/vendor/bin/dmypy +8 -0
  291. jaclang/vendor/bin/mypy +8 -0
  292. jaclang/vendor/bin/mypyc +8 -0
  293. jaclang/vendor/bin/stubgen +8 -0
  294. jaclang/vendor/bin/stubtest +8 -0
  295. jaclang/vendor/cattr/gen.py +2 -2
  296. jaclang/vendor/cattr/preconf/bson.py +1 -0
  297. jaclang/vendor/cattr/preconf/json.py +1 -0
  298. jaclang/vendor/cattr/preconf/msgpack.py +1 -0
  299. jaclang/vendor/cattr/preconf/orjson.py +1 -0
  300. jaclang/vendor/cattr/preconf/pyyaml.py +1 -0
  301. jaclang/vendor/cattr/preconf/tomlkit.py +1 -0
  302. jaclang/vendor/cattr/preconf/ujson.py +1 -0
  303. jaclang/vendor/cattrs/__init__.py +21 -21
  304. jaclang/vendor/cattrs/_compat.py +176 -62
  305. jaclang/vendor/cattrs/_generics.py +5 -3
  306. jaclang/vendor/cattrs/cols.py +289 -0
  307. jaclang/vendor/cattrs/converters.py +505 -187
  308. jaclang/vendor/cattrs/disambiguators.py +118 -45
  309. jaclang/vendor/cattrs/dispatch.py +66 -36
  310. jaclang/vendor/cattrs/fns.py +6 -1
  311. jaclang/vendor/cattrs/gen/__init__.py +365 -202
  312. jaclang/vendor/cattrs/gen/_generics.py +41 -5
  313. jaclang/vendor/cattrs/gen/_lc.py +3 -2
  314. jaclang/vendor/cattrs/gen/_shared.py +39 -32
  315. jaclang/vendor/cattrs/gen/typeddicts.py +75 -88
  316. jaclang/vendor/cattrs/preconf/__init__.py +20 -0
  317. jaclang/vendor/cattrs/preconf/bson.py +7 -8
  318. jaclang/vendor/cattrs/preconf/cbor2.py +3 -0
  319. jaclang/vendor/cattrs/preconf/json.py +8 -4
  320. jaclang/vendor/cattrs/preconf/msgpack.py +3 -0
  321. jaclang/vendor/cattrs/preconf/msgspec.py +185 -0
  322. jaclang/vendor/cattrs/preconf/orjson.py +20 -7
  323. jaclang/vendor/cattrs/preconf/pyyaml.py +15 -3
  324. jaclang/vendor/cattrs/preconf/tomlkit.py +3 -1
  325. jaclang/vendor/cattrs/preconf/ujson.py +3 -0
  326. jaclang/vendor/cattrs/strategies/__init__.py +1 -0
  327. jaclang/vendor/cattrs/strategies/_class_methods.py +1 -1
  328. jaclang/vendor/cattrs/strategies/_subclasses.py +43 -29
  329. jaclang/vendor/cattrs/strategies/_unions.py +47 -24
  330. jaclang/vendor/cattrs/v.py +1 -0
  331. jaclang/vendor/cattrs-24.1.3.dist-info/INSTALLER +1 -0
  332. jaclang/vendor/cattrs-24.1.3.dist-info/METADATA +161 -0
  333. jaclang/vendor/cattrs-24.1.3.dist-info/RECORD +96 -0
  334. jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/WHEEL +1 -1
  335. jaclang/vendor/lark/__init__.py +38 -38
  336. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -6
  337. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  338. jaclang/vendor/lark/ast_utils.py +59 -59
  339. jaclang/vendor/lark/common.py +86 -89
  340. jaclang/vendor/lark/exceptions.py +292 -292
  341. jaclang/vendor/lark/grammar.py +130 -130
  342. jaclang/vendor/lark/grammars/common.lark +59 -59
  343. jaclang/vendor/lark/grammars/lark.lark +62 -62
  344. jaclang/vendor/lark/grammars/python.lark +302 -302
  345. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  346. jaclang/vendor/lark/indenter.py +143 -112
  347. jaclang/vendor/lark/lark.py +658 -661
  348. jaclang/vendor/lark/lexer.py +678 -678
  349. jaclang/vendor/lark/load_grammar.py +1428 -1428
  350. jaclang/vendor/lark/parse_tree_builder.py +391 -391
  351. jaclang/vendor/lark/parser_frontends.py +257 -257
  352. jaclang/vendor/lark/parsers/cyk.py +340 -340
  353. jaclang/vendor/lark/parsers/earley.py +317 -308
  354. jaclang/vendor/lark/parsers/earley_common.py +42 -42
  355. jaclang/vendor/lark/parsers/earley_forest.py +802 -810
  356. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -203
  357. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -332
  358. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +158 -157
  359. jaclang/vendor/lark/parsers/lalr_parser.py +122 -122
  360. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -110
  361. jaclang/vendor/lark/parsers/xearley.py +165 -165
  362. jaclang/vendor/lark/reconstruct.py +107 -107
  363. jaclang/vendor/lark/tools/__init__.py +70 -71
  364. jaclang/vendor/lark/tools/nearley.py +202 -202
  365. jaclang/vendor/lark/tools/serialize.py +32 -32
  366. jaclang/vendor/lark/tools/standalone.py +196 -196
  367. jaclang/vendor/lark/tree.py +267 -272
  368. jaclang/vendor/lark/tree_matcher.py +186 -186
  369. jaclang/vendor/lark/utils.py +346 -361
  370. jaclang/vendor/lark/visitors.py +596 -593
  371. jaclang/vendor/lark-1.2.2.dist-info/INSTALLER +1 -0
  372. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/METADATA +48 -47
  373. jaclang/vendor/lark-1.2.2.dist-info/RECORD +83 -0
  374. jaclang/vendor/{mypy_extensions-1.0.0.dist-info → lark-1.2.2.dist-info}/WHEEL +1 -1
  375. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info/licenses}/LICENSE +18 -18
  376. jaclang/vendor/lsprotocol-2023.0.1.dist-info/INSTALLER +1 -0
  377. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +2 -1
  378. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +17 -10
  379. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +1 -1
  380. jaclang/vendor/pluggy/_version.py +7 -2
  381. jaclang/vendor/pluggy-1.5.0.dist-info/INSTALLER +1 -0
  382. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +6 -5
  383. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +24 -14
  384. jaclang/vendor/pluggy-1.5.0.dist-info/WHEEL +1 -1
  385. jaclang/vendor/pygls-1.3.1.dist-info/INSTALLER +1 -0
  386. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +2 -2
  387. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +45 -24
  388. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +1 -1
  389. {jaclang-0.7.34.dist-info → jaclang-0.8.1.dist-info}/METADATA +2 -1
  390. jaclang-0.8.1.dist-info/RECORD +568 -0
  391. {jaclang-0.7.34.dist-info → jaclang-0.8.1.dist-info}/WHEEL +1 -1
  392. jaclang/compiler/.gitignore +0 -1
  393. jaclang/compiler/compile.py +0 -119
  394. jaclang/compiler/passes/main/access_modifier_pass.py +0 -130
  395. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +0 -656
  396. jaclang/compiler/passes/main/py_collect_dep_pass.py +0 -78
  397. jaclang/compiler/passes/main/pyout_pass.py +0 -86
  398. jaclang/compiler/passes/main/registry_pass.py +0 -156
  399. jaclang/compiler/passes/main/schedules.py +0 -47
  400. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -36
  401. jaclang/compiler/passes/main/tests/fixtures/registry.jac +0 -36
  402. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +0 -114
  403. jaclang/compiler/passes/main/tests/test_registry_pass.py +0 -31
  404. jaclang/compiler/passes/main/tests/test_type_check_pass.py +0 -91
  405. jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +0 -29
  406. jaclang/compiler/passes/main/type_check_pass.py +0 -128
  407. jaclang/compiler/passes/tool/schedules.py +0 -18
  408. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +0 -36
  409. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +0 -17
  410. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +0 -32
  411. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +0 -27
  412. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +0 -35
  413. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +0 -25
  414. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +0 -13
  415. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +0 -63
  416. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/architype_test.jac +0 -13
  417. jaclang/compiler/passes/utils/mypy_ast_build.py +0 -940
  418. jaclang/compiler/py_info.py +0 -22
  419. jaclang/compiler/semtable.py +0 -159
  420. jaclang/compiler/symtable.py +0 -297
  421. jaclang/langserve/engine.py +0 -541
  422. jaclang/langserve/sem_manager.py +0 -379
  423. jaclang/langserve/server.py +0 -176
  424. jaclang/langserve/tests/session.py +0 -255
  425. jaclang/langserve/utils.py +0 -458
  426. jaclang/plugin/__init__.py +0 -7
  427. jaclang/plugin/builtin.py +0 -57
  428. jaclang/plugin/default.py +0 -1443
  429. jaclang/plugin/feature.py +0 -574
  430. jaclang/plugin/plugin.md +0 -471
  431. jaclang/plugin/spec.py +0 -536
  432. jaclang/plugin/tests/fixtures/impl_match_impl.jac +0 -3
  433. jaclang/plugin/tests/test_features.py +0 -56
  434. jaclang/runtimelib/context.py +0 -191
  435. jaclang/tests/fixtures/builtin_dotgen.jac +0 -42
  436. jaclang/tests/fixtures/create_dynamic_architype.jac +0 -35
  437. jaclang/tests/fixtures/dynamic_architype.jac +0 -34
  438. jaclang/tests/fixtures/impl_grab.impl.jac +0 -5
  439. jaclang/tests/fixtures/mtest.impl.jac +0 -6
  440. jaclang/tests/fixtures/registry.jac +0 -58
  441. jaclang/tests/fixtures/semstr.jac +0 -30
  442. jaclang/tests/main.jac +0 -2
  443. jaclang/utils/profiler.py +0 -62
  444. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +0 -35
  445. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +0 -221
  446. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +0 -48
  447. jaclang/vendor/lark-1.1.9.dist-info/RECORD +0 -46
  448. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +0 -5
  449. jaclang/vendor/mypy/__init__.py +0 -1
  450. jaclang/vendor/mypy/__main__.py +0 -37
  451. jaclang/vendor/mypy/api.py +0 -94
  452. jaclang/vendor/mypy/applytype.py +0 -172
  453. jaclang/vendor/mypy/argmap.py +0 -268
  454. jaclang/vendor/mypy/binder.py +0 -538
  455. jaclang/vendor/mypy/bogus_type.py +0 -27
  456. jaclang/vendor/mypy/build.py +0 -3562
  457. jaclang/vendor/mypy/checker.py +0 -8445
  458. jaclang/vendor/mypy/checkexpr.py +0 -6623
  459. jaclang/vendor/mypy/checkmember.py +0 -1363
  460. jaclang/vendor/mypy/checkpattern.py +0 -801
  461. jaclang/vendor/mypy/checkstrformat.py +0 -1109
  462. jaclang/vendor/mypy/config_parser.py +0 -670
  463. jaclang/vendor/mypy/constant_fold.py +0 -187
  464. jaclang/vendor/mypy/constraints.py +0 -1636
  465. jaclang/vendor/mypy/copytype.py +0 -133
  466. jaclang/vendor/mypy/defaults.py +0 -46
  467. jaclang/vendor/mypy/dmypy/__main__.py +0 -6
  468. jaclang/vendor/mypy/dmypy/client.py +0 -749
  469. jaclang/vendor/mypy/dmypy_os.py +0 -42
  470. jaclang/vendor/mypy/dmypy_server.py +0 -1107
  471. jaclang/vendor/mypy/dmypy_util.py +0 -117
  472. jaclang/vendor/mypy/erasetype.py +0 -278
  473. jaclang/vendor/mypy/errorcodes.py +0 -291
  474. jaclang/vendor/mypy/errors.py +0 -1280
  475. jaclang/vendor/mypy/evalexpr.py +0 -205
  476. jaclang/vendor/mypy/expandtype.py +0 -524
  477. jaclang/vendor/mypy/exprtotype.py +0 -209
  478. jaclang/vendor/mypy/fastparse.py +0 -2147
  479. jaclang/vendor/mypy/find_sources.py +0 -243
  480. jaclang/vendor/mypy/fixup.py +0 -428
  481. jaclang/vendor/mypy/freetree.py +0 -23
  482. jaclang/vendor/mypy/fscache.py +0 -309
  483. jaclang/vendor/mypy/fswatcher.py +0 -106
  484. jaclang/vendor/mypy/gclogger.py +0 -47
  485. jaclang/vendor/mypy/git.py +0 -34
  486. jaclang/vendor/mypy/graph_utils.py +0 -112
  487. jaclang/vendor/mypy/indirection.py +0 -121
  488. jaclang/vendor/mypy/infer.py +0 -75
  489. jaclang/vendor/mypy/inspections.py +0 -627
  490. jaclang/vendor/mypy/ipc.py +0 -310
  491. jaclang/vendor/mypy/join.py +0 -871
  492. jaclang/vendor/mypy/literals.py +0 -306
  493. jaclang/vendor/mypy/lookup.py +0 -61
  494. jaclang/vendor/mypy/main.py +0 -1574
  495. jaclang/vendor/mypy/maptype.py +0 -106
  496. jaclang/vendor/mypy/meet.py +0 -1140
  497. jaclang/vendor/mypy/memprofile.py +0 -121
  498. jaclang/vendor/mypy/message_registry.py +0 -329
  499. jaclang/vendor/mypy/messages.py +0 -3186
  500. jaclang/vendor/mypy/metastore.py +0 -225
  501. jaclang/vendor/mypy/mixedtraverser.py +0 -112
  502. jaclang/vendor/mypy/modulefinder.py +0 -875
  503. jaclang/vendor/mypy/moduleinspect.py +0 -184
  504. jaclang/vendor/mypy/mro.py +0 -62
  505. jaclang/vendor/mypy/nodes.py +0 -4115
  506. jaclang/vendor/mypy/operators.py +0 -126
  507. jaclang/vendor/mypy/options.py +0 -556
  508. jaclang/vendor/mypy/parse.py +0 -30
  509. jaclang/vendor/mypy/partially_defined.py +0 -675
  510. jaclang/vendor/mypy/patterns.py +0 -150
  511. jaclang/vendor/mypy/plugin.py +0 -901
  512. jaclang/vendor/mypy/plugins/attrs.py +0 -1166
  513. jaclang/vendor/mypy/plugins/common.py +0 -440
  514. jaclang/vendor/mypy/plugins/ctypes.py +0 -245
  515. jaclang/vendor/mypy/plugins/dataclasses.py +0 -1108
  516. jaclang/vendor/mypy/plugins/default.py +0 -531
  517. jaclang/vendor/mypy/plugins/enums.py +0 -259
  518. jaclang/vendor/mypy/plugins/functools.py +0 -104
  519. jaclang/vendor/mypy/plugins/proper_plugin.py +0 -175
  520. jaclang/vendor/mypy/plugins/singledispatch.py +0 -224
  521. jaclang/vendor/mypy/py.typed +0 -1
  522. jaclang/vendor/mypy/pyinfo.py +0 -78
  523. jaclang/vendor/mypy/reachability.py +0 -362
  524. jaclang/vendor/mypy/refinfo.py +0 -92
  525. jaclang/vendor/mypy/renaming.py +0 -568
  526. jaclang/vendor/mypy/report.py +0 -924
  527. jaclang/vendor/mypy/scope.py +0 -125
  528. jaclang/vendor/mypy/semanal.py +0 -7187
  529. jaclang/vendor/mypy/semanal_classprop.py +0 -187
  530. jaclang/vendor/mypy/semanal_enum.py +0 -253
  531. jaclang/vendor/mypy/semanal_infer.py +0 -128
  532. jaclang/vendor/mypy/semanal_main.py +0 -511
  533. jaclang/vendor/mypy/semanal_namedtuple.py +0 -670
  534. jaclang/vendor/mypy/semanal_newtype.py +0 -273
  535. jaclang/vendor/mypy/semanal_pass1.py +0 -156
  536. jaclang/vendor/mypy/semanal_shared.py +0 -490
  537. jaclang/vendor/mypy/semanal_typeargs.py +0 -265
  538. jaclang/vendor/mypy/semanal_typeddict.py +0 -575
  539. jaclang/vendor/mypy/server/astdiff.py +0 -518
  540. jaclang/vendor/mypy/server/astmerge.py +0 -562
  541. jaclang/vendor/mypy/server/aststrip.py +0 -281
  542. jaclang/vendor/mypy/server/deps.py +0 -1137
  543. jaclang/vendor/mypy/server/mergecheck.py +0 -83
  544. jaclang/vendor/mypy/server/objgraph.py +0 -101
  545. jaclang/vendor/mypy/server/subexpr.py +0 -198
  546. jaclang/vendor/mypy/server/target.py +0 -11
  547. jaclang/vendor/mypy/server/trigger.py +0 -26
  548. jaclang/vendor/mypy/server/update.py +0 -1339
  549. jaclang/vendor/mypy/sharedparse.py +0 -112
  550. jaclang/vendor/mypy/solve.py +0 -562
  551. jaclang/vendor/mypy/split_namespace.py +0 -35
  552. jaclang/vendor/mypy/state.py +0 -28
  553. jaclang/vendor/mypy/stats.py +0 -489
  554. jaclang/vendor/mypy/strconv.py +0 -641
  555. jaclang/vendor/mypy/stubdoc.py +0 -491
  556. jaclang/vendor/mypy/stubgen.py +0 -1886
  557. jaclang/vendor/mypy/stubgenc.py +0 -993
  558. jaclang/vendor/mypy/stubinfo.py +0 -173
  559. jaclang/vendor/mypy/stubtest.py +0 -2079
  560. jaclang/vendor/mypy/stubutil.py +0 -834
  561. jaclang/vendor/mypy/subtypes.py +0 -1980
  562. jaclang/vendor/mypy/suggestions.py +0 -1046
  563. jaclang/vendor/mypy/test/config.py +0 -28
  564. jaclang/vendor/mypy/test/data.py +0 -821
  565. jaclang/vendor/mypy/test/helpers.py +0 -476
  566. jaclang/vendor/mypy/test/meta/_pytest.py +0 -72
  567. jaclang/vendor/mypy/test/meta/test_diff_helper.py +0 -47
  568. jaclang/vendor/mypy/test/meta/test_parse_data.py +0 -73
  569. jaclang/vendor/mypy/test/meta/test_update_data.py +0 -135
  570. jaclang/vendor/mypy/test/test_find_sources.py +0 -376
  571. jaclang/vendor/mypy/test/test_ref_info.py +0 -45
  572. jaclang/vendor/mypy/test/testapi.py +0 -45
  573. jaclang/vendor/mypy/test/testargs.py +0 -77
  574. jaclang/vendor/mypy/test/testcheck.py +0 -322
  575. jaclang/vendor/mypy/test/testcmdline.py +0 -152
  576. jaclang/vendor/mypy/test/testconstraints.py +0 -134
  577. jaclang/vendor/mypy/test/testdaemon.py +0 -132
  578. jaclang/vendor/mypy/test/testdeps.py +0 -77
  579. jaclang/vendor/mypy/test/testdiff.py +0 -67
  580. jaclang/vendor/mypy/test/testerrorstream.py +0 -46
  581. jaclang/vendor/mypy/test/testfinegrained.py +0 -438
  582. jaclang/vendor/mypy/test/testfinegrainedcache.py +0 -18
  583. jaclang/vendor/mypy/test/testformatter.py +0 -85
  584. jaclang/vendor/mypy/test/testfscache.py +0 -101
  585. jaclang/vendor/mypy/test/testgraph.py +0 -83
  586. jaclang/vendor/mypy/test/testinfer.py +0 -373
  587. jaclang/vendor/mypy/test/testipc.py +0 -119
  588. jaclang/vendor/mypy/test/testmerge.py +0 -238
  589. jaclang/vendor/mypy/test/testmodulefinder.py +0 -278
  590. jaclang/vendor/mypy/test/testmypyc.py +0 -14
  591. jaclang/vendor/mypy/test/testparse.py +0 -107
  592. jaclang/vendor/mypy/test/testpep561.py +0 -211
  593. jaclang/vendor/mypy/test/testpythoneval.py +0 -117
  594. jaclang/vendor/mypy/test/testreports.py +0 -55
  595. jaclang/vendor/mypy/test/testsemanal.py +0 -209
  596. jaclang/vendor/mypy/test/testsolve.py +0 -285
  597. jaclang/vendor/mypy/test/teststubgen.py +0 -1412
  598. jaclang/vendor/mypy/test/teststubinfo.py +0 -12
  599. jaclang/vendor/mypy/test/teststubtest.py +0 -2492
  600. jaclang/vendor/mypy/test/testsubtypes.py +0 -303
  601. jaclang/vendor/mypy/test/testtransform.py +0 -64
  602. jaclang/vendor/mypy/test/testtypegen.py +0 -83
  603. jaclang/vendor/mypy/test/testtypes.py +0 -1551
  604. jaclang/vendor/mypy/test/testutil.py +0 -111
  605. jaclang/vendor/mypy/test/typefixture.py +0 -415
  606. jaclang/vendor/mypy/test/update_data.py +0 -87
  607. jaclang/vendor/mypy/test/visitors.py +0 -63
  608. jaclang/vendor/mypy/traverser.py +0 -961
  609. jaclang/vendor/mypy/treetransform.py +0 -800
  610. jaclang/vendor/mypy/tvar_scope.py +0 -169
  611. jaclang/vendor/mypy/type_visitor.py +0 -564
  612. jaclang/vendor/mypy/typeanal.py +0 -2596
  613. jaclang/vendor/mypy/typeops.py +0 -1082
  614. jaclang/vendor/mypy/types.py +0 -3708
  615. jaclang/vendor/mypy/types_utils.py +0 -166
  616. jaclang/vendor/mypy/typeshed/LICENSE +0 -237
  617. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +0 -309
  618. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +0 -36
  619. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +0 -3
  620. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +0 -591
  621. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +0 -84
  622. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +0 -1
  623. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +0 -133
  624. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +0 -94
  625. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +0 -8
  626. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +0 -25
  627. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +0 -90
  628. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +0 -207
  629. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +0 -566
  630. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +0 -281
  631. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +0 -33
  632. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +0 -164
  633. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +0 -11
  634. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +0 -28
  635. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +0 -49
  636. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +0 -100
  637. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +0 -35
  638. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +0 -16
  639. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +0 -92
  640. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +0 -147
  641. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +0 -34
  642. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +0 -33
  643. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +0 -14
  644. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +0 -43
  645. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +0 -12
  646. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +0 -16
  647. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +0 -803
  648. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +0 -103
  649. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +0 -59
  650. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +0 -17
  651. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +0 -121
  652. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +0 -17
  653. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +0 -347
  654. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +0 -37
  655. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +0 -44
  656. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +0 -9
  657. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +0 -55
  658. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +0 -41
  659. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +0 -51
  660. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +0 -255
  661. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +0 -51
  662. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +0 -91
  663. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +0 -3
  664. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +0 -595
  665. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +0 -92
  666. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +0 -277
  667. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +0 -21
  668. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +0 -41
  669. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +0 -440
  670. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +0 -19
  671. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +0 -63
  672. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +0 -9
  673. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +0 -20
  674. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +0 -26
  675. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +0 -580
  676. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +0 -43
  677. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +0 -20
  678. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +0 -57
  679. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +0 -121
  680. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +0 -3
  681. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +0 -9
  682. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +0 -64
  683. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +0 -34
  684. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +0 -47
  685. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +0 -32
  686. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +0 -8
  687. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +0 -165
  688. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +0 -10
  689. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +0 -153
  690. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +0 -229
  691. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +0 -25
  692. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +0 -497
  693. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +0 -9
  694. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +0 -19
  695. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +0 -47
  696. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +0 -94
  697. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +0 -196
  698. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +0 -85
  699. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +0 -49
  700. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +0 -90
  701. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +0 -12
  702. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +0 -43
  703. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +0 -59
  704. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +0 -102
  705. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +0 -36
  706. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +0 -45
  707. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +0 -4
  708. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +0 -1936
  709. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +0 -146
  710. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +0 -31
  711. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +0 -208
  712. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +0 -118
  713. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +0 -32
  714. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +0 -20
  715. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +0 -36
  716. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +0 -45
  717. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +0 -33
  718. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +0 -285
  719. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +0 -13
  720. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +0 -485
  721. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +0 -2
  722. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +0 -13
  723. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +0 -111
  724. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +0 -32
  725. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +0 -126
  726. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +0 -233
  727. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +0 -80
  728. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +0 -313
  729. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +0 -208
  730. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +0 -63
  731. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +0 -16
  732. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +0 -21
  733. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +0 -12
  734. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +0 -147
  735. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +0 -187
  736. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +0 -19
  737. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +0 -6
  738. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +0 -298
  739. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +0 -22
  740. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +0 -62
  741. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +0 -1
  742. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +0 -22
  743. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +0 -11
  744. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +0 -315
  745. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +0 -295
  746. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +0 -95
  747. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +0 -31
  748. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +0 -41
  749. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +0 -37
  750. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +0 -2
  751. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +0 -140
  752. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +0 -144
  753. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +0 -5
  754. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +0 -20
  755. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +0 -3
  756. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +0 -152
  757. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +0 -66
  758. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +0 -25
  759. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +0 -21
  760. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +0 -45
  761. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +0 -52
  762. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +0 -16
  763. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +0 -31
  764. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +0 -27
  765. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +0 -50
  766. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +0 -44
  767. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +0 -24
  768. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +0 -39
  769. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +0 -17
  770. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +0 -83
  771. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +0 -63
  772. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +0 -19
  773. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +0 -18
  774. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +0 -16
  775. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +0 -25
  776. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +0 -18
  777. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +0 -18
  778. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +0 -42
  779. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +0 -17
  780. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +0 -17
  781. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +0 -57
  782. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +0 -20
  783. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +0 -1
  784. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +0 -3
  785. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +0 -13
  786. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +0 -146
  787. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +0 -19
  788. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +0 -36
  789. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +0 -34
  790. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +0 -14
  791. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +0 -50
  792. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +0 -25
  793. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +0 -3
  794. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +0 -2
  795. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +0 -31
  796. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +0 -21
  797. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +0 -3
  798. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +0 -46
  799. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +0 -36
  800. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +0 -248
  801. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +0 -2
  802. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +0 -29
  803. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +0 -392
  804. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +0 -51
  805. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +0 -13
  806. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +0 -34
  807. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +0 -11
  808. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +0 -8
  809. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +0 -39
  810. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +0 -23
  811. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +0 -40
  812. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +0 -31
  813. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +0 -178
  814. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +0 -12
  815. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +0 -165
  816. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +0 -17
  817. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +0 -17
  818. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +0 -8
  819. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +0 -17
  820. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +0 -8
  821. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +0 -18
  822. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +0 -5
  823. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +0 -9
  824. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +0 -26
  825. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +0 -38
  826. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +0 -28
  827. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +0 -70
  828. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +0 -10
  829. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +0 -21
  830. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +0 -22
  831. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +0 -12
  832. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +0 -320
  833. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +0 -222
  834. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +0 -13
  835. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +0 -127
  836. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +0 -57
  837. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +0 -213
  838. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +0 -9
  839. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +0 -88
  840. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +0 -150
  841. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +0 -178
  842. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +0 -213
  843. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +0 -37
  844. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +0 -52
  845. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +0 -11
  846. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +0 -8
  847. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +0 -169
  848. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +0 -42
  849. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +0 -28
  850. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +0 -22
  851. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +0 -160
  852. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +0 -167
  853. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +0 -17
  854. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +0 -38
  855. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +0 -6
  856. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +0 -6
  857. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +0 -34
  858. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +0 -105
  859. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +0 -259
  860. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +0 -159
  861. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +0 -60
  862. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +0 -83
  863. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +0 -168
  864. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +0 -17
  865. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +0 -62
  866. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +0 -24
  867. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +0 -15
  868. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +0 -172
  869. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +0 -179
  870. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +0 -285
  871. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +0 -49
  872. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +0 -68
  873. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +0 -46
  874. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +0 -12
  875. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +0 -14
  876. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +0 -56
  877. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +0 -11
  878. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +0 -43
  879. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +0 -632
  880. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +0 -238
  881. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +0 -208
  882. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +0 -273
  883. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +0 -61
  884. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +0 -32
  885. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +0 -40
  886. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +0 -1
  887. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +0 -21
  888. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +0 -28
  889. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +0 -42
  890. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +0 -8
  891. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +0 -10
  892. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +0 -8
  893. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +0 -8
  894. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +0 -16
  895. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +0 -14
  896. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +0 -8
  897. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +0 -8
  898. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +0 -13
  899. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +0 -9
  900. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +0 -8
  901. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +0 -8
  902. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +0 -8
  903. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +0 -8
  904. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +0 -15
  905. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +0 -16
  906. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +0 -21
  907. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +0 -6
  908. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +0 -11
  909. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +0 -9
  910. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +0 -8
  911. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +0 -9
  912. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +0 -7
  913. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +0 -7
  914. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +0 -9
  915. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +0 -17
  916. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +0 -10
  917. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +0 -8
  918. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +0 -19
  919. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +0 -8
  920. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +0 -8
  921. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +0 -12
  922. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +0 -8
  923. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +0 -12
  924. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +0 -8
  925. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +0 -8
  926. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +0 -8
  927. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +0 -9
  928. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +0 -17
  929. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +0 -8
  930. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +0 -7
  931. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +0 -8
  932. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +0 -9
  933. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +0 -8
  934. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +0 -17
  935. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +0 -8
  936. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +0 -12
  937. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +0 -15
  938. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +0 -12
  939. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +0 -20
  940. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +0 -8
  941. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +0 -9
  942. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +0 -42
  943. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +0 -9
  944. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +0 -27
  945. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +0 -24
  946. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +0 -7
  947. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +0 -30
  948. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +0 -50
  949. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +0 -67
  950. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +0 -96
  951. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +0 -114
  952. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +0 -117
  953. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +0 -82
  954. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +0 -23
  955. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +0 -152
  956. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +0 -658
  957. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +0 -134
  958. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +0 -275
  959. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +0 -197
  960. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +0 -256
  961. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +0 -11
  962. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +0 -33
  963. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +0 -125
  964. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +0 -46
  965. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +0 -113
  966. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +0 -66
  967. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +0 -177
  968. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +0 -94
  969. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +0 -13
  970. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +0 -7
  971. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +0 -32
  972. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +0 -90
  973. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +0 -75
  974. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +0 -189
  975. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +0 -77
  976. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +0 -39
  977. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +0 -31
  978. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +0 -36
  979. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +0 -212
  980. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +0 -103
  981. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +0 -23
  982. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +0 -16
  983. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +0 -20
  984. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +0 -30
  985. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +0 -39
  986. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +0 -41
  987. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +0 -90
  988. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +0 -20
  989. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +0 -18
  990. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +0 -40
  991. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +0 -107
  992. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +0 -32
  993. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +0 -54
  994. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +0 -98
  995. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +0 -23
  996. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +0 -9
  997. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +0 -125
  998. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +0 -111
  999. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +0 -119
  1000. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +0 -2
  1001. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +0 -209
  1002. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +0 -59
  1003. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +0 -110
  1004. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +0 -255
  1005. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +0 -1157
  1006. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +0 -8
  1007. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +0 -131
  1008. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +0 -24
  1009. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +0 -232
  1010. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +0 -181
  1011. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +0 -271
  1012. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +0 -167
  1013. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +0 -16
  1014. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +0 -53
  1015. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +0 -42
  1016. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +0 -113
  1017. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +0 -71
  1018. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +0 -361
  1019. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +0 -161
  1020. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +0 -112
  1021. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +0 -31
  1022. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +0 -80
  1023. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +0 -19
  1024. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +0 -28
  1025. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +0 -34
  1026. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +0 -74
  1027. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +0 -261
  1028. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  1029. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +0 -1
  1030. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +0 -85
  1031. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +0 -49
  1032. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +0 -11
  1033. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +0 -66
  1034. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +0 -11
  1035. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +0 -138
  1036. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +0 -290
  1037. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +0 -36
  1038. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +0 -65
  1039. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +0 -94
  1040. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +0 -9
  1041. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +0 -24
  1042. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +0 -42
  1043. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +0 -15
  1044. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +0 -155
  1045. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +0 -67
  1046. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +0 -46
  1047. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +0 -63
  1048. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +0 -185
  1049. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +0 -188
  1050. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +0 -27
  1051. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +0 -91
  1052. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +0 -204
  1053. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +0 -14
  1054. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +0 -825
  1055. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +0 -168
  1056. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +0 -41
  1057. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +0 -1
  1058. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +0 -551
  1059. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +0 -11
  1060. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +0 -130
  1061. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +0 -104
  1062. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +0 -537
  1063. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +0 -1
  1064. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +0 -132
  1065. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +0 -83
  1066. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +0 -27
  1067. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +0 -26
  1068. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +0 -2615
  1069. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +0 -86
  1070. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +0 -93
  1071. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +0 -58
  1072. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +0 -373
  1073. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +0 -52
  1074. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +0 -48
  1075. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +0 -46
  1076. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +0 -16
  1077. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +0 -441
  1078. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +0 -122
  1079. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +0 -477
  1080. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +0 -267
  1081. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +0 -103
  1082. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +0 -2
  1083. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +0 -187
  1084. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +0 -108
  1085. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +0 -32
  1086. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +0 -3654
  1087. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +0 -20
  1088. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +0 -14
  1089. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +0 -80
  1090. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +0 -16
  1091. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +0 -20
  1092. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +0 -151
  1093. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +0 -116
  1094. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +0 -44
  1095. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +0 -9
  1096. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +0 -54
  1097. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +0 -299
  1098. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +0 -1204
  1099. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +0 -159
  1100. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +0 -177
  1101. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +0 -10
  1102. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +0 -79
  1103. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +0 -262
  1104. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +0 -124
  1105. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +0 -30
  1106. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +0 -713
  1107. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +0 -614
  1108. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +0 -976
  1109. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +0 -509
  1110. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +0 -73
  1111. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +0 -67
  1112. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +0 -27
  1113. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +0 -21
  1114. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +0 -342
  1115. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +0 -51
  1116. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +0 -69
  1117. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +0 -430
  1118. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +0 -47
  1119. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +0 -72
  1120. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +0 -15
  1121. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +0 -22
  1122. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +0 -23
  1123. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  1124. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +0 -23
  1125. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +0 -210
  1126. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +0 -400
  1127. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +0 -43
  1128. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +0 -20
  1129. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +0 -13
  1130. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +0 -100
  1131. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +0 -112
  1132. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +0 -85
  1133. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +0 -149
  1134. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +0 -74
  1135. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +0 -132
  1136. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +0 -28
  1137. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  1138. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +0 -91
  1139. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +0 -26
  1140. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +0 -37
  1141. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +0 -32
  1142. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +0 -24
  1143. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +0 -50
  1144. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +0 -57
  1145. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +0 -1
  1146. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +0 -19
  1147. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +0 -69
  1148. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +0 -8
  1149. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +0 -100
  1150. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +0 -22
  1151. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +0 -404
  1152. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +0 -94
  1153. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +0 -108
  1154. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +0 -28
  1155. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +0 -34
  1156. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +0 -327
  1157. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1158. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +0 -1
  1159. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +0 -1
  1160. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +0 -1
  1161. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +0 -1
  1162. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +0 -1
  1163. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +0 -25
  1164. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +0 -19
  1165. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +0 -55
  1166. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +0 -60
  1167. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +0 -87
  1168. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1169. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +0 -296
  1170. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +0 -143
  1171. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +0 -22
  1172. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +0 -20
  1173. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +0 -306
  1174. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +0 -95
  1175. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +0 -32
  1176. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +0 -56
  1177. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +0 -38
  1178. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +0 -218
  1179. jaclang/vendor/mypy/typestate.py +0 -323
  1180. jaclang/vendor/mypy/typetraverser.py +0 -148
  1181. jaclang/vendor/mypy/typevars.py +0 -93
  1182. jaclang/vendor/mypy/typevartuples.py +0 -32
  1183. jaclang/vendor/mypy/util.py +0 -869
  1184. jaclang/vendor/mypy/version.py +0 -1
  1185. jaclang/vendor/mypy/visitor.py +0 -621
  1186. jaclang/vendor/mypy/xml/mypy-html.css +0 -104
  1187. jaclang/vendor/mypy/xml/mypy-html.xslt +0 -81
  1188. jaclang/vendor/mypy/xml/mypy-txt.xslt +0 -100
  1189. jaclang/vendor/mypy/xml/mypy.xsd +0 -50
  1190. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +0 -229
  1191. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +0 -48
  1192. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +0 -1241
  1193. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +0 -6
  1194. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +0 -6
  1195. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +0 -3
  1196. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +0 -27
  1197. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +0 -29
  1198. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +0 -6
  1199. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +0 -1
  1200. jaclang/vendor/mypy_extensions.py +0 -213
  1201. jaclang/vendor/mypyc/README.md +0 -133
  1202. jaclang/vendor/mypyc/__init__.py +0 -0
  1203. jaclang/vendor/mypyc/__main__.py +0 -57
  1204. jaclang/vendor/mypyc/analysis/__init__.py +0 -0
  1205. jaclang/vendor/mypyc/analysis/attrdefined.py +0 -436
  1206. jaclang/vendor/mypyc/analysis/blockfreq.py +0 -32
  1207. jaclang/vendor/mypyc/analysis/dataflow.py +0 -628
  1208. jaclang/vendor/mypyc/analysis/ircheck.py +0 -433
  1209. jaclang/vendor/mypyc/analysis/selfleaks.py +0 -211
  1210. jaclang/vendor/mypyc/build.py +0 -616
  1211. jaclang/vendor/mypyc/codegen/__init__.py +0 -0
  1212. jaclang/vendor/mypyc/codegen/cstring.py +0 -54
  1213. jaclang/vendor/mypyc/codegen/emit.py +0 -1193
  1214. jaclang/vendor/mypyc/codegen/emitclass.py +0 -1060
  1215. jaclang/vendor/mypyc/codegen/emitfunc.py +0 -852
  1216. jaclang/vendor/mypyc/codegen/emitmodule.py +0 -1136
  1217. jaclang/vendor/mypyc/codegen/emitwrapper.py +0 -979
  1218. jaclang/vendor/mypyc/codegen/literals.py +0 -302
  1219. jaclang/vendor/mypyc/common.py +0 -136
  1220. jaclang/vendor/mypyc/crash.py +0 -31
  1221. jaclang/vendor/mypyc/doc/Makefile +0 -20
  1222. jaclang/vendor/mypyc/doc/bool_operations.rst +0 -27
  1223. jaclang/vendor/mypyc/doc/compilation_units.rst +0 -20
  1224. jaclang/vendor/mypyc/doc/conf.py +0 -59
  1225. jaclang/vendor/mypyc/doc/cpython-timings.md +0 -25
  1226. jaclang/vendor/mypyc/doc/dev-intro.md +0 -548
  1227. jaclang/vendor/mypyc/doc/dict_operations.rst +0 -59
  1228. jaclang/vendor/mypyc/doc/differences_from_python.rst +0 -332
  1229. jaclang/vendor/mypyc/doc/float_operations.rst +0 -50
  1230. jaclang/vendor/mypyc/doc/future.md +0 -42
  1231. jaclang/vendor/mypyc/doc/getting_started.rst +0 -240
  1232. jaclang/vendor/mypyc/doc/index.rst +0 -61
  1233. jaclang/vendor/mypyc/doc/int_operations.rst +0 -162
  1234. jaclang/vendor/mypyc/doc/introduction.rst +0 -150
  1235. jaclang/vendor/mypyc/doc/list_operations.rst +0 -65
  1236. jaclang/vendor/mypyc/doc/make.bat +0 -35
  1237. jaclang/vendor/mypyc/doc/native_classes.rst +0 -206
  1238. jaclang/vendor/mypyc/doc/native_operations.rst +0 -55
  1239. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +0 -244
  1240. jaclang/vendor/mypyc/doc/set_operations.rst +0 -47
  1241. jaclang/vendor/mypyc/doc/str_operations.rst +0 -35
  1242. jaclang/vendor/mypyc/doc/tuple_operations.rst +0 -33
  1243. jaclang/vendor/mypyc/doc/using_type_annotations.rst +0 -398
  1244. jaclang/vendor/mypyc/errors.py +0 -29
  1245. jaclang/vendor/mypyc/external/googletest/LICENSE +0 -28
  1246. jaclang/vendor/mypyc/external/googletest/README.md +0 -280
  1247. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +0 -294
  1248. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +0 -250
  1249. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +0 -1444
  1250. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  1251. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +0 -993
  1252. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +0 -232
  1253. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +0 -179
  1254. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +0 -263
  1255. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +0 -2236
  1256. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +0 -358
  1257. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +0 -58
  1258. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +0 -69
  1259. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1260. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +0 -41
  1261. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  1262. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +0 -206
  1263. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +0 -1238
  1264. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  1265. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  1266. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  1267. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +0 -731
  1268. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +0 -93
  1269. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +0 -2560
  1270. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +0 -167
  1271. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  1272. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  1273. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +0 -3331
  1274. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  1275. jaclang/vendor/mypyc/external/googletest/make/Makefile +0 -61
  1276. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +0 -48
  1277. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +0 -1342
  1278. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +0 -387
  1279. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +0 -1183
  1280. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +0 -1259
  1281. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +0 -373
  1282. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +0 -110
  1283. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +0 -118
  1284. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +0 -5388
  1285. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +0 -38
  1286. jaclang/vendor/mypyc/ir/__init__.py +0 -0
  1287. jaclang/vendor/mypyc/ir/class_ir.py +0 -499
  1288. jaclang/vendor/mypyc/ir/func_ir.py +0 -370
  1289. jaclang/vendor/mypyc/ir/module_ir.py +0 -88
  1290. jaclang/vendor/mypyc/ir/ops.py +0 -1727
  1291. jaclang/vendor/mypyc/ir/pprint.py +0 -516
  1292. jaclang/vendor/mypyc/ir/rtypes.py +0 -1038
  1293. jaclang/vendor/mypyc/irbuild/__init__.py +0 -0
  1294. jaclang/vendor/mypyc/irbuild/ast_helpers.py +0 -123
  1295. jaclang/vendor/mypyc/irbuild/builder.py +0 -1394
  1296. jaclang/vendor/mypyc/irbuild/callable_class.py +0 -173
  1297. jaclang/vendor/mypyc/irbuild/classdef.py +0 -850
  1298. jaclang/vendor/mypyc/irbuild/constant_fold.py +0 -95
  1299. jaclang/vendor/mypyc/irbuild/context.py +0 -186
  1300. jaclang/vendor/mypyc/irbuild/env_class.py +0 -223
  1301. jaclang/vendor/mypyc/irbuild/expression.py +0 -1070
  1302. jaclang/vendor/mypyc/irbuild/for_helpers.py +0 -1075
  1303. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +0 -250
  1304. jaclang/vendor/mypyc/irbuild/function.py +0 -1088
  1305. jaclang/vendor/mypyc/irbuild/generator.py +0 -346
  1306. jaclang/vendor/mypyc/irbuild/ll_builder.py +0 -2389
  1307. jaclang/vendor/mypyc/irbuild/main.py +0 -153
  1308. jaclang/vendor/mypyc/irbuild/mapper.py +0 -221
  1309. jaclang/vendor/mypyc/irbuild/match.py +0 -355
  1310. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +0 -197
  1311. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +0 -203
  1312. jaclang/vendor/mypyc/irbuild/prepare.py +0 -609
  1313. jaclang/vendor/mypyc/irbuild/specialize.py +0 -822
  1314. jaclang/vendor/mypyc/irbuild/statement.py +0 -1017
  1315. jaclang/vendor/mypyc/irbuild/targets.py +0 -57
  1316. jaclang/vendor/mypyc/irbuild/util.py +0 -189
  1317. jaclang/vendor/mypyc/irbuild/visitor.py +0 -401
  1318. jaclang/vendor/mypyc/irbuild/vtable.py +0 -82
  1319. jaclang/vendor/mypyc/lib-rt/CPy.h +0 -638
  1320. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +0 -143
  1321. jaclang/vendor/mypyc/lib-rt/dict_ops.c +0 -446
  1322. jaclang/vendor/mypyc/lib-rt/exc_ops.c +0 -259
  1323. jaclang/vendor/mypyc/lib-rt/float_ops.c +0 -192
  1324. jaclang/vendor/mypyc/lib-rt/generic_ops.c +0 -64
  1325. jaclang/vendor/mypyc/lib-rt/getargs.c +0 -450
  1326. jaclang/vendor/mypyc/lib-rt/getargsfast.c +0 -569
  1327. jaclang/vendor/mypyc/lib-rt/init.c +0 -13
  1328. jaclang/vendor/mypyc/lib-rt/int_ops.c +0 -803
  1329. jaclang/vendor/mypyc/lib-rt/list_ops.c +0 -335
  1330. jaclang/vendor/mypyc/lib-rt/misc_ops.c +0 -942
  1331. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +0 -18
  1332. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +0 -118
  1333. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +0 -497
  1334. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +0 -533
  1335. jaclang/vendor/mypyc/lib-rt/set_ops.c +0 -17
  1336. jaclang/vendor/mypyc/lib-rt/setup.py +0 -70
  1337. jaclang/vendor/mypyc/lib-rt/str_ops.c +0 -241
  1338. jaclang/vendor/mypyc/lib-rt/test_capi.cc +0 -585
  1339. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +0 -61
  1340. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1341. jaclang/vendor/mypyc/lower/int_ops.py +0 -113
  1342. jaclang/vendor/mypyc/lower/list_ops.py +0 -45
  1343. jaclang/vendor/mypyc/lower/misc_ops.py +0 -12
  1344. jaclang/vendor/mypyc/lower/registry.py +0 -26
  1345. jaclang/vendor/mypyc/namegen.py +0 -115
  1346. jaclang/vendor/mypyc/options.py +0 -32
  1347. jaclang/vendor/mypyc/primitives/__init__.py +0 -0
  1348. jaclang/vendor/mypyc/primitives/bytes_ops.py +0 -101
  1349. jaclang/vendor/mypyc/primitives/dict_ops.py +0 -325
  1350. jaclang/vendor/mypyc/primitives/exc_ops.py +0 -101
  1351. jaclang/vendor/mypyc/primitives/float_ops.py +0 -168
  1352. jaclang/vendor/mypyc/primitives/generic_ops.py +0 -384
  1353. jaclang/vendor/mypyc/primitives/int_ops.py +0 -303
  1354. jaclang/vendor/mypyc/primitives/list_ops.py +0 -310
  1355. jaclang/vendor/mypyc/primitives/misc_ops.py +0 -267
  1356. jaclang/vendor/mypyc/primitives/registry.py +0 -360
  1357. jaclang/vendor/mypyc/primitives/set_ops.py +0 -121
  1358. jaclang/vendor/mypyc/primitives/str_ops.py +0 -229
  1359. jaclang/vendor/mypyc/primitives/tuple_ops.py +0 -83
  1360. jaclang/vendor/mypyc/rt_subtype.py +0 -77
  1361. jaclang/vendor/mypyc/sametype.py +0 -83
  1362. jaclang/vendor/mypyc/subtype.py +0 -88
  1363. jaclang/vendor/mypyc/test/__init__.py +0 -0
  1364. jaclang/vendor/mypyc/test/config.py +0 -13
  1365. jaclang/vendor/mypyc/test/test_alwaysdefined.py +0 -46
  1366. jaclang/vendor/mypyc/test/test_analysis.py +0 -77
  1367. jaclang/vendor/mypyc/test/test_cheader.py +0 -53
  1368. jaclang/vendor/mypyc/test/test_commandline.py +0 -82
  1369. jaclang/vendor/mypyc/test/test_emit.py +0 -69
  1370. jaclang/vendor/mypyc/test/test_emitclass.py +0 -35
  1371. jaclang/vendor/mypyc/test/test_emitfunc.py +0 -928
  1372. jaclang/vendor/mypyc/test/test_emitwrapper.py +0 -60
  1373. jaclang/vendor/mypyc/test/test_exceptions.py +0 -56
  1374. jaclang/vendor/mypyc/test/test_external.py +0 -49
  1375. jaclang/vendor/mypyc/test/test_irbuild.py +0 -87
  1376. jaclang/vendor/mypyc/test/test_ircheck.py +0 -199
  1377. jaclang/vendor/mypyc/test/test_literals.py +0 -90
  1378. jaclang/vendor/mypyc/test/test_lowering.py +0 -56
  1379. jaclang/vendor/mypyc/test/test_namegen.py +0 -48
  1380. jaclang/vendor/mypyc/test/test_optimizations.py +0 -68
  1381. jaclang/vendor/mypyc/test/test_pprint.py +0 -42
  1382. jaclang/vendor/mypyc/test/test_rarray.py +0 -48
  1383. jaclang/vendor/mypyc/test/test_refcount.py +0 -59
  1384. jaclang/vendor/mypyc/test/test_run.py +0 -426
  1385. jaclang/vendor/mypyc/test/test_serialization.py +0 -108
  1386. jaclang/vendor/mypyc/test/test_struct.py +0 -112
  1387. jaclang/vendor/mypyc/test/test_tuplename.py +0 -33
  1388. jaclang/vendor/mypyc/test/test_typeops.py +0 -97
  1389. jaclang/vendor/mypyc/test/testutil.py +0 -283
  1390. jaclang/vendor/mypyc/test-data/alwaysdefined.test +0 -732
  1391. jaclang/vendor/mypyc/test-data/analysis.test +0 -470
  1392. jaclang/vendor/mypyc/test-data/commandline.test +0 -245
  1393. jaclang/vendor/mypyc/test-data/driver/driver.py +0 -48
  1394. jaclang/vendor/mypyc/test-data/exceptions-freq.test +0 -125
  1395. jaclang/vendor/mypyc/test-data/exceptions.test +0 -699
  1396. jaclang/vendor/mypyc/test-data/fixtures/ir.py +0 -373
  1397. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +0 -103
  1398. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +0 -169
  1399. jaclang/vendor/mypyc/test-data/irbuild-any.test +0 -236
  1400. jaclang/vendor/mypyc/test-data/irbuild-basic.test +0 -3399
  1401. jaclang/vendor/mypyc/test-data/irbuild-bool.test +0 -424
  1402. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +0 -181
  1403. jaclang/vendor/mypyc/test-data/irbuild-classes.test +0 -1302
  1404. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +0 -480
  1405. jaclang/vendor/mypyc/test-data/irbuild-dict.test +0 -584
  1406. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +0 -215
  1407. jaclang/vendor/mypyc/test-data/irbuild-float.test +0 -497
  1408. jaclang/vendor/mypyc/test-data/irbuild-generics.test +0 -150
  1409. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +0 -437
  1410. jaclang/vendor/mypyc/test-data/irbuild-i16.test +0 -526
  1411. jaclang/vendor/mypyc/test-data/irbuild-i32.test +0 -598
  1412. jaclang/vendor/mypyc/test-data/irbuild-i64.test +0 -2144
  1413. jaclang/vendor/mypyc/test-data/irbuild-int.test +0 -194
  1414. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +0 -109
  1415. jaclang/vendor/mypyc/test-data/irbuild-lists.test +0 -513
  1416. jaclang/vendor/mypyc/test-data/irbuild-match.test +0 -1717
  1417. jaclang/vendor/mypyc/test-data/irbuild-math.test +0 -64
  1418. jaclang/vendor/mypyc/test-data/irbuild-nested.test +0 -807
  1419. jaclang/vendor/mypyc/test-data/irbuild-optional.test +0 -536
  1420. jaclang/vendor/mypyc/test-data/irbuild-set.test +0 -806
  1421. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +0 -257
  1422. jaclang/vendor/mypyc/test-data/irbuild-statements.test +0 -1060
  1423. jaclang/vendor/mypyc/test-data/irbuild-str.test +0 -312
  1424. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +0 -12
  1425. jaclang/vendor/mypyc/test-data/irbuild-try.test +0 -523
  1426. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +0 -386
  1427. jaclang/vendor/mypyc/test-data/irbuild-u8.test +0 -543
  1428. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +0 -241
  1429. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +0 -153
  1430. jaclang/vendor/mypyc/test-data/lowering-int.test +0 -377
  1431. jaclang/vendor/mypyc/test-data/lowering-list.test +0 -33
  1432. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +0 -400
  1433. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +0 -296
  1434. jaclang/vendor/mypyc/test-data/refcount.test +0 -1482
  1435. jaclang/vendor/mypyc/test-data/run-async.test +0 -173
  1436. jaclang/vendor/mypyc/test-data/run-attrs.test +0 -318
  1437. jaclang/vendor/mypyc/test-data/run-bench.test +0 -196
  1438. jaclang/vendor/mypyc/test-data/run-bools.test +0 -229
  1439. jaclang/vendor/mypyc/test-data/run-bytes.test +0 -302
  1440. jaclang/vendor/mypyc/test-data/run-classes.test +0 -2505
  1441. jaclang/vendor/mypyc/test-data/run-dicts.test +0 -334
  1442. jaclang/vendor/mypyc/test-data/run-dunders.test +0 -945
  1443. jaclang/vendor/mypyc/test-data/run-exceptions.test +0 -448
  1444. jaclang/vendor/mypyc/test-data/run-floats.test +0 -516
  1445. jaclang/vendor/mypyc/test-data/run-functions.test +0 -1310
  1446. jaclang/vendor/mypyc/test-data/run-generators.test +0 -682
  1447. jaclang/vendor/mypyc/test-data/run-i16.test +0 -338
  1448. jaclang/vendor/mypyc/test-data/run-i32.test +0 -336
  1449. jaclang/vendor/mypyc/test-data/run-i64.test +0 -1519
  1450. jaclang/vendor/mypyc/test-data/run-imports.test +0 -265
  1451. jaclang/vendor/mypyc/test-data/run-integers.test +0 -540
  1452. jaclang/vendor/mypyc/test-data/run-lists.test +0 -411
  1453. jaclang/vendor/mypyc/test-data/run-loops.test +0 -485
  1454. jaclang/vendor/mypyc/test-data/run-match.test +0 -283
  1455. jaclang/vendor/mypyc/test-data/run-math.test +0 -106
  1456. jaclang/vendor/mypyc/test-data/run-misc.test +0 -1170
  1457. jaclang/vendor/mypyc/test-data/run-multimodule.test +0 -887
  1458. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +0 -138
  1459. jaclang/vendor/mypyc/test-data/run-primitives.test +0 -375
  1460. jaclang/vendor/mypyc/test-data/run-python37.test +0 -159
  1461. jaclang/vendor/mypyc/test-data/run-python38.test +0 -88
  1462. jaclang/vendor/mypyc/test-data/run-sets.test +0 -150
  1463. jaclang/vendor/mypyc/test-data/run-singledispatch.test +0 -698
  1464. jaclang/vendor/mypyc/test-data/run-strings.test +0 -641
  1465. jaclang/vendor/mypyc/test-data/run-traits.test +0 -411
  1466. jaclang/vendor/mypyc/test-data/run-tuples.test +0 -258
  1467. jaclang/vendor/mypyc/test-data/run-u8.test +0 -303
  1468. jaclang/vendor/mypyc/transform/__init__.py +0 -0
  1469. jaclang/vendor/mypyc/transform/copy_propagation.py +0 -94
  1470. jaclang/vendor/mypyc/transform/exceptions.py +0 -182
  1471. jaclang/vendor/mypyc/transform/flag_elimination.py +0 -108
  1472. jaclang/vendor/mypyc/transform/ir_transform.py +0 -368
  1473. jaclang/vendor/mypyc/transform/lower.py +0 -33
  1474. jaclang/vendor/mypyc/transform/refcount.py +0 -294
  1475. jaclang/vendor/mypyc/transform/uninit.py +0 -190
  1476. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1477. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1478. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -5
  1479. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1480. jaclang/vendor/typing_extensions.py +0 -3641
  1481. jaclang-0.7.34.dist-info/RECORD +0 -1563
  1482. /jaclang/{vendor/mypy/dmypy → compiler/larkparse}/__init__.py +0 -0
  1483. /jaclang/{tests → compiler/passes/main/tests}/fixtures/access_checker.jac +0 -0
  1484. /jaclang/langserve/{__init__.py → __init__.jac} +0 -0
  1485. /jaclang/{vendor/mypy/plugins/__init__.py → langserve/tests/fixtures/deep_check_crash.jac} +0 -0
  1486. /jaclang/{vendor/mypy/server/__init__.py → langserve/tests/server_test/code_test.py} +0 -0
  1487. /jaclang/{plugin → runtimelib}/tests/__init__.py +0 -0
  1488. /jaclang/{vendor/mypy/test → tests}/__init__.py +0 -0
  1489. /jaclang/{vendor/mypy/test/meta → tests/fixtures}/__init__.py +0 -0
  1490. /jaclang/tests/fixtures/{architype_def_bug.jac → archetype_def_bug.jac} +0 -0
  1491. /jaclang/vendor/{mypy/typeshed/stdlib/concurrent/__init__.pyi → attrs-25.3.0.dist-info/REQUESTED} +0 -0
  1492. /jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/licenses/LICENSE +0 -0
  1493. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/__init__.pyi → cattrs-24.1.3.dist-info/REQUESTED} +0 -0
  1494. /jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/licenses/LICENSE +0 -0
  1495. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi → lark-1.2.2.dist-info/REQUESTED} +0 -0
  1496. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/entry_points.txt +0 -0
  1497. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/top_level.txt +0 -0
  1498. /jaclang/vendor/{mypy/typeshed/stdlib/email/mime/__init__.pyi → lsprotocol-2023.0.1.dist-info/REQUESTED} +0 -0
  1499. /jaclang/vendor/lsprotocol-2023.0.1.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1500. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/__init__.pyi → pluggy-1.5.0.dist-info/REQUESTED} +0 -0
  1501. /jaclang/vendor/pluggy-1.5.0.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1502. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi → pygls-1.3.1.dist-info/REQUESTED} +0 -0
  1503. {jaclang-0.7.34.dist-info → jaclang-0.8.1.dist-info}/entry_points.txt +0 -0
@@ -1,3399 +0,0 @@
1
- [case testTrivialFunction]
2
- def f() -> int:
3
- return 1
4
- [out]
5
- def f():
6
- L0:
7
- return 2
8
- [case testFunctionArgument]
9
- def f(x: int) -> int:
10
- return x
11
- [out]
12
- def f(x):
13
- x :: int
14
- L0:
15
- return x
16
-
17
-
18
- [case testExplicitNoneReturn]
19
- def f() -> None:
20
- return
21
- [out]
22
- def f():
23
- L0:
24
- return 1
25
-
26
- [case testExplicitNoneReturn2]
27
- def f() -> None:
28
- return None
29
- [out]
30
- def f():
31
- L0:
32
- return 1
33
-
34
- [case testAssignment]
35
- def f() -> int:
36
- x = 1
37
- y = x
38
- return y
39
- [out]
40
- def f():
41
- x, y :: int
42
- L0:
43
- x = 2
44
- y = x
45
- return y
46
-
47
- [case testAssignmentTwice]
48
- def f(x: int) -> None:
49
- y = 1
50
- y = x
51
- return
52
- [out]
53
- def f(x):
54
- x, y :: int
55
- L0:
56
- y = 2
57
- y = x
58
- return 1
59
-
60
- [case testIntArithmetic]
61
- def f(x: int, y: int) -> int:
62
- return x * (y + 1)
63
- [out]
64
- def f(x, y):
65
- x, y, r0, r1 :: int
66
- L0:
67
- r0 = CPyTagged_Add(y, 2)
68
- r1 = CPyTagged_Multiply(x, r0)
69
- return r1
70
-
71
- [case testIf]
72
- def f(x: int, y: int) -> int:
73
- if x < y:
74
- x = 1
75
- return x
76
- [out]
77
- def f(x, y):
78
- x, y :: int
79
- r0 :: bit
80
- L0:
81
- r0 = int_lt x, y
82
- if r0 goto L1 else goto L2 :: bool
83
- L1:
84
- x = 2
85
- L2:
86
- return x
87
-
88
- [case testIfElse]
89
- def f(x: int, y: int) -> int:
90
- if x < y:
91
- x = 1
92
- else:
93
- x = 2
94
- return x
95
- [out]
96
- def f(x, y):
97
- x, y :: int
98
- r0 :: bit
99
- L0:
100
- r0 = int_lt x, y
101
- if r0 goto L1 else goto L2 :: bool
102
- L1:
103
- x = 2
104
- goto L3
105
- L2:
106
- x = 4
107
- L3:
108
- return x
109
-
110
- [case testAnd1]
111
- def f(x: int, y: int) -> int:
112
- if x < y and x > y:
113
- x = 1
114
- else:
115
- x = 2
116
- return x
117
- [out]
118
- def f(x, y):
119
- x, y :: int
120
- r0, r1 :: bit
121
- L0:
122
- r0 = int_lt x, y
123
- if r0 goto L1 else goto L3 :: bool
124
- L1:
125
- r1 = int_gt x, y
126
- if r1 goto L2 else goto L3 :: bool
127
- L2:
128
- x = 2
129
- goto L4
130
- L3:
131
- x = 4
132
- L4:
133
- return x
134
-
135
- [case testAnd2]
136
- def f(x: object, y: object) -> str:
137
- return str(x) or str(y)
138
- [out]
139
- def f(x, y):
140
- x, y :: object
141
- r0 :: str
142
- r1 :: bit
143
- r2, r3 :: str
144
- L0:
145
- r0 = PyObject_Str(x)
146
- r1 = CPyStr_IsTrue(r0)
147
- if r1 goto L1 else goto L2 :: bool
148
- L1:
149
- r2 = r0
150
- goto L3
151
- L2:
152
- r3 = PyObject_Str(y)
153
- r2 = r3
154
- L3:
155
- return r2
156
-
157
- [case testOr]
158
- def f(x: int, y: int) -> int:
159
- if x < y or x > y:
160
- x = 1
161
- else:
162
- x = 2
163
- return x
164
- [out]
165
- def f(x, y):
166
- x, y :: int
167
- r0, r1 :: bit
168
- L0:
169
- r0 = int_lt x, y
170
- if r0 goto L2 else goto L1 :: bool
171
- L1:
172
- r1 = int_gt x, y
173
- if r1 goto L2 else goto L3 :: bool
174
- L2:
175
- x = 2
176
- goto L4
177
- L3:
178
- x = 4
179
- L4:
180
- return x
181
-
182
- [case testOr2]
183
- def f(x: object, y: object) -> str:
184
- return str(x) and str(y)
185
- [out]
186
- def f(x, y):
187
- x, y :: object
188
- r0 :: str
189
- r1 :: bit
190
- r2, r3 :: str
191
- L0:
192
- r0 = PyObject_Str(x)
193
- r1 = CPyStr_IsTrue(r0)
194
- if r1 goto L2 else goto L1 :: bool
195
- L1:
196
- r2 = r0
197
- goto L3
198
- L2:
199
- r3 = PyObject_Str(y)
200
- r2 = r3
201
- L3:
202
- return r2
203
-
204
- [case testSimpleNot]
205
- def f(x: int, y: int) -> int:
206
- if not (x < y):
207
- x = 1
208
- return x
209
- [out]
210
- def f(x, y):
211
- x, y :: int
212
- r0 :: bit
213
- L0:
214
- r0 = int_lt x, y
215
- if r0 goto L2 else goto L1 :: bool
216
- L1:
217
- x = 2
218
- L2:
219
- return x
220
-
221
- [case testNotAnd]
222
- def f(x: int, y: int) -> int:
223
- if not (x < y and x > y):
224
- x = 1
225
- return x
226
- [out]
227
- def f(x, y):
228
- x, y :: int
229
- r0, r1 :: bit
230
- L0:
231
- r0 = int_lt x, y
232
- if r0 goto L1 else goto L2 :: bool
233
- L1:
234
- r1 = int_gt x, y
235
- if r1 goto L3 else goto L2 :: bool
236
- L2:
237
- x = 2
238
- L3:
239
- return x
240
-
241
- [case testWhile]
242
- def f(x: int, y: int) -> int:
243
- while x > y:
244
- x = x - y
245
- return x
246
- [out]
247
- def f(x, y):
248
- x, y :: int
249
- r0 :: bit
250
- r1 :: int
251
- L0:
252
- L1:
253
- r0 = int_gt x, y
254
- if r0 goto L2 else goto L3 :: bool
255
- L2:
256
- r1 = CPyTagged_Subtract(x, y)
257
- x = r1
258
- goto L1
259
- L3:
260
- return x
261
-
262
- [case testWhile2]
263
- def f(x: int, y: int) -> int:
264
- x = 1
265
- while x > y:
266
- x = x - y
267
- return x
268
- [out]
269
- def f(x, y):
270
- x, y :: int
271
- r0 :: bit
272
- r1 :: int
273
- L0:
274
- x = 2
275
- L1:
276
- r0 = int_gt x, y
277
- if r0 goto L2 else goto L3 :: bool
278
- L2:
279
- r1 = CPyTagged_Subtract(x, y)
280
- x = r1
281
- goto L1
282
- L3:
283
- return x
284
-
285
- [case testImplicitNoneReturn]
286
- def f() -> None:
287
- pass
288
- [out]
289
- def f():
290
- L0:
291
- return 1
292
-
293
- [case testImplicitNoneReturn2]
294
- def f() -> None:
295
- x = 1
296
- [out]
297
- def f():
298
- x :: int
299
- L0:
300
- x = 2
301
- return 1
302
-
303
- [case testImplicitNoneReturnAndIf]
304
- def f(x: int, y: int) -> None:
305
- if x < y:
306
- x = 1
307
- else:
308
- y = 2
309
- [out]
310
- def f(x, y):
311
- x, y :: int
312
- r0 :: bit
313
- L0:
314
- r0 = int_lt x, y
315
- if r0 goto L1 else goto L2 :: bool
316
- L1:
317
- x = 2
318
- goto L3
319
- L2:
320
- y = 4
321
- L3:
322
- return 1
323
-
324
- [case testRecursion]
325
- def f(n: int) -> int:
326
- if n <= 1:
327
- return 1
328
- else:
329
- return f(n - 1) + f(n - 2)
330
- [out]
331
- def f(n):
332
- n :: int
333
- r0 :: bit
334
- r1, r2, r3, r4, r5 :: int
335
- L0:
336
- r0 = int_le n, 2
337
- if r0 goto L1 else goto L2 :: bool
338
- L1:
339
- return 2
340
- L2:
341
- r1 = CPyTagged_Subtract(n, 2)
342
- r2 = f(r1)
343
- r3 = CPyTagged_Subtract(n, 4)
344
- r4 = f(r3)
345
- r5 = CPyTagged_Add(r2, r4)
346
- return r5
347
- L3:
348
- unreachable
349
-
350
- [case testReportTypeCheckError]
351
- def f() -> None:
352
- return 1 # E: No return value expected
353
-
354
- [case testReportSemanticaAnalysisError1]
355
- def f(x: List[int]) -> None: pass # E: Name "List" is not defined \
356
- # N: Did you forget to import it from "typing"? (Suggestion: "from typing import List")
357
-
358
- [case testReportSemanticaAnalysisError2]
359
- def f() -> None:
360
- x # E: Name "x" is not defined
361
-
362
- [case testElif]
363
- def f(n: int) -> int:
364
- if n < 0:
365
- x = 1
366
- elif n == 0:
367
- x = 1
368
- else:
369
- x = 2
370
- return x
371
- [out]
372
- def f(n):
373
- n :: int
374
- r0 :: bit
375
- x :: int
376
- r1 :: bit
377
- L0:
378
- r0 = int_lt n, 0
379
- if r0 goto L1 else goto L2 :: bool
380
- L1:
381
- x = 2
382
- goto L6
383
- L2:
384
- r1 = int_eq n, 0
385
- if r1 goto L3 else goto L4 :: bool
386
- L3:
387
- x = 2
388
- goto L5
389
- L4:
390
- x = 4
391
- L5:
392
- L6:
393
- return x
394
-
395
- [case testUnaryMinus]
396
- def f(n: int) -> int:
397
- return -n
398
- [out]
399
- def f(n):
400
- n, r0 :: int
401
- L0:
402
- r0 = CPyTagged_Negate(n)
403
- return r0
404
-
405
- [case testConditionalExpr]
406
- def f(n: int) -> int:
407
- return 0 if n == 0 else 1
408
- [out]
409
- def f(n):
410
- n :: int
411
- r0 :: bit
412
- r1 :: int
413
- L0:
414
- r0 = int_eq n, 0
415
- if r0 goto L1 else goto L2 :: bool
416
- L1:
417
- r1 = 0
418
- goto L3
419
- L2:
420
- r1 = 2
421
- L3:
422
- return r1
423
-
424
- [case testOperatorAssignment]
425
- def f() -> int:
426
- x = 0
427
- x += 1
428
- return x
429
- [out]
430
- def f():
431
- x, r0 :: int
432
- L0:
433
- x = 0
434
- r0 = CPyTagged_Add(x, 2)
435
- x = r0
436
- return x
437
-
438
- [case testTrue]
439
- def f() -> bool:
440
- return True
441
- [out]
442
- def f():
443
- L0:
444
- return 1
445
-
446
- [case testFalse]
447
- def f() -> bool:
448
- return False
449
- [out]
450
- def f():
451
- L0:
452
- return 0
453
- [case testBoolCond]
454
- def f(x: bool) -> bool:
455
- if x:
456
- return False
457
- else:
458
- return True
459
- [out]
460
- def f(x):
461
- x :: bool
462
- L0:
463
- if x goto L1 else goto L2 :: bool
464
- L1:
465
- return 0
466
- L2:
467
- return 1
468
- L3:
469
- unreachable
470
-
471
- [case testPycall]
472
- import testmodule
473
-
474
- def f(x: int) -> int:
475
- return testmodule.factorial(x)
476
- [file testmodule.py]
477
- def factorial(x: int) -> int:
478
- if x == 0:
479
- return 1
480
- else:
481
- return x * factorial(x-1)
482
- [out]
483
- def f(x):
484
- x :: int
485
- r0 :: object
486
- r1 :: str
487
- r2, r3, r4 :: object
488
- r5 :: int
489
- L0:
490
- r0 = testmodule :: module
491
- r1 = 'factorial'
492
- r2 = CPyObject_GetAttr(r0, r1)
493
- r3 = box(int, x)
494
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
495
- r5 = unbox(int, r4)
496
- return r5
497
-
498
- [case testImport_toplevel]
499
- import sys
500
- import enum as enum2
501
- import collections.abc
502
- import collections.abc as abc2
503
- _ = "filler"
504
- import single
505
- single.hello()
506
-
507
- [file single.py]
508
- def hello() -> None:
509
- print("hello, world")
510
-
511
- [out]
512
- def __top_level__():
513
- r0, r1 :: object
514
- r2 :: bit
515
- r3 :: str
516
- r4 :: object
517
- r5, r6, r7, r8 :: object_ptr
518
- r9 :: object_ptr[4]
519
- r10 :: c_ptr
520
- r11 :: native_int[4]
521
- r12 :: c_ptr
522
- r13 :: object
523
- r14 :: dict
524
- r15, r16 :: str
525
- r17 :: bit
526
- r18 :: str
527
- r19 :: dict
528
- r20 :: str
529
- r21 :: i32
530
- r22 :: bit
531
- r23 :: object_ptr
532
- r24 :: object_ptr[1]
533
- r25 :: c_ptr
534
- r26 :: native_int[1]
535
- r27 :: c_ptr
536
- r28 :: object
537
- r29 :: dict
538
- r30, r31 :: str
539
- r32 :: bit
540
- r33 :: object
541
- r34 :: str
542
- r35, r36 :: object
543
- L0:
544
- r0 = builtins :: module
545
- r1 = load_address _Py_NoneStruct
546
- r2 = r0 != r1
547
- if r2 goto L2 else goto L1 :: bool
548
- L1:
549
- r3 = 'builtins'
550
- r4 = PyImport_Import(r3)
551
- builtins = r4 :: module
552
- L2:
553
- r5 = load_address sys :: module
554
- r6 = load_address enum :: module
555
- r7 = load_address collections.abc :: module
556
- r8 = load_address collections.abc :: module
557
- r9 = [r5, r6, r7, r8]
558
- r10 = load_address r9
559
- r11 = [1, 2, 3, 4]
560
- r12 = load_address r11
561
- r13 = (('sys', 'sys', 'sys'), ('enum', 'enum', 'enum2'), ('collections.abc', 'collections', 'collections'), ('collections.abc', 'collections.abc', 'abc2'))
562
- r14 = __main__.globals :: static
563
- r15 = 'main'
564
- r16 = '<module>'
565
- r17 = CPyImport_ImportMany(r13, r10, r14, r15, r16, r12)
566
- r18 = 'filler'
567
- r19 = __main__.globals :: static
568
- r20 = '_'
569
- r21 = CPyDict_SetItem(r19, r20, r18)
570
- r22 = r21 >= 0 :: signed
571
- r23 = load_address single :: module
572
- r24 = [r23]
573
- r25 = load_address r24
574
- r26 = [6]
575
- r27 = load_address r26
576
- r28 = (('single', 'single', 'single'),)
577
- r29 = __main__.globals :: static
578
- r30 = 'main'
579
- r31 = '<module>'
580
- r32 = CPyImport_ImportMany(r28, r25, r29, r30, r31, r27)
581
- r33 = single :: module
582
- r34 = 'hello'
583
- r35 = CPyObject_GetAttr(r33, r34)
584
- r36 = PyObject_CallFunctionObjArgs(r35, 0)
585
- return 1
586
-
587
- [case testFromImport_toplevel]
588
- from testmodule import g, h
589
- from testmodule import h as two
590
-
591
- def f(x: int) -> int:
592
- return g(x) + h() + two()
593
- [file testmodule.py]
594
- def g(x: int) -> int:
595
- return x + 1
596
- def h() -> int:
597
- return 2
598
- [out]
599
- def f(x):
600
- x :: int
601
- r0 :: dict
602
- r1 :: str
603
- r2, r3, r4 :: object
604
- r5 :: int
605
- r6 :: dict
606
- r7 :: str
607
- r8, r9 :: object
608
- r10, r11 :: int
609
- r12 :: dict
610
- r13 :: str
611
- r14, r15 :: object
612
- r16, r17 :: int
613
- L0:
614
- r0 = __main__.globals :: static
615
- r1 = 'g'
616
- r2 = CPyDict_GetItem(r0, r1)
617
- r3 = box(int, x)
618
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
619
- r5 = unbox(int, r4)
620
- r6 = __main__.globals :: static
621
- r7 = 'h'
622
- r8 = CPyDict_GetItem(r6, r7)
623
- r9 = PyObject_CallFunctionObjArgs(r8, 0)
624
- r10 = unbox(int, r9)
625
- r11 = CPyTagged_Add(r5, r10)
626
- r12 = __main__.globals :: static
627
- r13 = 'two'
628
- r14 = CPyDict_GetItem(r12, r13)
629
- r15 = PyObject_CallFunctionObjArgs(r14, 0)
630
- r16 = unbox(int, r15)
631
- r17 = CPyTagged_Add(r11, r16)
632
- return r17
633
- def __top_level__():
634
- r0, r1 :: object
635
- r2 :: bit
636
- r3 :: str
637
- r4, r5 :: object
638
- r6 :: str
639
- r7 :: dict
640
- r8, r9, r10 :: object
641
- r11 :: str
642
- r12 :: dict
643
- r13 :: object
644
- L0:
645
- r0 = builtins :: module
646
- r1 = load_address _Py_NoneStruct
647
- r2 = r0 != r1
648
- if r2 goto L2 else goto L1 :: bool
649
- L1:
650
- r3 = 'builtins'
651
- r4 = PyImport_Import(r3)
652
- builtins = r4 :: module
653
- L2:
654
- r5 = ('g', 'h')
655
- r6 = 'testmodule'
656
- r7 = __main__.globals :: static
657
- r8 = CPyImport_ImportFromMany(r6, r5, r5, r7)
658
- testmodule = r8 :: module
659
- r9 = ('h',)
660
- r10 = ('two',)
661
- r11 = 'testmodule'
662
- r12 = __main__.globals :: static
663
- r13 = CPyImport_ImportFromMany(r11, r9, r10, r12)
664
- testmodule = r13 :: module
665
- return 1
666
-
667
- [case testPrintFullname]
668
- import builtins
669
- def f(x: int) -> None:
670
- builtins.print(5)
671
- [out]
672
- def f(x):
673
- x :: int
674
- r0 :: object
675
- r1 :: str
676
- r2, r3, r4 :: object
677
- L0:
678
- r0 = builtins :: module
679
- r1 = 'print'
680
- r2 = CPyObject_GetAttr(r0, r1)
681
- r3 = object 5
682
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
683
- return 1
684
-
685
- [case testPrint]
686
- import builtins
687
- def f(x: int) -> None:
688
- print(5)
689
- [out]
690
- def f(x):
691
- x :: int
692
- r0 :: object
693
- r1 :: str
694
- r2, r3, r4 :: object
695
- L0:
696
- r0 = builtins :: module
697
- r1 = 'print'
698
- r2 = CPyObject_GetAttr(r0, r1)
699
- r3 = object 5
700
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
701
- return 1
702
-
703
- [case testUnicodeLiteral]
704
- def f() -> str:
705
- x = "some string"
706
- return "some other string"
707
- [out]
708
- def f():
709
- r0, x, r1 :: str
710
- L0:
711
- r0 = 'some string'
712
- x = r0
713
- r1 = 'some other string'
714
- return r1
715
-
716
- [case testBytesLiteral]
717
- def f() -> bytes:
718
- x = b'\xf0'
719
- return b'1234'
720
- [out]
721
- def f():
722
- r0, x, r1 :: bytes
723
- L0:
724
- r0 = b'\xf0'
725
- x = r0
726
- r1 = b'1234'
727
- return r1
728
-
729
- [case testPyMethodCall1]
730
- from typing import Any
731
- def f(x: Any) -> int:
732
- y: int = x.pop()
733
- return x.pop()
734
- [out]
735
- def f(x):
736
- x :: object
737
- r0 :: str
738
- r1 :: object
739
- r2, y :: int
740
- r3 :: str
741
- r4 :: object
742
- r5 :: int
743
- L0:
744
- r0 = 'pop'
745
- r1 = CPyObject_CallMethodObjArgs(x, r0, 0)
746
- r2 = unbox(int, r1)
747
- y = r2
748
- r3 = 'pop'
749
- r4 = CPyObject_CallMethodObjArgs(x, r3, 0)
750
- r5 = unbox(int, r4)
751
- return r5
752
-
753
- [case testObjectType]
754
- def g(y: object) -> None:
755
- g(y)
756
- g([1])
757
- g(None)
758
- [out]
759
- def g(y):
760
- y :: object
761
- r0 :: None
762
- r1 :: list
763
- r2 :: object
764
- r3 :: ptr
765
- r4 :: None
766
- r5 :: object
767
- r6 :: None
768
- L0:
769
- r0 = g(y)
770
- r1 = PyList_New(1)
771
- r2 = object 1
772
- r3 = list_items r1
773
- buf_init_item r3, 0, r2
774
- keep_alive r1
775
- r4 = g(r1)
776
- r5 = box(None, 1)
777
- r6 = g(r5)
778
- return 1
779
-
780
- [case testCoerceToObject1]
781
- def g(y: object) -> object:
782
- g(1)
783
- a = [y]
784
- a[0] = (1, 2)
785
- y = True
786
- return 3
787
- [out]
788
- def g(y):
789
- y, r0, r1 :: object
790
- r2 :: list
791
- r3 :: ptr
792
- a :: list
793
- r4 :: tuple[int, int]
794
- r5 :: object
795
- r6 :: bit
796
- r7, r8 :: object
797
- L0:
798
- r0 = object 1
799
- r1 = g(r0)
800
- r2 = PyList_New(1)
801
- r3 = list_items r2
802
- buf_init_item r3, 0, y
803
- keep_alive r2
804
- a = r2
805
- r4 = (2, 4)
806
- r5 = box(tuple[int, int], r4)
807
- r6 = CPyList_SetItem(a, 0, r5)
808
- r7 = box(bool, 1)
809
- y = r7
810
- r8 = object 3
811
- return r8
812
-
813
- [case testCoerceToObject2]
814
- class A:
815
- x: object
816
- n: int
817
- def f(a: A, o: object) -> None:
818
- a.x = 1
819
- o = a.n
820
- [out]
821
- def f(a, o):
822
- a :: __main__.A
823
- o, r0 :: object
824
- r1 :: bool
825
- r2 :: int
826
- r3 :: object
827
- L0:
828
- r0 = object 1
829
- a.x = r0; r1 = is_error
830
- r2 = a.n
831
- r3 = box(int, r2)
832
- o = r3
833
- return 1
834
-
835
- [case testAssertType]
836
- from typing import assert_type
837
- def f(x: int) -> None:
838
- y = assert_type(x, int)
839
- [out]
840
- def f(x):
841
- x, y :: int
842
- L0:
843
- y = x
844
- return 1
845
-
846
- [case testDownCast]
847
- from typing import cast, List, Tuple
848
- class A: pass
849
- def f(x: object) -> None:
850
- n = cast(int, x)
851
- b = cast(bool, x)
852
- a = cast(A, x)
853
- l = cast(List[int], x)
854
- t = cast(Tuple[int, A], x)
855
- [out]
856
- def f(x):
857
- x :: object
858
- r0, n :: int
859
- r1, b :: bool
860
- r2, a :: __main__.A
861
- r3, l :: list
862
- r4, t :: tuple[int, __main__.A]
863
- L0:
864
- r0 = unbox(int, x)
865
- n = r0
866
- r1 = unbox(bool, x)
867
- b = r1
868
- r2 = cast(__main__.A, x)
869
- a = r2
870
- r3 = cast(list, x)
871
- l = r3
872
- r4 = unbox(tuple[int, __main__.A], x)
873
- t = r4
874
- return 1
875
-
876
- [case testDownCastSpecialCases]
877
- from typing import cast, Optional, Tuple
878
- class A: pass
879
- def f(o: Optional[A], n: int, t: Tuple[int, ...], tt: Tuple[int, int]) -> None:
880
- a = cast(A, o)
881
- m = cast(bool, n)
882
- t = tt
883
- [out]
884
- def f(o, n, t, tt):
885
- o :: union[__main__.A, None]
886
- n :: int
887
- t :: tuple
888
- tt :: tuple[int, int]
889
- r0, a :: __main__.A
890
- r1 :: object
891
- r2, m :: bool
892
- r3 :: object
893
- L0:
894
- r0 = cast(__main__.A, o)
895
- a = r0
896
- r1 = box(int, n)
897
- r2 = unbox(bool, r1)
898
- m = r2
899
- r3 = box(tuple[int, int], tt)
900
- t = r3
901
- return 1
902
-
903
- [case testSuccessfulCast]
904
- from typing import cast, Optional, Tuple, List, Dict
905
- class A: pass
906
- def f(o: object,
907
- p: Optional[A],
908
- n: int,
909
- b: bool,
910
- t: Tuple[int, ...],
911
- s: Tuple[int, int],
912
- a: A,
913
- l: List[A],
914
- d: Dict[int, str]) -> None:
915
- o = cast(object, o)
916
- p = cast(Optional[A], p)
917
- n = cast(int, n)
918
- b = cast(bool, b)
919
- t = cast(Tuple[int, ...], t)
920
- s = cast(Tuple[int, int], s)
921
- o = cast(object, n)
922
- a = cast(A, a)
923
- l2 = cast(List[object], l)
924
- d2 = cast(Dict[object, str], d)
925
- [out]
926
- def f(o, p, n, b, t, s, a, l, d):
927
- o :: object
928
- p :: union[__main__.A, None]
929
- n :: int
930
- b :: bool
931
- t :: tuple
932
- s :: tuple[int, int]
933
- a :: __main__.A
934
- l :: list
935
- d :: dict
936
- r0 :: object
937
- l2 :: list
938
- d2 :: dict
939
- L0:
940
- o = o
941
- p = p
942
- n = n
943
- b = b
944
- t = t
945
- s = s
946
- r0 = box(int, n)
947
- o = r0
948
- a = a
949
- l2 = l
950
- d2 = d
951
- return 1
952
-
953
- [case testGenericSetItem]
954
- from typing import Any
955
- def f(x: Any, y: Any, z: Any) -> None:
956
- x[y] = z
957
- [out]
958
- def f(x, y, z):
959
- x, y, z :: object
960
- r0 :: i32
961
- r1 :: bit
962
- L0:
963
- r0 = PyObject_SetItem(x, y, z)
964
- r1 = r0 >= 0 :: signed
965
- return 1
966
-
967
- [case testLoadFloatSum]
968
- def assign_and_return_float_sum() -> float:
969
- f1 = 1.0
970
- f2 = 2.0
971
- f3 = 3.0
972
- return f1 * f2 + f3
973
- [out]
974
- def assign_and_return_float_sum():
975
- f1, f2, f3, r0, r1 :: float
976
- L0:
977
- f1 = 1.0
978
- f2 = 2.0
979
- f3 = 3.0
980
- r0 = f1 * f2
981
- r1 = r0 + f3
982
- return r1
983
-
984
- [case testLoadComplex]
985
- def load() -> complex:
986
- real = 1
987
- return 5j+real
988
- [out]
989
- def load():
990
- real :: int
991
- r0, r1, r2 :: object
992
- L0:
993
- real = 2
994
- r0 = 5j
995
- r1 = box(int, real)
996
- r2 = PyNumber_Add(r0, r1)
997
- return r2
998
-
999
- [case testBigIntLiteral_64bit]
1000
- def big_int() -> None:
1001
- a_62_bit = 4611686018427387902
1002
- max_62_bit = 4611686018427387903
1003
- b_63_bit = 4611686018427387904
1004
- c_63_bit = 9223372036854775806
1005
- max_63_bit = 9223372036854775807
1006
- d_64_bit = 9223372036854775808
1007
- max_32_bit = 2147483647
1008
- max_31_bit = 1073741823
1009
- [out]
1010
- def big_int():
1011
- a_62_bit, max_62_bit, r0, b_63_bit, r1, c_63_bit, r2, max_63_bit, r3, d_64_bit, max_32_bit, max_31_bit :: int
1012
- L0:
1013
- a_62_bit = 9223372036854775804
1014
- max_62_bit = 9223372036854775806
1015
- r0 = object 4611686018427387904
1016
- b_63_bit = r0
1017
- r1 = object 9223372036854775806
1018
- c_63_bit = r1
1019
- r2 = object 9223372036854775807
1020
- max_63_bit = r2
1021
- r3 = object 9223372036854775808
1022
- d_64_bit = r3
1023
- max_32_bit = 4294967294
1024
- max_31_bit = 2147483646
1025
- return 1
1026
-
1027
- [case testBigIntLiteral_32bit]
1028
- def big_int() -> None:
1029
- a_62_bit = 4611686018427387902
1030
- max_62_bit = 4611686018427387903
1031
- b_63_bit = 4611686018427387904
1032
- c_63_bit = 9223372036854775806
1033
- max_63_bit = 9223372036854775807
1034
- d_64_bit = 9223372036854775808
1035
- max_32_bit = 2147483647
1036
- max_31_bit = 1073741823
1037
- [out]
1038
- def big_int():
1039
- r0, a_62_bit, r1, max_62_bit, r2, b_63_bit, r3, c_63_bit, r4, max_63_bit, r5, d_64_bit, r6, max_32_bit, max_31_bit :: int
1040
- L0:
1041
- r0 = object 4611686018427387902
1042
- a_62_bit = r0
1043
- r1 = object 4611686018427387903
1044
- max_62_bit = r1
1045
- r2 = object 4611686018427387904
1046
- b_63_bit = r2
1047
- r3 = object 9223372036854775806
1048
- c_63_bit = r3
1049
- r4 = object 9223372036854775807
1050
- max_63_bit = r4
1051
- r5 = object 9223372036854775808
1052
- d_64_bit = r5
1053
- r6 = object 2147483647
1054
- max_32_bit = r6
1055
- max_31_bit = 2147483646
1056
- return 1
1057
-
1058
- [case testCallableTypes]
1059
- from typing import Callable, Any
1060
- from m import f
1061
-
1062
- def absolute_value(x: int) -> int:
1063
- return x if x > 0 else -x
1064
-
1065
- def call_native_function(x: int) -> int:
1066
- return absolute_value(x)
1067
-
1068
- def call_python_function(x: int) -> int:
1069
- return f(x)
1070
-
1071
- def return_float() -> float:
1072
- return 5.0
1073
-
1074
- def return_callable_type() -> Callable[[], float]:
1075
- return return_float
1076
-
1077
- def call_callable_type() -> float:
1078
- f = return_callable_type()
1079
- return f()
1080
- [file m.py]
1081
- def f(x: int) -> int:
1082
- return x
1083
- [out]
1084
- def absolute_value(x):
1085
- x :: int
1086
- r0 :: bit
1087
- r1, r2 :: int
1088
- L0:
1089
- r0 = int_gt x, 0
1090
- if r0 goto L1 else goto L2 :: bool
1091
- L1:
1092
- r1 = x
1093
- goto L3
1094
- L2:
1095
- r2 = CPyTagged_Negate(x)
1096
- r1 = r2
1097
- L3:
1098
- return r1
1099
- def call_native_function(x):
1100
- x, r0 :: int
1101
- L0:
1102
- r0 = absolute_value(x)
1103
- return r0
1104
- def call_python_function(x):
1105
- x :: int
1106
- r0 :: dict
1107
- r1 :: str
1108
- r2, r3, r4 :: object
1109
- r5 :: int
1110
- L0:
1111
- r0 = __main__.globals :: static
1112
- r1 = 'f'
1113
- r2 = CPyDict_GetItem(r0, r1)
1114
- r3 = box(int, x)
1115
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
1116
- r5 = unbox(int, r4)
1117
- return r5
1118
- def return_float():
1119
- L0:
1120
- return 5.0
1121
- def return_callable_type():
1122
- r0 :: dict
1123
- r1 :: str
1124
- r2 :: object
1125
- L0:
1126
- r0 = __main__.globals :: static
1127
- r1 = 'return_float'
1128
- r2 = CPyDict_GetItem(r0, r1)
1129
- return r2
1130
- def call_callable_type():
1131
- r0, f, r1 :: object
1132
- r2 :: float
1133
- L0:
1134
- r0 = return_callable_type()
1135
- f = r0
1136
- r1 = PyObject_CallFunctionObjArgs(f, 0)
1137
- r2 = unbox(float, r1)
1138
- return r2
1139
-
1140
- [case testCallableTypesWithKeywordArgs]
1141
- from typing import List
1142
-
1143
- def call_python_function_with_keyword_arg(x: str) -> int:
1144
- return int(x, base=2)
1145
-
1146
- def call_python_method_with_keyword_args(xs: List[int], first: int, second: int) -> List[int]:
1147
- xs.insert(0, x=first)
1148
- xs.insert(x=second, i=1)
1149
- return xs
1150
-
1151
- [out]
1152
- def call_python_function_with_keyword_arg(x):
1153
- x :: str
1154
- r0 :: object
1155
- r1 :: str
1156
- r2 :: tuple
1157
- r3 :: object
1158
- r4 :: dict
1159
- r5 :: object
1160
- r6 :: int
1161
- L0:
1162
- r0 = load_address PyLong_Type
1163
- r1 = 'base'
1164
- r2 = PyTuple_Pack(1, x)
1165
- r3 = object 2
1166
- r4 = CPyDict_Build(1, r1, r3)
1167
- r5 = PyObject_Call(r0, r2, r4)
1168
- r6 = unbox(int, r5)
1169
- return r6
1170
- def call_python_method_with_keyword_args(xs, first, second):
1171
- xs :: list
1172
- first, second :: int
1173
- r0 :: str
1174
- r1 :: object
1175
- r2 :: str
1176
- r3 :: object
1177
- r4 :: tuple
1178
- r5 :: object
1179
- r6 :: dict
1180
- r7 :: object
1181
- r8 :: str
1182
- r9 :: object
1183
- r10, r11 :: str
1184
- r12 :: tuple
1185
- r13, r14 :: object
1186
- r15 :: dict
1187
- r16 :: object
1188
- L0:
1189
- r0 = 'insert'
1190
- r1 = CPyObject_GetAttr(xs, r0)
1191
- r2 = 'x'
1192
- r3 = object 0
1193
- r4 = PyTuple_Pack(1, r3)
1194
- r5 = box(int, first)
1195
- r6 = CPyDict_Build(1, r2, r5)
1196
- r7 = PyObject_Call(r1, r4, r6)
1197
- r8 = 'insert'
1198
- r9 = CPyObject_GetAttr(xs, r8)
1199
- r10 = 'x'
1200
- r11 = 'i'
1201
- r12 = PyTuple_Pack(0)
1202
- r13 = box(int, second)
1203
- r14 = object 1
1204
- r15 = CPyDict_Build(2, r10, r13, r11, r14)
1205
- r16 = PyObject_Call(r9, r12, r15)
1206
- return xs
1207
-
1208
- [case testObjectAsBoolean]
1209
- from typing import List
1210
-
1211
- def obj(x: object) -> int:
1212
- if x:
1213
- return 1
1214
- else:
1215
- return 0
1216
-
1217
- def num(x: int) -> int:
1218
- if x:
1219
- return 1
1220
- else:
1221
- return 0
1222
-
1223
- def lst(x: List[int]) -> int:
1224
- if x:
1225
- return 1
1226
- else:
1227
- return 0
1228
- [out]
1229
- def obj(x):
1230
- x :: object
1231
- r0 :: i32
1232
- r1 :: bit
1233
- r2 :: bool
1234
- L0:
1235
- r0 = PyObject_IsTrue(x)
1236
- r1 = r0 >= 0 :: signed
1237
- r2 = truncate r0: i32 to builtins.bool
1238
- if r2 goto L1 else goto L2 :: bool
1239
- L1:
1240
- return 2
1241
- L2:
1242
- return 0
1243
- L3:
1244
- unreachable
1245
- def num(x):
1246
- x :: int
1247
- r0 :: bit
1248
- L0:
1249
- r0 = x != 0
1250
- if r0 goto L1 else goto L2 :: bool
1251
- L1:
1252
- return 2
1253
- L2:
1254
- return 0
1255
- L3:
1256
- unreachable
1257
- def lst(x):
1258
- x :: list
1259
- r0 :: native_int
1260
- r1 :: short_int
1261
- r2 :: bit
1262
- L0:
1263
- r0 = var_object_size x
1264
- r1 = r0 << 1
1265
- r2 = int_ne r1, 0
1266
- if r2 goto L1 else goto L2 :: bool
1267
- L1:
1268
- return 2
1269
- L2:
1270
- return 0
1271
- L3:
1272
- unreachable
1273
-
1274
- [case testOptionalAsBoolean]
1275
- from typing import Optional
1276
-
1277
- class A: pass
1278
-
1279
- def opt_int(x: Optional[int]) -> int:
1280
- if x:
1281
- return 1
1282
- else:
1283
- return 0
1284
-
1285
- def opt_a(x: Optional[A]) -> int:
1286
- if x:
1287
- return 1
1288
- else:
1289
- return 0
1290
-
1291
- def opt_o(x: Optional[object]) -> int:
1292
- if x:
1293
- return 1
1294
- else:
1295
- return 0
1296
- [out]
1297
- def opt_int(x):
1298
- x :: union[int, None]
1299
- r0 :: object
1300
- r1 :: bit
1301
- r2 :: int
1302
- r3 :: bit
1303
- L0:
1304
- r0 = load_address _Py_NoneStruct
1305
- r1 = x != r0
1306
- if r1 goto L1 else goto L3 :: bool
1307
- L1:
1308
- r2 = unbox(int, x)
1309
- r3 = r2 != 0
1310
- if r3 goto L2 else goto L3 :: bool
1311
- L2:
1312
- return 2
1313
- L3:
1314
- return 0
1315
- L4:
1316
- unreachable
1317
- def opt_a(x):
1318
- x :: union[__main__.A, None]
1319
- r0 :: object
1320
- r1 :: bit
1321
- L0:
1322
- r0 = load_address _Py_NoneStruct
1323
- r1 = x != r0
1324
- if r1 goto L1 else goto L2 :: bool
1325
- L1:
1326
- return 2
1327
- L2:
1328
- return 0
1329
- L3:
1330
- unreachable
1331
- def opt_o(x):
1332
- x :: union[object, None]
1333
- r0 :: object
1334
- r1 :: bit
1335
- r2 :: object
1336
- r3 :: i32
1337
- r4 :: bit
1338
- r5 :: bool
1339
- L0:
1340
- r0 = load_address _Py_NoneStruct
1341
- r1 = x != r0
1342
- if r1 goto L1 else goto L3 :: bool
1343
- L1:
1344
- r2 = cast(object, x)
1345
- r3 = PyObject_IsTrue(r2)
1346
- r4 = r3 >= 0 :: signed
1347
- r5 = truncate r3: i32 to builtins.bool
1348
- if r5 goto L2 else goto L3 :: bool
1349
- L2:
1350
- return 2
1351
- L3:
1352
- return 0
1353
- L4:
1354
- unreachable
1355
-
1356
- [case testRaise]
1357
- def foo() -> None:
1358
- raise Exception()
1359
-
1360
- def bar() -> None:
1361
- raise Exception
1362
- [out]
1363
- def foo():
1364
- r0 :: object
1365
- r1 :: str
1366
- r2, r3 :: object
1367
- L0:
1368
- r0 = builtins :: module
1369
- r1 = 'Exception'
1370
- r2 = CPyObject_GetAttr(r0, r1)
1371
- r3 = PyObject_CallFunctionObjArgs(r2, 0)
1372
- CPy_Raise(r3)
1373
- unreachable
1374
- def bar():
1375
- r0 :: object
1376
- r1 :: str
1377
- r2 :: object
1378
- L0:
1379
- r0 = builtins :: module
1380
- r1 = 'Exception'
1381
- r2 = CPyObject_GetAttr(r0, r1)
1382
- CPy_Raise(r2)
1383
- unreachable
1384
-
1385
- [case testModuleTopLevel_toplevel]
1386
- x = 1
1387
- print(x)
1388
-
1389
- def f() -> None:
1390
- print(x)
1391
- [out]
1392
- def f():
1393
- r0 :: dict
1394
- r1 :: str
1395
- r2 :: object
1396
- r3 :: int
1397
- r4 :: object
1398
- r5 :: str
1399
- r6, r7, r8 :: object
1400
- L0:
1401
- r0 = __main__.globals :: static
1402
- r1 = 'x'
1403
- r2 = CPyDict_GetItem(r0, r1)
1404
- r3 = unbox(int, r2)
1405
- r4 = builtins :: module
1406
- r5 = 'print'
1407
- r6 = CPyObject_GetAttr(r4, r5)
1408
- r7 = box(int, r3)
1409
- r8 = PyObject_CallFunctionObjArgs(r6, r7, 0)
1410
- return 1
1411
- def __top_level__():
1412
- r0, r1 :: object
1413
- r2 :: bit
1414
- r3 :: str
1415
- r4 :: object
1416
- r5 :: dict
1417
- r6 :: str
1418
- r7 :: object
1419
- r8 :: i32
1420
- r9 :: bit
1421
- r10 :: dict
1422
- r11 :: str
1423
- r12 :: object
1424
- r13 :: int
1425
- r14 :: object
1426
- r15 :: str
1427
- r16, r17, r18 :: object
1428
- L0:
1429
- r0 = builtins :: module
1430
- r1 = load_address _Py_NoneStruct
1431
- r2 = r0 != r1
1432
- if r2 goto L2 else goto L1 :: bool
1433
- L1:
1434
- r3 = 'builtins'
1435
- r4 = PyImport_Import(r3)
1436
- builtins = r4 :: module
1437
- L2:
1438
- r5 = __main__.globals :: static
1439
- r6 = 'x'
1440
- r7 = object 1
1441
- r8 = CPyDict_SetItem(r5, r6, r7)
1442
- r9 = r8 >= 0 :: signed
1443
- r10 = __main__.globals :: static
1444
- r11 = 'x'
1445
- r12 = CPyDict_GetItem(r10, r11)
1446
- r13 = unbox(int, r12)
1447
- r14 = builtins :: module
1448
- r15 = 'print'
1449
- r16 = CPyObject_GetAttr(r14, r15)
1450
- r17 = box(int, r13)
1451
- r18 = PyObject_CallFunctionObjArgs(r16, r17, 0)
1452
- return 1
1453
-
1454
- [case testCallOverloaded]
1455
- import m
1456
- def f() -> str:
1457
- return m.f(1)
1458
- [file m.pyi]
1459
- from typing import overload
1460
- @overload
1461
- def f(x: int) -> str: ...
1462
- @overload
1463
- def f(x: str) -> int: ...
1464
- [out]
1465
- def f():
1466
- r0 :: object
1467
- r1 :: str
1468
- r2, r3, r4 :: object
1469
- r5 :: str
1470
- L0:
1471
- r0 = m :: module
1472
- r1 = 'f'
1473
- r2 = CPyObject_GetAttr(r0, r1)
1474
- r3 = object 1
1475
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
1476
- r5 = cast(str, r4)
1477
- return r5
1478
-
1479
- [case testCallOverloadedNative]
1480
- from typing import overload, Union
1481
-
1482
- @overload
1483
- def foo(x: int) -> int: ...
1484
-
1485
- @overload
1486
- def foo(x: str) -> str: ...
1487
-
1488
- def foo(x: Union[int, str]) -> Union[int, str]:
1489
- return x
1490
-
1491
- def main() -> None:
1492
- x = foo(0)
1493
- [out]
1494
- def foo(x):
1495
- x :: union[int, str]
1496
- L0:
1497
- return x
1498
- def main():
1499
- r0 :: object
1500
- r1 :: union[int, str]
1501
- r2, x :: int
1502
- L0:
1503
- r0 = object 0
1504
- r1 = foo(r0)
1505
- r2 = unbox(int, r1)
1506
- x = r2
1507
- return 1
1508
-
1509
- [case testCallOverloadedNativeSubclass]
1510
- from typing import overload, Union
1511
-
1512
- class A:
1513
- x: int
1514
- class B(A):
1515
- y: int
1516
-
1517
- @overload
1518
- def foo(x: int) -> B: ...
1519
-
1520
- @overload
1521
- def foo(x: Union[int, str]) -> A: ...
1522
-
1523
- def foo(x: Union[int, str]) -> A:
1524
- if isinstance(x, int):
1525
- return B()
1526
- return A()
1527
-
1528
- def main() -> None:
1529
- x = foo(0)
1530
- [out]
1531
- def foo(x):
1532
- x :: union[int, str]
1533
- r0 :: object
1534
- r1 :: i32
1535
- r2 :: bit
1536
- r3 :: bool
1537
- r4 :: __main__.B
1538
- r5 :: __main__.A
1539
- L0:
1540
- r0 = load_address PyLong_Type
1541
- r1 = PyObject_IsInstance(x, r0)
1542
- r2 = r1 >= 0 :: signed
1543
- r3 = truncate r1: i32 to builtins.bool
1544
- if r3 goto L1 else goto L2 :: bool
1545
- L1:
1546
- r4 = B()
1547
- return r4
1548
- L2:
1549
- r5 = A()
1550
- return r5
1551
- def main():
1552
- r0 :: object
1553
- r1 :: __main__.A
1554
- r2, x :: __main__.B
1555
- L0:
1556
- r0 = object 0
1557
- r1 = foo(r0)
1558
- r2 = cast(__main__.B, r1)
1559
- x = r2
1560
- return 1
1561
-
1562
- [case testFunctionCallWithKeywordArgs]
1563
- def f(x: int, y: str) -> None: pass
1564
-
1565
- def g() -> None:
1566
- f(y='a', x=0)
1567
- f(1, y='b')
1568
- [out]
1569
- def f(x, y):
1570
- x :: int
1571
- y :: str
1572
- L0:
1573
- return 1
1574
- def g():
1575
- r0 :: str
1576
- r1 :: None
1577
- r2 :: str
1578
- r3 :: None
1579
- L0:
1580
- r0 = 'a'
1581
- r1 = f(0, r0)
1582
- r2 = 'b'
1583
- r3 = f(2, r2)
1584
- return 1
1585
-
1586
- [case testMethodCallWithKeywordArgs]
1587
- class A:
1588
- def f(self, x: int, y: str) -> None: pass
1589
-
1590
- def g(a: A) -> None:
1591
- a.f(y='a', x=0)
1592
- a.f(1, y='b')
1593
- [out]
1594
- def A.f(self, x, y):
1595
- self :: __main__.A
1596
- x :: int
1597
- y :: str
1598
- L0:
1599
- return 1
1600
- def g(a):
1601
- a :: __main__.A
1602
- r0 :: str
1603
- r1 :: None
1604
- r2 :: str
1605
- r3 :: None
1606
- L0:
1607
- r0 = 'a'
1608
- r1 = a.f(0, r0)
1609
- r2 = 'b'
1610
- r3 = a.f(2, r2)
1611
- return 1
1612
-
1613
- [case testStarArgs]
1614
- from typing import Tuple
1615
- def f(a: int, b: int, c: int) -> Tuple[int, int, int]:
1616
- return a, b, c
1617
- def g() -> Tuple[int, int, int]:
1618
- return f(*(1, 2, 3))
1619
- def h() -> Tuple[int, int, int]:
1620
- return f(1, *(2, 3))
1621
- [out]
1622
- def f(a, b, c):
1623
- a, b, c :: int
1624
- r0 :: tuple[int, int, int]
1625
- L0:
1626
- r0 = (a, b, c)
1627
- return r0
1628
- def g():
1629
- r0 :: tuple[int, int, int]
1630
- r1 :: dict
1631
- r2 :: str
1632
- r3 :: object
1633
- r4 :: list
1634
- r5, r6 :: object
1635
- r7 :: tuple
1636
- r8 :: dict
1637
- r9 :: object
1638
- r10 :: tuple[int, int, int]
1639
- L0:
1640
- r0 = (2, 4, 6)
1641
- r1 = __main__.globals :: static
1642
- r2 = 'f'
1643
- r3 = CPyDict_GetItem(r1, r2)
1644
- r4 = PyList_New(0)
1645
- r5 = box(tuple[int, int, int], r0)
1646
- r6 = CPyList_Extend(r4, r5)
1647
- r7 = PyList_AsTuple(r4)
1648
- r8 = PyDict_New()
1649
- r9 = PyObject_Call(r3, r7, r8)
1650
- r10 = unbox(tuple[int, int, int], r9)
1651
- return r10
1652
- def h():
1653
- r0 :: tuple[int, int]
1654
- r1 :: dict
1655
- r2 :: str
1656
- r3 :: object
1657
- r4 :: list
1658
- r5 :: object
1659
- r6 :: ptr
1660
- r7, r8 :: object
1661
- r9 :: tuple
1662
- r10 :: dict
1663
- r11 :: object
1664
- r12 :: tuple[int, int, int]
1665
- L0:
1666
- r0 = (4, 6)
1667
- r1 = __main__.globals :: static
1668
- r2 = 'f'
1669
- r3 = CPyDict_GetItem(r1, r2)
1670
- r4 = PyList_New(1)
1671
- r5 = object 1
1672
- r6 = list_items r4
1673
- buf_init_item r6, 0, r5
1674
- keep_alive r4
1675
- r7 = box(tuple[int, int], r0)
1676
- r8 = CPyList_Extend(r4, r7)
1677
- r9 = PyList_AsTuple(r4)
1678
- r10 = PyDict_New()
1679
- r11 = PyObject_Call(r3, r9, r10)
1680
- r12 = unbox(tuple[int, int, int], r11)
1681
- return r12
1682
-
1683
- [case testStar2Args]
1684
- from typing import Tuple
1685
- def f(a: int, b: int, c: int) -> Tuple[int, int, int]:
1686
- return a, b, c
1687
- def g() -> Tuple[int, int, int]:
1688
- return f(**{'a': 1, 'b': 2, 'c': 3})
1689
- def h() -> Tuple[int, int, int]:
1690
- return f(1, **{'b': 2, 'c': 3})
1691
- [out]
1692
- def f(a, b, c):
1693
- a, b, c :: int
1694
- r0 :: tuple[int, int, int]
1695
- L0:
1696
- r0 = (a, b, c)
1697
- return r0
1698
- def g():
1699
- r0, r1, r2 :: str
1700
- r3, r4, r5 :: object
1701
- r6, r7 :: dict
1702
- r8 :: str
1703
- r9 :: object
1704
- r10 :: dict
1705
- r11 :: i32
1706
- r12 :: bit
1707
- r13 :: tuple
1708
- r14 :: object
1709
- r15 :: tuple[int, int, int]
1710
- L0:
1711
- r0 = 'a'
1712
- r1 = 'b'
1713
- r2 = 'c'
1714
- r3 = object 1
1715
- r4 = object 2
1716
- r5 = object 3
1717
- r6 = CPyDict_Build(3, r0, r3, r1, r4, r2, r5)
1718
- r7 = __main__.globals :: static
1719
- r8 = 'f'
1720
- r9 = CPyDict_GetItem(r7, r8)
1721
- r10 = PyDict_New()
1722
- r11 = CPyDict_UpdateInDisplay(r10, r6)
1723
- r12 = r11 >= 0 :: signed
1724
- r13 = PyTuple_Pack(0)
1725
- r14 = PyObject_Call(r9, r13, r10)
1726
- r15 = unbox(tuple[int, int, int], r14)
1727
- return r15
1728
- def h():
1729
- r0, r1 :: str
1730
- r2, r3 :: object
1731
- r4, r5 :: dict
1732
- r6 :: str
1733
- r7 :: object
1734
- r8 :: dict
1735
- r9 :: i32
1736
- r10 :: bit
1737
- r11 :: object
1738
- r12 :: tuple
1739
- r13 :: object
1740
- r14 :: tuple[int, int, int]
1741
- L0:
1742
- r0 = 'b'
1743
- r1 = 'c'
1744
- r2 = object 2
1745
- r3 = object 3
1746
- r4 = CPyDict_Build(2, r0, r2, r1, r3)
1747
- r5 = __main__.globals :: static
1748
- r6 = 'f'
1749
- r7 = CPyDict_GetItem(r5, r6)
1750
- r8 = PyDict_New()
1751
- r9 = CPyDict_UpdateInDisplay(r8, r4)
1752
- r10 = r9 >= 0 :: signed
1753
- r11 = object 1
1754
- r12 = PyTuple_Pack(1, r11)
1755
- r13 = PyObject_Call(r7, r12, r8)
1756
- r14 = unbox(tuple[int, int, int], r13)
1757
- return r14
1758
-
1759
- [case testFunctionCallWithDefaultArgs]
1760
- def f(x: int, y: int = 3, z: str = "test") -> None:
1761
- return None
1762
-
1763
- def g() -> None:
1764
- f(2)
1765
- f(y = 3, x = 6)
1766
- [out]
1767
- def f(x, y, z):
1768
- x, y :: int
1769
- z, r0 :: str
1770
- L0:
1771
- if is_error(y) goto L1 else goto L2
1772
- L1:
1773
- y = 6
1774
- L2:
1775
- if is_error(z) goto L3 else goto L4
1776
- L3:
1777
- r0 = 'test'
1778
- z = r0
1779
- L4:
1780
- return 1
1781
- def g():
1782
- r0 :: int
1783
- r1 :: str
1784
- r2 :: None
1785
- r3 :: str
1786
- r4 :: None
1787
- L0:
1788
- r0 = <error> :: int
1789
- r1 = <error> :: str
1790
- r2 = f(4, r0, r1)
1791
- r3 = <error> :: str
1792
- r4 = f(12, 6, r3)
1793
- return 1
1794
-
1795
- [case testMethodCallWithDefaultArgs]
1796
- class A:
1797
- def f(self, x: int, y: int = 3, z: str = "test") -> None:
1798
- return None
1799
-
1800
- def g() -> None:
1801
- a = A()
1802
- a.f(2)
1803
- a.f(y = 3, x = 6)
1804
- [out]
1805
- def A.f(self, x, y, z):
1806
- self :: __main__.A
1807
- x, y :: int
1808
- z, r0 :: str
1809
- L0:
1810
- if is_error(y) goto L1 else goto L2
1811
- L1:
1812
- y = 6
1813
- L2:
1814
- if is_error(z) goto L3 else goto L4
1815
- L3:
1816
- r0 = 'test'
1817
- z = r0
1818
- L4:
1819
- return 1
1820
- def g():
1821
- r0, a :: __main__.A
1822
- r1 :: int
1823
- r2 :: str
1824
- r3 :: None
1825
- r4 :: str
1826
- r5 :: None
1827
- L0:
1828
- r0 = A()
1829
- a = r0
1830
- r1 = <error> :: int
1831
- r2 = <error> :: str
1832
- r3 = a.f(4, r1, r2)
1833
- r4 = <error> :: str
1834
- r5 = a.f(12, 6, r4)
1835
- return 1
1836
-
1837
- [case testListComprehension]
1838
- from typing import List
1839
-
1840
- def f() -> List[int]:
1841
- return [x*x for x in [1,2,3] if x != 2 if x != 3]
1842
- [out]
1843
- def f():
1844
- r0, r1 :: list
1845
- r2, r3, r4 :: object
1846
- r5 :: ptr
1847
- r6 :: short_int
1848
- r7 :: native_int
1849
- r8 :: short_int
1850
- r9 :: bit
1851
- r10 :: object
1852
- r11, x :: int
1853
- r12, r13 :: bit
1854
- r14 :: int
1855
- r15 :: object
1856
- r16 :: i32
1857
- r17 :: bit
1858
- r18 :: short_int
1859
- L0:
1860
- r0 = PyList_New(0)
1861
- r1 = PyList_New(3)
1862
- r2 = object 1
1863
- r3 = object 2
1864
- r4 = object 3
1865
- r5 = list_items r1
1866
- buf_init_item r5, 0, r2
1867
- buf_init_item r5, 1, r3
1868
- buf_init_item r5, 2, r4
1869
- keep_alive r1
1870
- r6 = 0
1871
- L1:
1872
- r7 = var_object_size r1
1873
- r8 = r7 << 1
1874
- r9 = int_lt r6, r8
1875
- if r9 goto L2 else goto L8 :: bool
1876
- L2:
1877
- r10 = CPyList_GetItemUnsafe(r1, r6)
1878
- r11 = unbox(int, r10)
1879
- x = r11
1880
- r12 = int_ne x, 4
1881
- if r12 goto L4 else goto L3 :: bool
1882
- L3:
1883
- goto L7
1884
- L4:
1885
- r13 = int_ne x, 6
1886
- if r13 goto L6 else goto L5 :: bool
1887
- L5:
1888
- goto L7
1889
- L6:
1890
- r14 = CPyTagged_Multiply(x, x)
1891
- r15 = box(int, r14)
1892
- r16 = PyList_Append(r0, r15)
1893
- r17 = r16 >= 0 :: signed
1894
- L7:
1895
- r18 = r6 + 2
1896
- r6 = r18
1897
- goto L1
1898
- L8:
1899
- return r0
1900
-
1901
- [case testDictComprehension]
1902
- from typing import Dict
1903
- def f() -> Dict[int, int]:
1904
- return {x: x*x for x in [1,2,3] if x != 2 if x != 3}
1905
- [out]
1906
- def f():
1907
- r0 :: dict
1908
- r1 :: list
1909
- r2, r3, r4 :: object
1910
- r5 :: ptr
1911
- r6 :: short_int
1912
- r7 :: native_int
1913
- r8 :: short_int
1914
- r9 :: bit
1915
- r10 :: object
1916
- r11, x :: int
1917
- r12, r13 :: bit
1918
- r14 :: int
1919
- r15, r16 :: object
1920
- r17 :: i32
1921
- r18 :: bit
1922
- r19 :: short_int
1923
- L0:
1924
- r0 = PyDict_New()
1925
- r1 = PyList_New(3)
1926
- r2 = object 1
1927
- r3 = object 2
1928
- r4 = object 3
1929
- r5 = list_items r1
1930
- buf_init_item r5, 0, r2
1931
- buf_init_item r5, 1, r3
1932
- buf_init_item r5, 2, r4
1933
- keep_alive r1
1934
- r6 = 0
1935
- L1:
1936
- r7 = var_object_size r1
1937
- r8 = r7 << 1
1938
- r9 = int_lt r6, r8
1939
- if r9 goto L2 else goto L8 :: bool
1940
- L2:
1941
- r10 = CPyList_GetItemUnsafe(r1, r6)
1942
- r11 = unbox(int, r10)
1943
- x = r11
1944
- r12 = int_ne x, 4
1945
- if r12 goto L4 else goto L3 :: bool
1946
- L3:
1947
- goto L7
1948
- L4:
1949
- r13 = int_ne x, 6
1950
- if r13 goto L6 else goto L5 :: bool
1951
- L5:
1952
- goto L7
1953
- L6:
1954
- r14 = CPyTagged_Multiply(x, x)
1955
- r15 = box(int, x)
1956
- r16 = box(int, r14)
1957
- r17 = CPyDict_SetItem(r0, r15, r16)
1958
- r18 = r17 >= 0 :: signed
1959
- L7:
1960
- r19 = r6 + 2
1961
- r6 = r19
1962
- goto L1
1963
- L8:
1964
- return r0
1965
-
1966
- [case testLoopsMultipleAssign]
1967
- from typing import List, Tuple
1968
- def f(l: List[Tuple[int, int, int]]) -> List[int]:
1969
- for x, y, z in l:
1970
- pass
1971
- return [x+y+z for x, y, z in l]
1972
- [out]
1973
- def f(l):
1974
- l :: list
1975
- r0 :: short_int
1976
- r1 :: native_int
1977
- r2 :: short_int
1978
- r3 :: bit
1979
- r4 :: object
1980
- r5 :: tuple[int, int, int]
1981
- r6, x, r7, y, r8, z :: int
1982
- r9 :: short_int
1983
- r10 :: native_int
1984
- r11 :: list
1985
- r12 :: short_int
1986
- r13 :: native_int
1987
- r14 :: short_int
1988
- r15 :: bit
1989
- r16 :: object
1990
- r17 :: tuple[int, int, int]
1991
- r18, x_2, r19, y_2, r20, z_2, r21, r22 :: int
1992
- r23 :: object
1993
- r24 :: bit
1994
- r25 :: short_int
1995
- L0:
1996
- r0 = 0
1997
- L1:
1998
- r1 = var_object_size l
1999
- r2 = r1 << 1
2000
- r3 = int_lt r0, r2
2001
- if r3 goto L2 else goto L4 :: bool
2002
- L2:
2003
- r4 = CPyList_GetItemUnsafe(l, r0)
2004
- r5 = unbox(tuple[int, int, int], r4)
2005
- r6 = r5[0]
2006
- x = r6
2007
- r7 = r5[1]
2008
- y = r7
2009
- r8 = r5[2]
2010
- z = r8
2011
- L3:
2012
- r9 = r0 + 2
2013
- r0 = r9
2014
- goto L1
2015
- L4:
2016
- r10 = var_object_size l
2017
- r11 = PyList_New(r10)
2018
- r12 = 0
2019
- L5:
2020
- r13 = var_object_size l
2021
- r14 = r13 << 1
2022
- r15 = int_lt r12, r14
2023
- if r15 goto L6 else goto L8 :: bool
2024
- L6:
2025
- r16 = CPyList_GetItemUnsafe(l, r12)
2026
- r17 = unbox(tuple[int, int, int], r16)
2027
- r18 = r17[0]
2028
- x_2 = r18
2029
- r19 = r17[1]
2030
- y_2 = r19
2031
- r20 = r17[2]
2032
- z_2 = r20
2033
- r21 = CPyTagged_Add(x_2, y_2)
2034
- r22 = CPyTagged_Add(r21, z_2)
2035
- r23 = box(int, r22)
2036
- r24 = CPyList_SetItemUnsafe(r11, r12, r23)
2037
- L7:
2038
- r25 = r12 + 2
2039
- r12 = r25
2040
- goto L5
2041
- L8:
2042
- return r11
2043
-
2044
- [case testProperty]
2045
- class PropertyHolder:
2046
- @property
2047
- def value(self) -> int:
2048
- return self.left + self.right if self.is_add else self.left - self.right
2049
- def __init__(self, left: int, right: int, is_add: bool) -> None:
2050
- self.left = left
2051
- self.right = right
2052
- self.is_add = is_add
2053
- def twice_value(self) -> int:
2054
- return 2 * self.value
2055
- [out]
2056
- def PropertyHolder.value(self):
2057
- self :: __main__.PropertyHolder
2058
- r0 :: bool
2059
- r1, r2, r3, r4, r5, r6, r7 :: int
2060
- L0:
2061
- r0 = self.is_add
2062
- if r0 goto L1 else goto L2 :: bool
2063
- L1:
2064
- r1 = borrow self.left
2065
- r2 = borrow self.right
2066
- r3 = CPyTagged_Add(r1, r2)
2067
- keep_alive self, self
2068
- r4 = r3
2069
- goto L3
2070
- L2:
2071
- r5 = borrow self.left
2072
- r6 = borrow self.right
2073
- r7 = CPyTagged_Subtract(r5, r6)
2074
- keep_alive self, self
2075
- r4 = r7
2076
- L3:
2077
- return r4
2078
- def PropertyHolder.__init__(self, left, right, is_add):
2079
- self :: __main__.PropertyHolder
2080
- left, right :: int
2081
- is_add :: bool
2082
- L0:
2083
- self.left = left
2084
- self.right = right
2085
- self.is_add = is_add
2086
- return 1
2087
- def PropertyHolder.twice_value(self):
2088
- self :: __main__.PropertyHolder
2089
- r0, r1 :: int
2090
- L0:
2091
- r0 = self.value
2092
- r1 = CPyTagged_Multiply(4, r0)
2093
- return r1
2094
-
2095
- [case testNativeIndex]
2096
- from typing import List
2097
- class A:
2098
- def __getitem__(self, index: int) -> int: pass
2099
-
2100
- def g(a: A, b: List[int], c: int) -> int:
2101
- return a[c] + b[c]
2102
- [out]
2103
- def A.__getitem__(self, index):
2104
- self :: __main__.A
2105
- index :: int
2106
- L0:
2107
- unreachable
2108
- def g(a, b, c):
2109
- a :: __main__.A
2110
- b :: list
2111
- c, r0 :: int
2112
- r1 :: object
2113
- r2, r3 :: int
2114
- L0:
2115
- r0 = a.__getitem__(c)
2116
- r1 = CPyList_GetItemBorrow(b, c)
2117
- r2 = unbox(int, r1)
2118
- r3 = CPyTagged_Add(r0, r2)
2119
- keep_alive b, c
2120
- return r3
2121
-
2122
- [case testTypeAlias_toplevel]
2123
- from typing import List, NewType, NamedTuple
2124
- Lol = NamedTuple('Lol', (('a', int), ('b', str)))
2125
- x = Lol(1, '')
2126
- Foo = List[int]
2127
- Bar = NewType('Bar', Foo)
2128
- y = Bar([1,2,3])
2129
- [out]
2130
- def __top_level__():
2131
- r0, r1 :: object
2132
- r2 :: bit
2133
- r3 :: str
2134
- r4, r5 :: object
2135
- r6 :: str
2136
- r7 :: dict
2137
- r8 :: object
2138
- r9, r10 :: str
2139
- r11 :: object
2140
- r12 :: tuple[str, object]
2141
- r13 :: object
2142
- r14 :: str
2143
- r15 :: object
2144
- r16 :: tuple[str, object]
2145
- r17 :: object
2146
- r18 :: tuple[object, object]
2147
- r19 :: object
2148
- r20 :: dict
2149
- r21 :: str
2150
- r22, r23 :: object
2151
- r24 :: dict
2152
- r25 :: str
2153
- r26 :: i32
2154
- r27 :: bit
2155
- r28 :: str
2156
- r29 :: dict
2157
- r30 :: str
2158
- r31, r32, r33 :: object
2159
- r34 :: tuple
2160
- r35 :: dict
2161
- r36 :: str
2162
- r37 :: i32
2163
- r38 :: bit
2164
- r39 :: dict
2165
- r40 :: str
2166
- r41, r42, r43 :: object
2167
- r44 :: dict
2168
- r45 :: str
2169
- r46 :: i32
2170
- r47 :: bit
2171
- r48 :: str
2172
- r49 :: dict
2173
- r50 :: str
2174
- r51 :: object
2175
- r52 :: dict
2176
- r53 :: str
2177
- r54, r55 :: object
2178
- r56 :: dict
2179
- r57 :: str
2180
- r58 :: i32
2181
- r59 :: bit
2182
- r60 :: list
2183
- r61, r62, r63 :: object
2184
- r64 :: ptr
2185
- r65 :: dict
2186
- r66 :: str
2187
- r67 :: i32
2188
- r68 :: bit
2189
- L0:
2190
- r0 = builtins :: module
2191
- r1 = load_address _Py_NoneStruct
2192
- r2 = r0 != r1
2193
- if r2 goto L2 else goto L1 :: bool
2194
- L1:
2195
- r3 = 'builtins'
2196
- r4 = PyImport_Import(r3)
2197
- builtins = r4 :: module
2198
- L2:
2199
- r5 = ('List', 'NewType', 'NamedTuple')
2200
- r6 = 'typing'
2201
- r7 = __main__.globals :: static
2202
- r8 = CPyImport_ImportFromMany(r6, r5, r5, r7)
2203
- typing = r8 :: module
2204
- r9 = 'Lol'
2205
- r10 = 'a'
2206
- r11 = load_address PyLong_Type
2207
- r12 = (r10, r11)
2208
- r13 = box(tuple[str, object], r12)
2209
- r14 = 'b'
2210
- r15 = load_address PyUnicode_Type
2211
- r16 = (r14, r15)
2212
- r17 = box(tuple[str, object], r16)
2213
- r18 = (r13, r17)
2214
- r19 = box(tuple[object, object], r18)
2215
- r20 = __main__.globals :: static
2216
- r21 = 'NamedTuple'
2217
- r22 = CPyDict_GetItem(r20, r21)
2218
- r23 = PyObject_CallFunctionObjArgs(r22, r9, r19, 0)
2219
- r24 = __main__.globals :: static
2220
- r25 = 'Lol'
2221
- r26 = CPyDict_SetItem(r24, r25, r23)
2222
- r27 = r26 >= 0 :: signed
2223
- r28 = ''
2224
- r29 = __main__.globals :: static
2225
- r30 = 'Lol'
2226
- r31 = CPyDict_GetItem(r29, r30)
2227
- r32 = object 1
2228
- r33 = PyObject_CallFunctionObjArgs(r31, r32, r28, 0)
2229
- r34 = cast(tuple, r33)
2230
- r35 = __main__.globals :: static
2231
- r36 = 'x'
2232
- r37 = CPyDict_SetItem(r35, r36, r34)
2233
- r38 = r37 >= 0 :: signed
2234
- r39 = __main__.globals :: static
2235
- r40 = 'List'
2236
- r41 = CPyDict_GetItem(r39, r40)
2237
- r42 = load_address PyLong_Type
2238
- r43 = PyObject_GetItem(r41, r42)
2239
- r44 = __main__.globals :: static
2240
- r45 = 'Foo'
2241
- r46 = CPyDict_SetItem(r44, r45, r43)
2242
- r47 = r46 >= 0 :: signed
2243
- r48 = 'Bar'
2244
- r49 = __main__.globals :: static
2245
- r50 = 'Foo'
2246
- r51 = CPyDict_GetItem(r49, r50)
2247
- r52 = __main__.globals :: static
2248
- r53 = 'NewType'
2249
- r54 = CPyDict_GetItem(r52, r53)
2250
- r55 = PyObject_CallFunctionObjArgs(r54, r48, r51, 0)
2251
- r56 = __main__.globals :: static
2252
- r57 = 'Bar'
2253
- r58 = CPyDict_SetItem(r56, r57, r55)
2254
- r59 = r58 >= 0 :: signed
2255
- r60 = PyList_New(3)
2256
- r61 = object 1
2257
- r62 = object 2
2258
- r63 = object 3
2259
- r64 = list_items r60
2260
- buf_init_item r64, 0, r61
2261
- buf_init_item r64, 1, r62
2262
- buf_init_item r64, 2, r63
2263
- keep_alive r60
2264
- r65 = __main__.globals :: static
2265
- r66 = 'y'
2266
- r67 = CPyDict_SetItem(r65, r66, r60)
2267
- r68 = r67 >= 0 :: signed
2268
- return 1
2269
-
2270
- [case testChainedConditional]
2271
- def g(x: int) -> int:
2272
- return x
2273
- def f(x: int, y: int, z: int) -> bool:
2274
- return g(x) < g(y) > g(z)
2275
- [out]
2276
- def g(x):
2277
- x :: int
2278
- L0:
2279
- return x
2280
- def f(x, y, z):
2281
- x, y, z, r0, r1 :: int
2282
- r2 :: bit
2283
- r3 :: bool
2284
- r4 :: int
2285
- r5 :: bit
2286
- L0:
2287
- r0 = g(x)
2288
- r1 = g(y)
2289
- r2 = int_lt r0, r1
2290
- if r2 goto L2 else goto L1 :: bool
2291
- L1:
2292
- r3 = r2
2293
- goto L3
2294
- L2:
2295
- r4 = g(z)
2296
- r5 = int_gt r1, r4
2297
- r3 = r5
2298
- L3:
2299
- return r3
2300
-
2301
- [case testEq]
2302
- class A:
2303
- def __eq__(self, x: object) -> bool:
2304
- return NotImplemented
2305
- [out]
2306
- def A.__eq__(self, x):
2307
- self :: __main__.A
2308
- x, r0 :: object
2309
- L0:
2310
- r0 = load_address _Py_NotImplementedStruct
2311
- return r0
2312
- def A.__ne__(__mypyc_self__, rhs):
2313
- __mypyc_self__ :: __main__.A
2314
- rhs, r0, r1 :: object
2315
- r2 :: bit
2316
- r3 :: i32
2317
- r4 :: bit
2318
- r5 :: bool
2319
- r6 :: object
2320
- L0:
2321
- r0 = __mypyc_self__.__eq__(rhs)
2322
- r1 = load_address _Py_NotImplementedStruct
2323
- r2 = r0 == r1
2324
- if r2 goto L2 else goto L1 :: bool
2325
- L1:
2326
- r3 = PyObject_Not(r0)
2327
- r4 = r3 >= 0 :: signed
2328
- r5 = truncate r3: i32 to builtins.bool
2329
- r6 = box(bool, r5)
2330
- return r6
2331
- L2:
2332
- return r1
2333
-
2334
- [case testDecorators_toplevel]
2335
- from typing import Callable
2336
-
2337
- def a(f: Callable[[], None]) -> Callable[[], None]:
2338
- def g() -> None:
2339
- print('Entering')
2340
- f()
2341
- print('Exited')
2342
- return g
2343
-
2344
- def b(f: Callable[[], None]) -> Callable[[], None]:
2345
- def g() -> None:
2346
- print('---')
2347
- f()
2348
- print('---')
2349
- return g
2350
-
2351
- @a
2352
- @b
2353
- def c() -> None:
2354
- @a
2355
- @b
2356
- def d() -> None:
2357
- print('d')
2358
- print('c')
2359
- d()
2360
-
2361
- [out]
2362
- def g_a_obj.__get__(__mypyc_self__, instance, owner):
2363
- __mypyc_self__, instance, owner, r0 :: object
2364
- r1 :: bit
2365
- r2 :: object
2366
- L0:
2367
- r0 = load_address _Py_NoneStruct
2368
- r1 = instance == r0
2369
- if r1 goto L1 else goto L2 :: bool
2370
- L1:
2371
- return __mypyc_self__
2372
- L2:
2373
- r2 = PyMethod_New(__mypyc_self__, instance)
2374
- return r2
2375
- def g_a_obj.__call__(__mypyc_self__):
2376
- __mypyc_self__ :: __main__.g_a_obj
2377
- r0 :: __main__.a_env
2378
- r1 :: str
2379
- r2 :: object
2380
- r3 :: str
2381
- r4, r5, r6, r7 :: object
2382
- r8 :: str
2383
- r9 :: object
2384
- r10 :: str
2385
- r11, r12 :: object
2386
- L0:
2387
- r0 = __mypyc_self__.__mypyc_env__
2388
- r1 = 'Entering'
2389
- r2 = builtins :: module
2390
- r3 = 'print'
2391
- r4 = CPyObject_GetAttr(r2, r3)
2392
- r5 = PyObject_CallFunctionObjArgs(r4, r1, 0)
2393
- r6 = r0.f
2394
- r7 = PyObject_CallFunctionObjArgs(r6, 0)
2395
- r8 = 'Exited'
2396
- r9 = builtins :: module
2397
- r10 = 'print'
2398
- r11 = CPyObject_GetAttr(r9, r10)
2399
- r12 = PyObject_CallFunctionObjArgs(r11, r8, 0)
2400
- return 1
2401
- def a(f):
2402
- f :: object
2403
- r0 :: __main__.a_env
2404
- r1 :: bool
2405
- r2 :: __main__.g_a_obj
2406
- r3 :: bool
2407
- g :: object
2408
- L0:
2409
- r0 = a_env()
2410
- r0.f = f; r1 = is_error
2411
- r2 = g_a_obj()
2412
- r2.__mypyc_env__ = r0; r3 = is_error
2413
- g = r2
2414
- return g
2415
- def g_b_obj.__get__(__mypyc_self__, instance, owner):
2416
- __mypyc_self__, instance, owner, r0 :: object
2417
- r1 :: bit
2418
- r2 :: object
2419
- L0:
2420
- r0 = load_address _Py_NoneStruct
2421
- r1 = instance == r0
2422
- if r1 goto L1 else goto L2 :: bool
2423
- L1:
2424
- return __mypyc_self__
2425
- L2:
2426
- r2 = PyMethod_New(__mypyc_self__, instance)
2427
- return r2
2428
- def g_b_obj.__call__(__mypyc_self__):
2429
- __mypyc_self__ :: __main__.g_b_obj
2430
- r0 :: __main__.b_env
2431
- r1 :: str
2432
- r2 :: object
2433
- r3 :: str
2434
- r4, r5, r6, r7 :: object
2435
- r8 :: str
2436
- r9 :: object
2437
- r10 :: str
2438
- r11, r12 :: object
2439
- L0:
2440
- r0 = __mypyc_self__.__mypyc_env__
2441
- r1 = '---'
2442
- r2 = builtins :: module
2443
- r3 = 'print'
2444
- r4 = CPyObject_GetAttr(r2, r3)
2445
- r5 = PyObject_CallFunctionObjArgs(r4, r1, 0)
2446
- r6 = r0.f
2447
- r7 = PyObject_CallFunctionObjArgs(r6, 0)
2448
- r8 = '---'
2449
- r9 = builtins :: module
2450
- r10 = 'print'
2451
- r11 = CPyObject_GetAttr(r9, r10)
2452
- r12 = PyObject_CallFunctionObjArgs(r11, r8, 0)
2453
- return 1
2454
- def b(f):
2455
- f :: object
2456
- r0 :: __main__.b_env
2457
- r1 :: bool
2458
- r2 :: __main__.g_b_obj
2459
- r3 :: bool
2460
- g :: object
2461
- L0:
2462
- r0 = b_env()
2463
- r0.f = f; r1 = is_error
2464
- r2 = g_b_obj()
2465
- r2.__mypyc_env__ = r0; r3 = is_error
2466
- g = r2
2467
- return g
2468
- def d_c_obj.__get__(__mypyc_self__, instance, owner):
2469
- __mypyc_self__, instance, owner, r0 :: object
2470
- r1 :: bit
2471
- r2 :: object
2472
- L0:
2473
- r0 = load_address _Py_NoneStruct
2474
- r1 = instance == r0
2475
- if r1 goto L1 else goto L2 :: bool
2476
- L1:
2477
- return __mypyc_self__
2478
- L2:
2479
- r2 = PyMethod_New(__mypyc_self__, instance)
2480
- return r2
2481
- def d_c_obj.__call__(__mypyc_self__):
2482
- __mypyc_self__ :: __main__.d_c_obj
2483
- r0 :: __main__.c_env
2484
- r1 :: str
2485
- r2 :: object
2486
- r3 :: str
2487
- r4, r5 :: object
2488
- L0:
2489
- r0 = __mypyc_self__.__mypyc_env__
2490
- r1 = 'd'
2491
- r2 = builtins :: module
2492
- r3 = 'print'
2493
- r4 = CPyObject_GetAttr(r2, r3)
2494
- r5 = PyObject_CallFunctionObjArgs(r4, r1, 0)
2495
- return 1
2496
- def c():
2497
- r0 :: __main__.c_env
2498
- r1 :: __main__.d_c_obj
2499
- r2 :: bool
2500
- r3 :: dict
2501
- r4 :: str
2502
- r5, r6 :: object
2503
- r7 :: dict
2504
- r8 :: str
2505
- r9, r10, d :: object
2506
- r11 :: dict
2507
- r12 :: str
2508
- r13 :: i32
2509
- r14 :: bit
2510
- r15 :: str
2511
- r16 :: object
2512
- r17 :: str
2513
- r18, r19, r20 :: object
2514
- L0:
2515
- r0 = c_env()
2516
- r1 = d_c_obj()
2517
- r1.__mypyc_env__ = r0; r2 = is_error
2518
- r3 = __main__.globals :: static
2519
- r4 = 'b'
2520
- r5 = CPyDict_GetItem(r3, r4)
2521
- r6 = PyObject_CallFunctionObjArgs(r5, r1, 0)
2522
- r7 = __main__.globals :: static
2523
- r8 = 'a'
2524
- r9 = CPyDict_GetItem(r7, r8)
2525
- r10 = PyObject_CallFunctionObjArgs(r9, r6, 0)
2526
- d = r10
2527
- r11 = __main__.globals :: static
2528
- r12 = 'd'
2529
- r13 = CPyDict_SetItem(r11, r12, r10)
2530
- r14 = r13 >= 0 :: signed
2531
- r15 = 'c'
2532
- r16 = builtins :: module
2533
- r17 = 'print'
2534
- r18 = CPyObject_GetAttr(r16, r17)
2535
- r19 = PyObject_CallFunctionObjArgs(r18, r15, 0)
2536
- r20 = PyObject_CallFunctionObjArgs(d, 0)
2537
- return 1
2538
- def __top_level__():
2539
- r0, r1 :: object
2540
- r2 :: bit
2541
- r3 :: str
2542
- r4, r5 :: object
2543
- r6 :: str
2544
- r7 :: dict
2545
- r8 :: object
2546
- r9 :: dict
2547
- r10 :: str
2548
- r11 :: object
2549
- r12 :: dict
2550
- r13 :: str
2551
- r14, r15 :: object
2552
- r16 :: dict
2553
- r17 :: str
2554
- r18, r19 :: object
2555
- r20 :: dict
2556
- r21 :: str
2557
- r22 :: i32
2558
- r23 :: bit
2559
- L0:
2560
- r0 = builtins :: module
2561
- r1 = load_address _Py_NoneStruct
2562
- r2 = r0 != r1
2563
- if r2 goto L2 else goto L1 :: bool
2564
- L1:
2565
- r3 = 'builtins'
2566
- r4 = PyImport_Import(r3)
2567
- builtins = r4 :: module
2568
- L2:
2569
- r5 = ('Callable',)
2570
- r6 = 'typing'
2571
- r7 = __main__.globals :: static
2572
- r8 = CPyImport_ImportFromMany(r6, r5, r5, r7)
2573
- typing = r8 :: module
2574
- r9 = __main__.globals :: static
2575
- r10 = 'c'
2576
- r11 = CPyDict_GetItem(r9, r10)
2577
- r12 = __main__.globals :: static
2578
- r13 = 'b'
2579
- r14 = CPyDict_GetItem(r12, r13)
2580
- r15 = PyObject_CallFunctionObjArgs(r14, r11, 0)
2581
- r16 = __main__.globals :: static
2582
- r17 = 'a'
2583
- r18 = CPyDict_GetItem(r16, r17)
2584
- r19 = PyObject_CallFunctionObjArgs(r18, r15, 0)
2585
- r20 = __main__.globals :: static
2586
- r21 = 'c'
2587
- r22 = CPyDict_SetItem(r20, r21, r19)
2588
- r23 = r22 >= 0 :: signed
2589
- return 1
2590
-
2591
- [case testDecoratorsSimple_toplevel]
2592
- from typing import Callable
2593
-
2594
- def a(f: Callable[[], None]) -> Callable[[], None]:
2595
- def g() -> None:
2596
- print('Entering')
2597
- f()
2598
- print('Exited')
2599
- return g
2600
-
2601
- [out]
2602
- def g_a_obj.__get__(__mypyc_self__, instance, owner):
2603
- __mypyc_self__, instance, owner, r0 :: object
2604
- r1 :: bit
2605
- r2 :: object
2606
- L0:
2607
- r0 = load_address _Py_NoneStruct
2608
- r1 = instance == r0
2609
- if r1 goto L1 else goto L2 :: bool
2610
- L1:
2611
- return __mypyc_self__
2612
- L2:
2613
- r2 = PyMethod_New(__mypyc_self__, instance)
2614
- return r2
2615
- def g_a_obj.__call__(__mypyc_self__):
2616
- __mypyc_self__ :: __main__.g_a_obj
2617
- r0 :: __main__.a_env
2618
- r1 :: str
2619
- r2 :: object
2620
- r3 :: str
2621
- r4, r5, r6, r7 :: object
2622
- r8 :: str
2623
- r9 :: object
2624
- r10 :: str
2625
- r11, r12 :: object
2626
- L0:
2627
- r0 = __mypyc_self__.__mypyc_env__
2628
- r1 = 'Entering'
2629
- r2 = builtins :: module
2630
- r3 = 'print'
2631
- r4 = CPyObject_GetAttr(r2, r3)
2632
- r5 = PyObject_CallFunctionObjArgs(r4, r1, 0)
2633
- r6 = r0.f
2634
- r7 = PyObject_CallFunctionObjArgs(r6, 0)
2635
- r8 = 'Exited'
2636
- r9 = builtins :: module
2637
- r10 = 'print'
2638
- r11 = CPyObject_GetAttr(r9, r10)
2639
- r12 = PyObject_CallFunctionObjArgs(r11, r8, 0)
2640
- return 1
2641
- def a(f):
2642
- f :: object
2643
- r0 :: __main__.a_env
2644
- r1 :: bool
2645
- r2 :: __main__.g_a_obj
2646
- r3 :: bool
2647
- g :: object
2648
- L0:
2649
- r0 = a_env()
2650
- r0.f = f; r1 = is_error
2651
- r2 = g_a_obj()
2652
- r2.__mypyc_env__ = r0; r3 = is_error
2653
- g = r2
2654
- return g
2655
- def __top_level__():
2656
- r0, r1 :: object
2657
- r2 :: bit
2658
- r3 :: str
2659
- r4, r5 :: object
2660
- r6 :: str
2661
- r7 :: dict
2662
- r8 :: object
2663
- L0:
2664
- r0 = builtins :: module
2665
- r1 = load_address _Py_NoneStruct
2666
- r2 = r0 != r1
2667
- if r2 goto L2 else goto L1 :: bool
2668
- L1:
2669
- r3 = 'builtins'
2670
- r4 = PyImport_Import(r3)
2671
- builtins = r4 :: module
2672
- L2:
2673
- r5 = ('Callable',)
2674
- r6 = 'typing'
2675
- r7 = __main__.globals :: static
2676
- r8 = CPyImport_ImportFromMany(r6, r5, r5, r7)
2677
- typing = r8 :: module
2678
- return 1
2679
-
2680
- [case testAnyAllG]
2681
- from typing import Iterable
2682
-
2683
- def call_any(l: Iterable[int]) -> bool:
2684
- return any(i == 0 for i in l)
2685
-
2686
- def call_all(l: Iterable[int]) -> bool:
2687
- return all(i == 0 for i in l)
2688
-
2689
- [out]
2690
- def call_any(l):
2691
- l :: object
2692
- r0 :: bool
2693
- r1, r2 :: object
2694
- r3, i :: int
2695
- r4, r5 :: bit
2696
- L0:
2697
- r0 = 0
2698
- r1 = PyObject_GetIter(l)
2699
- L1:
2700
- r2 = PyIter_Next(r1)
2701
- if is_error(r2) goto L6 else goto L2
2702
- L2:
2703
- r3 = unbox(int, r2)
2704
- i = r3
2705
- r4 = int_eq i, 0
2706
- if r4 goto L3 else goto L4 :: bool
2707
- L3:
2708
- r0 = 1
2709
- goto L8
2710
- L4:
2711
- L5:
2712
- goto L1
2713
- L6:
2714
- r5 = CPy_NoErrOccured()
2715
- L7:
2716
- L8:
2717
- return r0
2718
- def call_all(l):
2719
- l :: object
2720
- r0 :: bool
2721
- r1, r2 :: object
2722
- r3, i :: int
2723
- r4, r5, r6 :: bit
2724
- L0:
2725
- r0 = 1
2726
- r1 = PyObject_GetIter(l)
2727
- L1:
2728
- r2 = PyIter_Next(r1)
2729
- if is_error(r2) goto L6 else goto L2
2730
- L2:
2731
- r3 = unbox(int, r2)
2732
- i = r3
2733
- r4 = int_eq i, 0
2734
- r5 = r4 ^ 1
2735
- if r5 goto L3 else goto L4 :: bool
2736
- L3:
2737
- r0 = 0
2738
- goto L8
2739
- L4:
2740
- L5:
2741
- goto L1
2742
- L6:
2743
- r6 = CPy_NoErrOccured()
2744
- L7:
2745
- L8:
2746
- return r0
2747
-
2748
- [case testSum]
2749
- from typing import Callable, Iterable
2750
-
2751
- def call_sum(l: Iterable[int], comparison: Callable[[int], bool]) -> int:
2752
- return sum(comparison(x) for x in l)
2753
-
2754
- [out]
2755
- def call_sum(l, comparison):
2756
- l, comparison :: object
2757
- r0 :: int
2758
- r1, r2 :: object
2759
- r3, x :: int
2760
- r4, r5 :: object
2761
- r6, r7 :: bool
2762
- r8, r9 :: int
2763
- r10 :: bit
2764
- L0:
2765
- r0 = 0
2766
- r1 = PyObject_GetIter(l)
2767
- L1:
2768
- r2 = PyIter_Next(r1)
2769
- if is_error(r2) goto L4 else goto L2
2770
- L2:
2771
- r3 = unbox(int, r2)
2772
- x = r3
2773
- r4 = box(int, x)
2774
- r5 = PyObject_CallFunctionObjArgs(comparison, r4, 0)
2775
- r6 = unbox(bool, r5)
2776
- r7 = r6 << 1
2777
- r8 = extend r7: builtins.bool to builtins.int
2778
- r9 = CPyTagged_Add(r0, r8)
2779
- r0 = r9
2780
- L3:
2781
- goto L1
2782
- L4:
2783
- r10 = CPy_NoErrOccured()
2784
- L5:
2785
- return r0
2786
-
2787
- [case testSetAttr1]
2788
- from typing import Any, Dict, List
2789
- def lol(x: Any):
2790
- setattr(x, 'x', '5')
2791
-
2792
- [out]
2793
- def lol(x):
2794
- x :: object
2795
- r0, r1 :: str
2796
- r2 :: i32
2797
- r3 :: bit
2798
- r4 :: object
2799
- L0:
2800
- r0 = 'x'
2801
- r1 = '5'
2802
- r2 = PyObject_SetAttr(x, r0, r1)
2803
- r3 = r2 >= 0 :: signed
2804
- r4 = box(None, 1)
2805
- return r4
2806
-
2807
- [case testFinalModuleInt]
2808
- from typing import Final
2809
-
2810
- x: Final = 1
2811
- y: Final = 2
2812
-
2813
- def f(a: bool) -> int:
2814
- if a:
2815
- return x
2816
- else:
2817
- return y
2818
- [out]
2819
- def f(a):
2820
- a :: bool
2821
- L0:
2822
- if a goto L1 else goto L2 :: bool
2823
- L1:
2824
- return 2
2825
- L2:
2826
- return 4
2827
- L3:
2828
- unreachable
2829
-
2830
- [case testFinalModuleStr]
2831
- from typing import Final
2832
-
2833
- x: Final = 'x'
2834
- y: Final = 'y'
2835
-
2836
- def f(a: bool) -> str:
2837
- if a:
2838
- return x
2839
- else:
2840
- return y
2841
- [out]
2842
- def f(a):
2843
- a :: bool
2844
- r0, r1 :: str
2845
- L0:
2846
- if a goto L1 else goto L2 :: bool
2847
- L1:
2848
- r0 = 'x'
2849
- return r0
2850
- L2:
2851
- r1 = 'y'
2852
- return r1
2853
- L3:
2854
- unreachable
2855
-
2856
- [case testFinalModuleBool]
2857
- from typing import Final
2858
-
2859
- x: Final = True
2860
- y: Final = False
2861
-
2862
- def f(a: bool) -> bool:
2863
- if a:
2864
- return x
2865
- else:
2866
- return y
2867
- [out]
2868
- def f(a):
2869
- a :: bool
2870
- L0:
2871
- if a goto L1 else goto L2 :: bool
2872
- L1:
2873
- return 1
2874
- L2:
2875
- return 0
2876
- L3:
2877
- unreachable
2878
-
2879
- [case testFinalClass]
2880
- from typing import Final
2881
-
2882
- class C:
2883
- x: Final = 1
2884
- y: Final = 2
2885
-
2886
- def f(a: bool) -> int:
2887
- if a:
2888
- return C.x
2889
- else:
2890
- return C.y
2891
- [out]
2892
- def C.__mypyc_defaults_setup(__mypyc_self__):
2893
- __mypyc_self__ :: __main__.C
2894
- L0:
2895
- __mypyc_self__.x = 2
2896
- __mypyc_self__.y = 4
2897
- return 1
2898
- def f(a):
2899
- a :: bool
2900
- L0:
2901
- if a goto L1 else goto L2 :: bool
2902
- L1:
2903
- return 2
2904
- L2:
2905
- return 4
2906
- L3:
2907
- unreachable
2908
-
2909
- [case testFinalStaticList]
2910
- from typing import Final
2911
-
2912
- x: Final = [1]
2913
-
2914
- def f() -> int:
2915
- return x[0]
2916
- [out]
2917
- def f():
2918
- r0 :: list
2919
- r1 :: bool
2920
- r2 :: object
2921
- r3 :: int
2922
- L0:
2923
- r0 = __main__.x :: static
2924
- if is_error(r0) goto L1 else goto L2
2925
- L1:
2926
- r1 = raise NameError('value for final name "x" was not set')
2927
- unreachable
2928
- L2:
2929
- r2 = CPyList_GetItemShort(r0, 0)
2930
- r3 = unbox(int, r2)
2931
- return r3
2932
-
2933
- [case testFinalStaticTuple]
2934
- from typing import Final
2935
-
2936
- x: Final = (1, 2)
2937
-
2938
- def f() -> int:
2939
- return x[0]
2940
- [out]
2941
- def f():
2942
- r0 :: tuple[int, int]
2943
- r1 :: bool
2944
- r2 :: int
2945
- L0:
2946
- r0 = __main__.x :: static
2947
- if is_error(r0) goto L1 else goto L2
2948
- L1:
2949
- r1 = raise NameError('value for final name "x" was not set')
2950
- unreachable
2951
- L2:
2952
- r2 = r0[0]
2953
- return r2
2954
-
2955
- [case testFinalStaticInt]
2956
- from typing import Final
2957
-
2958
- x: Final = 1 + int()
2959
-
2960
- def f() -> int:
2961
- return x - 1
2962
- [out]
2963
- def f():
2964
- r0 :: int
2965
- r1 :: bool
2966
- r2 :: int
2967
- L0:
2968
- r0 = __main__.x :: static
2969
- if is_error(r0) goto L1 else goto L2
2970
- L1:
2971
- r1 = raise NameError('value for final name "x" was not set')
2972
- unreachable
2973
- L2:
2974
- r2 = CPyTagged_Subtract(r0, 2)
2975
- return r2
2976
-
2977
- [case testFinalRestrictedTypeVar]
2978
- from typing import TypeVar
2979
- if False:
2980
- from typing import Final
2981
-
2982
- FOO = 10 # type: Final
2983
-
2984
- Targ = TypeVar('Targ', int, str)
2985
- def foo(z: Targ) -> None:
2986
- FOO
2987
- [out]
2988
- def foo(z):
2989
- z :: object
2990
- L0:
2991
- return 1
2992
-
2993
- [case testFinalLocals]
2994
- from typing import Final
2995
-
2996
- def inlined() -> str:
2997
- # XXX: the final type must be declared explicitly for Var.final_value to be set.
2998
- const: Final[str] = "Oppenheimer"
2999
- return const
3000
-
3001
- def local() -> str:
3002
- const: Final[str] = inlined()
3003
- return const
3004
- [out]
3005
- def inlined():
3006
- r0, const, r1 :: str
3007
- L0:
3008
- r0 = 'Oppenheimer'
3009
- const = r0
3010
- r1 = 'Oppenheimer'
3011
- return r1
3012
- def local():
3013
- r0, const :: str
3014
- L0:
3015
- r0 = inlined()
3016
- const = r0
3017
- return const
3018
-
3019
- [case testDirectlyCall__bool__]
3020
- class A:
3021
- def __bool__(self) -> bool:
3022
- return True
3023
- class B(A):
3024
- def __bool__(self) -> bool:
3025
- return False
3026
-
3027
- def lol(x: A) -> int:
3028
- if x:
3029
- return 1
3030
- else:
3031
- return 0
3032
-
3033
- [out]
3034
- def A.__bool__(self):
3035
- self :: __main__.A
3036
- L0:
3037
- return 1
3038
- def B.__bool__(self):
3039
- self :: __main__.B
3040
- L0:
3041
- return 0
3042
- def lol(x):
3043
- x :: __main__.A
3044
- r0 :: bool
3045
- L0:
3046
- r0 = x.__bool__()
3047
- if r0 goto L1 else goto L2 :: bool
3048
- L1:
3049
- return 2
3050
- L2:
3051
- return 0
3052
- L3:
3053
- unreachable
3054
-
3055
- [case testRevealType]
3056
- def f(x: int) -> None:
3057
- reveal_type(x) # type: ignore
3058
- [out]
3059
- def f(x):
3060
- x :: int
3061
- r0 :: object
3062
- r1 :: str
3063
- r2, r3, r4 :: object
3064
- L0:
3065
- r0 = builtins :: module
3066
- r1 = 'reveal_type'
3067
- r2 = CPyObject_GetAttr(r0, r1)
3068
- r3 = box(int, x)
3069
- r4 = PyObject_CallFunctionObjArgs(r2, r3, 0)
3070
- return 1
3071
-
3072
- [case testCallCWithStrJoinMethod]
3073
- from typing import List
3074
- def f(x: str, y: List[str]) -> str:
3075
- return x.join(y)
3076
- [out]
3077
- def f(x, y):
3078
- x :: str
3079
- y :: list
3080
- r0 :: str
3081
- L0:
3082
- r0 = PyUnicode_Join(x, y)
3083
- return r0
3084
-
3085
- [case testCallCWithToListFunction]
3086
- from typing import List, Iterable, Tuple, Dict
3087
- # generic object
3088
- def f(x: Iterable[int]) -> List[int]:
3089
- return list(x)
3090
-
3091
- # need coercing
3092
- def g(x: Tuple[int, int, int]) -> List[int]:
3093
- return list(x)
3094
-
3095
- # non-list object
3096
- def h(x: Dict[int, str]) -> List[int]:
3097
- return list(x)
3098
-
3099
- [out]
3100
- def f(x):
3101
- x :: object
3102
- r0 :: list
3103
- L0:
3104
- r0 = PySequence_List(x)
3105
- return r0
3106
- def g(x):
3107
- x :: tuple[int, int, int]
3108
- r0 :: object
3109
- r1 :: list
3110
- L0:
3111
- r0 = box(tuple[int, int, int], x)
3112
- r1 = PySequence_List(r0)
3113
- return r1
3114
- def h(x):
3115
- x :: dict
3116
- r0 :: list
3117
- L0:
3118
- r0 = PySequence_List(x)
3119
- return r0
3120
-
3121
- [case testBoolFunction]
3122
- def f(x: object) -> bool:
3123
- return bool(x)
3124
- [out]
3125
- def f(x):
3126
- x :: object
3127
- r0 :: i32
3128
- r1 :: bit
3129
- r2 :: bool
3130
- L0:
3131
- r0 = PyObject_IsTrue(x)
3132
- r1 = r0 >= 0 :: signed
3133
- r2 = truncate r0: i32 to builtins.bool
3134
- return r2
3135
-
3136
- [case testLocalImports]
3137
- def root() -> None:
3138
- import dataclasses
3139
- import enum
3140
-
3141
- def submodule() -> int:
3142
- import p.m
3143
- return p.x
3144
- [file p/__init__.py]
3145
- x = 1
3146
- [file p/m.py]
3147
- [out]
3148
- def root():
3149
- r0 :: dict
3150
- r1, r2 :: object
3151
- r3 :: bit
3152
- r4 :: str
3153
- r5 :: object
3154
- r6 :: str
3155
- r7 :: dict
3156
- r8 :: str
3157
- r9 :: object
3158
- r10 :: i32
3159
- r11 :: bit
3160
- r12 :: dict
3161
- r13, r14 :: object
3162
- r15 :: bit
3163
- r16 :: str
3164
- r17 :: object
3165
- r18 :: str
3166
- r19 :: dict
3167
- r20 :: str
3168
- r21 :: object
3169
- r22 :: i32
3170
- r23 :: bit
3171
- L0:
3172
- r0 = __main__.globals :: static
3173
- r1 = dataclasses :: module
3174
- r2 = load_address _Py_NoneStruct
3175
- r3 = r1 != r2
3176
- if r3 goto L2 else goto L1 :: bool
3177
- L1:
3178
- r4 = 'dataclasses'
3179
- r5 = PyImport_Import(r4)
3180
- dataclasses = r5 :: module
3181
- L2:
3182
- r6 = 'dataclasses'
3183
- r7 = PyImport_GetModuleDict()
3184
- r8 = 'dataclasses'
3185
- r9 = CPyDict_GetItem(r7, r8)
3186
- r10 = CPyDict_SetItem(r0, r6, r9)
3187
- r11 = r10 >= 0 :: signed
3188
- r12 = __main__.globals :: static
3189
- r13 = enum :: module
3190
- r14 = load_address _Py_NoneStruct
3191
- r15 = r13 != r14
3192
- if r15 goto L4 else goto L3 :: bool
3193
- L3:
3194
- r16 = 'enum'
3195
- r17 = PyImport_Import(r16)
3196
- enum = r17 :: module
3197
- L4:
3198
- r18 = 'enum'
3199
- r19 = PyImport_GetModuleDict()
3200
- r20 = 'enum'
3201
- r21 = CPyDict_GetItem(r19, r20)
3202
- r22 = CPyDict_SetItem(r12, r18, r21)
3203
- r23 = r22 >= 0 :: signed
3204
- return 1
3205
- def submodule():
3206
- r0 :: dict
3207
- r1, r2 :: object
3208
- r3 :: bit
3209
- r4 :: str
3210
- r5 :: object
3211
- r6 :: str
3212
- r7 :: dict
3213
- r8 :: str
3214
- r9 :: object
3215
- r10 :: i32
3216
- r11 :: bit
3217
- r12 :: dict
3218
- r13 :: str
3219
- r14 :: object
3220
- r15 :: str
3221
- r16 :: object
3222
- r17 :: int
3223
- L0:
3224
- r0 = __main__.globals :: static
3225
- r1 = p.m :: module
3226
- r2 = load_address _Py_NoneStruct
3227
- r3 = r1 != r2
3228
- if r3 goto L2 else goto L1 :: bool
3229
- L1:
3230
- r4 = 'p.m'
3231
- r5 = PyImport_Import(r4)
3232
- p.m = r5 :: module
3233
- L2:
3234
- r6 = 'p'
3235
- r7 = PyImport_GetModuleDict()
3236
- r8 = 'p'
3237
- r9 = CPyDict_GetItem(r7, r8)
3238
- r10 = CPyDict_SetItem(r0, r6, r9)
3239
- r11 = r10 >= 0 :: signed
3240
- r12 = PyImport_GetModuleDict()
3241
- r13 = 'p'
3242
- r14 = CPyDict_GetItem(r12, r13)
3243
- r15 = 'x'
3244
- r16 = CPyObject_GetAttr(r14, r15)
3245
- r17 = unbox(int, r16)
3246
- return r17
3247
-
3248
- [case testIsinstanceBool]
3249
- def f(x: object) -> bool:
3250
- return isinstance(x, bool)
3251
- [out]
3252
- def f(x):
3253
- x, r0 :: object
3254
- r1 :: i32
3255
- r2 :: bit
3256
- r3 :: bool
3257
- L0:
3258
- r0 = load_address PyBool_Type
3259
- r1 = PyObject_IsInstance(x, r0)
3260
- r2 = r1 >= 0 :: signed
3261
- r3 = truncate r1: i32 to builtins.bool
3262
- return r3
3263
-
3264
- [case testRangeObject]
3265
- def range_object() -> None:
3266
- r = range(4, 12, 2)
3267
- sum = 0
3268
- for i in r:
3269
- sum += i
3270
-
3271
- def range_in_loop() -> None:
3272
- sum = 0
3273
- for i in range(4, 12, 2):
3274
- sum += i
3275
- [out]
3276
- def range_object():
3277
- r0, r1, r2, r3, r4 :: object
3278
- r5, r :: range
3279
- sum :: int
3280
- r6, r7 :: object
3281
- r8, i, r9 :: int
3282
- r10 :: bit
3283
- L0:
3284
- r0 = load_address PyRange_Type
3285
- r1 = object 4
3286
- r2 = object 12
3287
- r3 = object 2
3288
- r4 = PyObject_CallFunctionObjArgs(r0, r1, r2, r3, 0)
3289
- r5 = cast(range, r4)
3290
- r = r5
3291
- sum = 0
3292
- r6 = PyObject_GetIter(r)
3293
- L1:
3294
- r7 = PyIter_Next(r6)
3295
- if is_error(r7) goto L4 else goto L2
3296
- L2:
3297
- r8 = unbox(int, r7)
3298
- i = r8
3299
- r9 = CPyTagged_Add(sum, i)
3300
- sum = r9
3301
- L3:
3302
- goto L1
3303
- L4:
3304
- r10 = CPy_NoErrOccured()
3305
- L5:
3306
- return 1
3307
- def range_in_loop():
3308
- sum :: int
3309
- r0 :: short_int
3310
- i :: int
3311
- r1 :: bit
3312
- r2 :: int
3313
- r3 :: short_int
3314
- L0:
3315
- sum = 0
3316
- r0 = 8
3317
- i = r0
3318
- L1:
3319
- r1 = int_lt r0, 24
3320
- if r1 goto L2 else goto L4 :: bool
3321
- L2:
3322
- r2 = CPyTagged_Add(sum, i)
3323
- sum = r2
3324
- L3:
3325
- r3 = r0 + 4
3326
- r0 = r3
3327
- i = r3
3328
- goto L1
3329
- L4:
3330
- return 1
3331
-
3332
- [case testLocalRedefinition]
3333
- # mypy: allow-redefinition
3334
- def f() -> None:
3335
- i = 0
3336
- i += 1
3337
- i = "foo"
3338
- i += i
3339
- i = 0.0
3340
- [out]
3341
- def f():
3342
- i, r0 :: int
3343
- r1, i__redef__, r2 :: str
3344
- i__redef____redef__ :: float
3345
- L0:
3346
- i = 0
3347
- r0 = CPyTagged_Add(i, 2)
3348
- i = r0
3349
- r1 = 'foo'
3350
- i__redef__ = r1
3351
- r2 = CPyStr_Append(i__redef__, i__redef__)
3352
- i__redef__ = r2
3353
- i__redef____redef__ = 0.0
3354
- return 1
3355
-
3356
- [case testNewType]
3357
- from typing import NewType
3358
-
3359
- class A: pass
3360
-
3361
- N = NewType("N", A)
3362
-
3363
- def f(arg: A) -> N:
3364
- return N(arg)
3365
- [out]
3366
- def f(arg):
3367
- arg :: __main__.A
3368
- L0:
3369
- return arg
3370
-
3371
- [case testTypeCheckingFlag]
3372
- from typing import TYPE_CHECKING, List
3373
-
3374
- def f(arg: List[int]) -> int:
3375
- if TYPE_CHECKING:
3376
- from collections.abc import Sized
3377
- s: Sized = arg
3378
- return len(s)
3379
-
3380
- [out]
3381
- def f(arg):
3382
- arg :: list
3383
- r0 :: bool
3384
- r1 :: int
3385
- r2 :: bit
3386
- s :: object
3387
- r3 :: int
3388
- L0:
3389
- r0 = 0 << 1
3390
- r1 = extend r0: builtins.bool to builtins.int
3391
- r2 = r1 != 0
3392
- if r2 goto L1 else goto L2 :: bool
3393
- L1:
3394
- goto L3
3395
- L2:
3396
- L3:
3397
- s = arg
3398
- r3 = CPyObject_Size(s)
3399
- return r3