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
@@ -4,15 +4,13 @@ import io
4
4
  import os
5
5
  import sys
6
6
  import sysconfig
7
+ import tempfile
8
+ from unittest.mock import patch
7
9
 
8
-
9
- import jaclang.compiler.passes.main as passes
10
- from jaclang import jac_import
10
+ from jaclang import JacMachineInterface as Jac, JacMachine
11
11
  from jaclang.cli import cli
12
- from jaclang.compiler.compile import jac_file_to_pass, jac_pass_to_pass, jac_str_to_pass
13
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
14
- from jaclang.runtimelib.context import ExecutionContext
15
- from jaclang.runtimelib.machine import JacMachine, JacProgram
12
+ from jaclang.compiler.passes.main import CompilerMode as CMode
13
+ from jaclang.compiler.program import JacProgram
16
14
  from jaclang.utils.test import TestCase
17
15
 
18
16
 
@@ -21,15 +19,15 @@ class JacLanguageTests(TestCase):
21
19
 
22
20
  def setUp(self) -> None:
23
21
  """Set up test."""
24
- ExecutionContext.global_system_root().edges.clear()
25
- JacMachine(self.fixture_abs_path("./")).attach_program(
26
- JacProgram(mod_bundle=None, bytecode=None, sem_ir=None)
22
+ self.mach = JacMachine(self.fixture_abs_path("./"))
23
+ Jac.attach_program(
24
+ self.mach,
25
+ JacProgram(),
27
26
  )
28
27
  return super().setUp()
29
28
 
30
29
  def tearDown(self) -> None:
31
30
  """Tear down test."""
32
- JacMachine.detach()
33
31
  return super().tearDown()
34
32
 
35
33
  def test_sub_abilities(self) -> None:
@@ -70,7 +68,12 @@ class JacLanguageTests(TestCase):
70
68
  """Parse micro jac file."""
71
69
  captured_output = io.StringIO()
72
70
  sys.stdout = captured_output
73
- jac_import("micro.simple_walk", base_path=self.examples_abs_path(""))
71
+ Jac.jac_import(
72
+ self.mach,
73
+ "micro.simple_walk",
74
+ base_path=self.examples_abs_path(""),
75
+ override_name="__main__",
76
+ )
74
77
  sys.stdout = sys.__stdout__
75
78
  stdout_value = captured_output.getvalue()
76
79
  self.assertEqual(
@@ -83,7 +86,9 @@ class JacLanguageTests(TestCase):
83
86
  """Parse micro jac file."""
84
87
  captured_output = io.StringIO()
85
88
  sys.stdout = captured_output
86
- jac_import("micro.simple_walk_by_edge", base_path=self.examples_abs_path(""))
89
+ Jac.jac_import(
90
+ self.mach, "micro.simple_walk_by_edge", base_path=self.examples_abs_path("")
91
+ )
87
92
  sys.stdout = sys.__stdout__
88
93
  stdout_value = captured_output.getvalue()
89
94
  self.assertEqual(
@@ -95,7 +100,7 @@ class JacLanguageTests(TestCase):
95
100
  """Parse micro jac file."""
96
101
  captured_output = io.StringIO()
97
102
  sys.stdout = captured_output
98
- jac_import("guess_game", base_path=self.fixture_abs_path("./"))
103
+ Jac.jac_import(self.mach, "guess_game", base_path=self.fixture_abs_path("./"))
99
104
  sys.stdout = sys.__stdout__
100
105
  stdout_value = captured_output.getvalue()
101
106
  self.assertEqual(
@@ -103,44 +108,46 @@ class JacLanguageTests(TestCase):
103
108
  "Too high!\nToo low!\nToo high!\nCongratulations! You guessed correctly.\n",
104
109
  )
105
110
 
106
- def test_multi_dim_arr_slice(self) -> None:
107
- """Parse micro jac file."""
111
+ def test_printgraph(self) -> None:
112
+ """Test the dot gen of builtin function."""
113
+ import json
114
+
108
115
  captured_output = io.StringIO()
109
116
  sys.stdout = captured_output
110
- cli.tool(
111
- "ir",
112
- [
113
- "ast",
114
- self.fixture_abs_path("multi_dim_array_split.jac"),
115
- ],
117
+ Jac.jac_import(
118
+ self.mach, "builtin_printgraph_json", base_path=self.fixture_abs_path("./")
116
119
  )
117
120
  sys.stdout = sys.__stdout__
118
121
  stdout_value = captured_output.getvalue()
122
+ data = json.loads(stdout_value)
119
123
 
120
- expected_outputs = [
121
- "+-- AtomTrailer - Type: jaclang.JacList[builtins.int]",
122
- " +-- Name - arr - Type: jaclang.JacList[jaclang.JacList[builtins.int]], SymbolTable: None",
123
- "+-- IndexSlice - [IndexSlice] - Type: jaclang.JacList[jaclang.JacList[builtins.int]], SymbolTable: None",
124
- " +-- Token - [, ",
125
- " +-- Int - 1 - Type: Literal[1]?, SymbolTable: None",
126
- " +-- Token - :, ",
127
- " +-- Int - 3 - Type: Literal[3]?, SymbolTable: None",
128
- " +-- Token - ,, ",
129
- " +-- Int - 1 - Type: Literal[1]?, SymbolTable: None",
130
- " +-- Token - :, ",
131
- " +-- Token - :, ",
132
- " +-- Int - 2 - Type: Literal[2]?, SymbolTable: None",
133
- " +-- Token - ], ",
134
- ]
124
+ nodes = data["nodes"]
125
+ self.assertEqual(len(nodes), 7)
126
+ for node in nodes:
127
+ label = node["label"]
128
+ self.assertIn(label, ["root", "N(val=0)", "N(val=1)"])
135
129
 
136
- for expected in expected_outputs:
137
- self.assertIn(expected, stdout_value)
130
+ edges = data["edges"]
131
+ self.assertEqual(len(edges), 6)
132
+
133
+ def test_printgraph_mermaid(self) -> None:
134
+ """Test the mermaid gen of builtin function."""
135
+ captured_output = io.StringIO()
136
+ sys.stdout = captured_output
137
+ Jac.jac_import(
138
+ self.mach,
139
+ "builtin_printgraph_mermaid",
140
+ base_path=self.fixture_abs_path("./"),
141
+ )
142
+ sys.stdout = sys.__stdout__
143
+ stdout_value = captured_output.getvalue()
144
+ self.assertIn("flowchart LR", stdout_value)
138
145
 
139
146
  def test_chandra_bugs(self) -> None:
140
147
  """Parse micro jac file."""
141
148
  captured_output = io.StringIO()
142
149
  sys.stdout = captured_output
143
- jac_import("chandra_bugs", base_path=self.fixture_abs_path("./"))
150
+ Jac.jac_import(self.mach, "chandra_bugs", base_path=self.fixture_abs_path("./"))
144
151
  sys.stdout = sys.__stdout__
145
152
  stdout_value = captured_output.getvalue()
146
153
  self.assertEqual(
@@ -152,14 +159,16 @@ class JacLanguageTests(TestCase):
152
159
  """Parse micro jac file."""
153
160
  captured_output = io.StringIO()
154
161
  sys.stdout = captured_output
155
- jac_import("chandra_bugs2", base_path=self.fixture_abs_path("./"))
162
+ Jac.jac_import(
163
+ self.mach, "chandra_bugs2", base_path=self.fixture_abs_path("./")
164
+ )
156
165
  sys.stdout = sys.__stdout__
157
166
  stdout_value = captured_output.getvalue()
158
167
  self.assertEqual(
159
168
  stdout_value,
160
169
  "{'apple': None, 'pineapple': None}\n"
161
170
  "This is a long\n"
162
- " line of code.\n"
171
+ " line of code.\n"
163
172
  "{'a': 'apple', 'b': 'ball', 'c': 'cat', 'd': 'dog', 'e': 'elephant'}\n",
164
173
  )
165
174
 
@@ -167,7 +176,7 @@ class JacLanguageTests(TestCase):
167
176
  """Parse micro jac file."""
168
177
  captured_output = io.StringIO()
169
178
  sys.stdout = captured_output
170
- jac_import("ignore_dup", base_path=self.fixture_abs_path("./"))
179
+ Jac.jac_import(self.mach, "ignore_dup", base_path=self.fixture_abs_path("./"))
171
180
  sys.stdout = sys.__stdout__
172
181
  stdout_value = captured_output.getvalue()
173
182
  self.assertEqual(stdout_value.split("\n")[0].count("here"), 10)
@@ -177,17 +186,19 @@ class JacLanguageTests(TestCase):
177
186
  """Parse micro jac file."""
178
187
  captured_output = io.StringIO()
179
188
  sys.stdout = captured_output
180
- jac_import("hashcheck_dup", base_path=self.fixture_abs_path("./"))
189
+ Jac.jac_import(
190
+ self.mach, "hashcheck_dup", base_path=self.fixture_abs_path("./")
191
+ )
181
192
  sys.stdout = sys.__stdout__
182
193
  stdout_value = captured_output.getvalue()
183
194
  self.assertEqual(stdout_value.count("check"), 2)
184
195
 
185
196
  def test_arith_precedence(self) -> None:
186
197
  """Basic precedence test."""
187
- prog = jac_str_to_pass("with entry {print(4-5-4);}", "test.jac")
198
+ prog = JacProgram().compile_from_str("with entry {print(4-5-4);}", "test.jac")
188
199
  captured_output = io.StringIO()
189
200
  sys.stdout = captured_output
190
- exec(compile(prog.ir.gen.py_ast[0], "test.py", "exec"))
201
+ exec(compile(prog.gen.py_ast[0], "test.py", "exec"))
191
202
  sys.stdout = sys.__stdout__
192
203
  stdout_value = captured_output.getvalue()
193
204
  self.assertEqual(stdout_value, "-5\n")
@@ -196,7 +207,7 @@ class JacLanguageTests(TestCase):
196
207
  """Test importing python."""
197
208
  captured_output = io.StringIO()
198
209
  sys.stdout = captured_output
199
- jac_import("needs_import", base_path=self.fixture_abs_path("./"))
210
+ Jac.jac_import(self.mach, "needs_import", base_path=self.fixture_abs_path("./"))
200
211
  sys.stdout = sys.__stdout__
201
212
  stdout_value = captured_output.getvalue()
202
213
  self.assertIn("<module 'pyfunc' from", stdout_value)
@@ -205,19 +216,22 @@ class JacLanguageTests(TestCase):
205
216
  """Testing filter comprehension."""
206
217
  captured_output = io.StringIO()
207
218
  sys.stdout = captured_output
208
- jac_import(
219
+ Jac.jac_import(
220
+ self.mach,
209
221
  "reference.special_comprehensions",
210
222
  base_path=self.examples_abs_path(""),
211
223
  )
212
224
  sys.stdout = sys.__stdout__
213
225
  stdout_value = captured_output.getvalue()
214
- self.assertIn("TestObj", stdout_value)
226
+ self.assertIn("True", stdout_value)
215
227
 
216
228
  def test_gen_dot_bubble(self) -> None:
217
229
  """Test the dot gen of nodes and edges of bubblesort."""
218
230
  captured_output = io.StringIO()
219
231
  sys.stdout = captured_output
220
- jac_import("gendot_bubble_sort", base_path=self.fixture_abs_path("./"))
232
+ Jac.jac_import(
233
+ self.mach, "gendot_bubble_sort", base_path=self.fixture_abs_path("./")
234
+ )
221
235
  sys.stdout = sys.__stdout__
222
236
  stdout_value = captured_output.getvalue()
223
237
  self.assertIn(
@@ -225,11 +239,13 @@ class JacLanguageTests(TestCase):
225
239
  stdout_value,
226
240
  )
227
241
 
228
- def test_assign_compr(self) -> None:
242
+ def test_assign_operation(self) -> None:
229
243
  """Test assign_compr."""
230
244
  captured_output = io.StringIO()
231
245
  sys.stdout = captured_output
232
- jac_import("assign_compr_dup", base_path=self.fixture_abs_path("./"))
246
+ Jac.jac_import(
247
+ self.mach, "assign_compr_dup", base_path=self.fixture_abs_path("./")
248
+ )
233
249
  sys.stdout = sys.__stdout__
234
250
  stdout_value = captured_output.getvalue()
235
251
  self.assertEqual(
@@ -237,22 +253,13 @@ class JacLanguageTests(TestCase):
237
253
  stdout_value,
238
254
  )
239
255
 
240
- def test_semstr(self) -> None:
241
- """Test semstring."""
242
- captured_output = io.StringIO()
243
- sys.stdout = captured_output
244
- sys.stderr = captured_output
245
- jac_import("semstr", base_path=self.fixture_abs_path("./"))
246
- sys.stdout = sys.__stdout__
247
- sys.stderr = sys.__stderr__
248
- stdout_value = captured_output.getvalue()
249
- self.assertNotIn("Error", stdout_value)
250
-
251
256
  def test_raw_bytestr(self) -> None:
252
257
  """Test raw string and byte string."""
253
258
  captured_output = io.StringIO()
254
259
  sys.stdout = captured_output
255
- jac_import("raw_byte_string", base_path=self.fixture_abs_path("./"))
260
+ Jac.jac_import(
261
+ self.mach, "raw_byte_string", base_path=self.fixture_abs_path("./")
262
+ )
256
263
  sys.stdout = sys.__stdout__
257
264
  stdout_value = captured_output.getvalue()
258
265
  self.assertEqual(stdout_value.count(r"\\\\"), 2)
@@ -262,7 +269,8 @@ class JacLanguageTests(TestCase):
262
269
  """Test fstring with multiple quotation."""
263
270
  captured_output = io.StringIO()
264
271
  sys.stdout = captured_output
265
- jac_import(
272
+ Jac.jac_import(
273
+ self.mach,
266
274
  "compiler/passes/main/tests/fixtures/fstrings",
267
275
  base_path=self.fixture_abs_path("../../"),
268
276
  )
@@ -278,11 +286,34 @@ class JacLanguageTests(TestCase):
278
286
  captured_output = io.StringIO()
279
287
  sys.stdout = captured_output
280
288
 
281
- jac_import("deep_import", base_path=self.fixture_abs_path("./"))
289
+ Jac.jac_import(self.mach, "deep_import", base_path=self.fixture_abs_path("./"))
282
290
  sys.stdout = sys.__stdout__
283
291
  stdout_value = captured_output.getvalue()
292
+ print(self.mach.loaded_modules.keys())
284
293
  self.assertEqual(stdout_value.split("\n")[0], "one level deeperslHello World!")
285
294
 
295
+ def test_deep_imports_interp_mode(self) -> None:
296
+ """Parse micro jac file."""
297
+ mach = JacMachine(self.fixture_abs_path("./"))
298
+ Jac.attach_program(
299
+ mach,
300
+ JacProgram(),
301
+ )
302
+ Jac.jac_import(
303
+ mach, "deep_import_interp", base_path=self.fixture_abs_path("./")
304
+ )
305
+ self.assertEqual(len(mach.program.mod.hub.keys()), 1)
306
+ mach = JacMachine(self.fixture_abs_path("./"))
307
+ Jac.attach_program(
308
+ mach,
309
+ (prog := JacProgram()),
310
+ )
311
+ prog.compile(self.fixture_abs_path("./deep_import_interp.jac"))
312
+ Jac.jac_import(
313
+ mach, "deep_import_interp", base_path=self.fixture_abs_path("./")
314
+ )
315
+ self.assertEqual(len(mach.program.mod.hub.keys()), 5)
316
+
286
317
  def test_deep_imports_mods(self) -> None:
287
318
  """Parse micro jac file."""
288
319
  targets = [
@@ -295,8 +326,10 @@ class JacLanguageTests(TestCase):
295
326
  for i in targets:
296
327
  if i in sys.modules:
297
328
  del sys.modules[i]
298
- jac_import("deep_import_mods", base_path=self.fixture_abs_path("./"))
299
- mods = JacMachine.get().loaded_modules.keys()
329
+ Jac.jac_import(
330
+ self.mach, "deep_import_mods", base_path=self.fixture_abs_path("./")
331
+ )
332
+ mods = self.mach.loaded_modules.keys()
300
333
  for i in targets:
301
334
  self.assertIn(i, mods)
302
335
  self.assertEqual(len([i for i in mods if i.startswith("deep")]), 6)
@@ -305,8 +338,10 @@ class JacLanguageTests(TestCase):
305
338
  """Parse micro jac file."""
306
339
  captured_output = io.StringIO()
307
340
  sys.stdout = captured_output
308
- jac_import(
309
- "deep.deeper.deep_outer_import", base_path=self.fixture_abs_path("./")
341
+ Jac.jac_import(
342
+ self.mach,
343
+ "deep.deeper.deep_outer_import",
344
+ base_path=self.fixture_abs_path("./"),
310
345
  )
311
346
  sys.stdout = sys.__stdout__
312
347
  stdout_value = captured_output.getvalue()
@@ -324,23 +359,11 @@ class JacLanguageTests(TestCase):
324
359
  self.assertIn("one level deeperslHello World!", stdout_value)
325
360
  self.assertIn("module 'pyfunc' from ", stdout_value)
326
361
 
327
- # def test_second_deep_outer_imports(self) -> None:
328
- # """Parse micro jac file."""
329
- # captured_output = io.StringIO()
330
- # sys.stdout = captured_output
331
- # jac_import(
332
- # "deep.deeper.deep_outer_import2", base_path=self.fixture_abs_path("./")
333
- # )
334
- # sys.stdout = sys.__stdout__
335
- # stdout_value = captured_output.getvalue()
336
- # self.assertIn("one level deeperslHello World!", stdout_value)
337
- # self.assertIn("module 'pyfunc' from ", stdout_value)
338
-
339
362
  def test_has_lambda_goodness(self) -> None:
340
363
  """Test has lambda_goodness."""
341
364
  captured_output = io.StringIO()
342
365
  sys.stdout = captured_output
343
- jac_import("has_goodness", base_path=self.fixture_abs_path("./"))
366
+ Jac.jac_import(self.mach, "has_goodness", base_path=self.fixture_abs_path("./"))
344
367
  sys.stdout = sys.__stdout__
345
368
  stdout_value = captured_output.getvalue()
346
369
  self.assertEqual(stdout_value.split("\n")[0], "mylist: [1, 2, 3]")
@@ -350,7 +373,7 @@ class JacLanguageTests(TestCase):
350
373
  """Test conn assign on edges."""
351
374
  captured_output = io.StringIO()
352
375
  sys.stdout = captured_output
353
- jac_import("edge_ops", base_path=self.fixture_abs_path("./"))
376
+ Jac.jac_import(self.mach, "edge_ops", base_path=self.fixture_abs_path("./"))
354
377
  sys.stdout = sys.__stdout__
355
378
  stdout_value = captured_output.getvalue()
356
379
  self.assertIn("[(3, 5), (14, 1), (5, 1)]", stdout_value)
@@ -361,7 +384,7 @@ class JacLanguageTests(TestCase):
361
384
  """Test conn assign on edges."""
362
385
  captured_output = io.StringIO()
363
386
  sys.stdout = captured_output
364
- jac_import("disconn", base_path=self.fixture_abs_path("./"))
387
+ Jac.jac_import(self.mach, "disconn", base_path=self.fixture_abs_path("./"))
365
388
  sys.stdout = sys.__stdout__
366
389
  stdout_value = captured_output.getvalue().split("\n")
367
390
  self.assertIn("c(cc=0)", stdout_value[0])
@@ -378,7 +401,7 @@ class JacLanguageTests(TestCase):
378
401
  """Test conn assign on edges."""
379
402
  captured_output = io.StringIO()
380
403
  sys.stdout = captured_output
381
- jac_import("simple_archs", base_path=self.fixture_abs_path("./"))
404
+ Jac.jac_import(self.mach, "simple_archs", base_path=self.fixture_abs_path("./"))
382
405
  sys.stdout = sys.__stdout__
383
406
  stdout_value = captured_output.getvalue()
384
407
  self.assertEqual(stdout_value.split("\n")[0], "1 2 0")
@@ -388,7 +411,7 @@ class JacLanguageTests(TestCase):
388
411
  """Test walking through edges."""
389
412
  captured_output = io.StringIO()
390
413
  sys.stdout = captured_output
391
- jac_import("edges_walk", base_path=self.fixture_abs_path("./"))
414
+ Jac.jac_import(self.mach, "edges_walk", base_path=self.fixture_abs_path("./"))
392
415
  sys.stdout = sys.__stdout__
393
416
  stdout_value = captured_output.getvalue()
394
417
  self.assertIn("creator()\n", stdout_value)
@@ -397,20 +420,11 @@ class JacLanguageTests(TestCase):
397
420
  self.assertIn("node_a(val=2)", stdout_value)
398
421
  self.assertIn("[node_a(val=42), node_a(val=42)]\n", stdout_value)
399
422
 
400
- def test_impl_grab(self) -> None:
401
- """Test walking through edges."""
402
- captured_output = io.StringIO()
403
- sys.stdout = captured_output
404
- jac_import("impl_grab", base_path=self.fixture_abs_path("./"))
405
- sys.stdout = sys.__stdout__
406
- stdout_value = captured_output.getvalue()
407
- self.assertIn("1.414", stdout_value)
408
-
409
423
  def test_tuple_of_tuple_assign(self) -> None:
410
424
  """Test walking through edges."""
411
425
  captured_output = io.StringIO()
412
426
  sys.stdout = captured_output
413
- jac_import("tuplytuples", base_path=self.fixture_abs_path("./"))
427
+ Jac.jac_import(self.mach, "tuplytuples", base_path=self.fixture_abs_path("./"))
414
428
  sys.stdout = sys.__stdout__
415
429
  stdout_value = captured_output.getvalue()
416
430
  self.assertIn(
@@ -422,7 +436,9 @@ class JacLanguageTests(TestCase):
422
436
  """Test walking through edges."""
423
437
  captured_output = io.StringIO()
424
438
  sys.stdout = captured_output
425
- jac_import("deferred_field", base_path=self.fixture_abs_path("./"))
439
+ Jac.jac_import(
440
+ self.mach, "deferred_field", base_path=self.fixture_abs_path("./")
441
+ )
426
442
  sys.stdout = sys.__stdout__
427
443
  stdout_value = captured_output.getvalue()
428
444
  self.assertIn(
@@ -434,7 +450,9 @@ class JacLanguageTests(TestCase):
434
450
  """Test the dot gen of nodes and edges as a builtin."""
435
451
  captured_output = io.StringIO()
436
452
  sys.stdout = captured_output
437
- jac_import("builtin_dotgen", base_path=self.fixture_abs_path("./"))
453
+ Jac.jac_import(
454
+ self.mach, "builtin_printgraph", base_path=self.fixture_abs_path("./")
455
+ )
438
456
  sys.stdout = sys.__stdout__
439
457
  stdout_value = captured_output.getvalue()
440
458
  self.assertEqual(stdout_value.count("True"), 16)
@@ -443,7 +461,7 @@ class JacLanguageTests(TestCase):
443
461
  """Test walking through edges."""
444
462
  captured_output = io.StringIO()
445
463
  sys.stdout = captured_output
446
- jac_import("with_context", base_path=self.fixture_abs_path("./"))
464
+ Jac.jac_import(self.mach, "with_context", base_path=self.fixture_abs_path("./"))
447
465
  sys.stdout = sys.__stdout__
448
466
  stdout_value = captured_output.getvalue()
449
467
  self.assertIn("im in", stdout_value)
@@ -458,7 +476,9 @@ class JacLanguageTests(TestCase):
458
476
  """Parse micro jac file."""
459
477
  captured_output = io.StringIO()
460
478
  sys.stdout = captured_output
461
- jac_import("micro.typed_filter_compr", base_path=self.examples_abs_path(""))
479
+ Jac.jac_import(
480
+ self.mach, "micro.typed_filter_compr", base_path=self.examples_abs_path("")
481
+ )
462
482
  sys.stdout = sys.__stdout__
463
483
  stdout_value = captured_output.getvalue()
464
484
  self.assertIn(
@@ -472,7 +492,9 @@ class JacLanguageTests(TestCase):
472
492
  """Test walking through edges and nodes."""
473
493
  captured_output = io.StringIO()
474
494
  sys.stdout = captured_output
475
- jac_import("edge_node_walk", base_path=self.fixture_abs_path("./"))
495
+ Jac.jac_import(
496
+ self.mach, "edge_node_walk", base_path=self.fixture_abs_path("./")
497
+ )
476
498
  sys.stdout = sys.__stdout__
477
499
  stdout_value = captured_output.getvalue()
478
500
  self.assertIn("creator()\n", stdout_value)
@@ -483,225 +505,118 @@ class JacLanguageTests(TestCase):
483
505
 
484
506
  def test_annotation_tuple_issue(self) -> None:
485
507
  """Test conn assign on edges."""
486
- mypass = jac_file_to_pass(self.fixture_abs_path("./slice_vals.jac"))
487
- self.assertIn("Annotated[Str, INT, BLAH]", mypass.ir.gen.py)
488
- self.assertIn("tuple[int, Optional[type], Optional[tuple]]", mypass.ir.gen.py)
489
-
490
- def test_impl_decl_resolution_fix(self) -> None:
491
- """Test walking through edges and nodes."""
492
- captured_output = io.StringIO()
493
- sys.stdout = captured_output
494
- jac_import("mtest", base_path=self.fixture_abs_path("./"))
495
- sys.stdout = sys.__stdout__
496
- stdout_value = captured_output.getvalue()
497
- self.assertIn("2.0\n", stdout_value)
498
-
499
- def test_registry(self) -> None:
500
- """Test Jac registry feature."""
501
- captured_output = io.StringIO()
502
- sys.stdout = captured_output
503
- sys.stderr = captured_output
504
- jac_import("registry", base_path=self.fixture_abs_path("./"))
505
- sys.stdout = sys.__stdout__
506
- sys.stderr = sys.__stderr__
507
- stdout_value = captured_output.getvalue()
508
- self.assertNotIn("Error", stdout_value)
509
-
510
- output_lines = stdout_value.strip().split("\n")
511
- outputs = [
512
- int(output_lines[i]) if i != 2 else output_lines[i] for i in range(4)
513
- ]
514
-
515
- self.assertEqual(outputs[0], 9)
516
- self.assertEqual(outputs[1], 2)
517
- self.assertEqual(outputs[2], "Person")
518
- self.assertEqual(outputs[3], 2)
508
+ mypass = JacProgram().compile(self.fixture_abs_path("./slice_vals.jac"))
509
+ self.assertIn("Annotated[Str, INT, BLAH]", mypass.gen.py)
510
+ self.assertIn("tuple[int, Optional[type], Optional[tuple]]", mypass.gen.py)
519
511
 
520
512
  def test_enum_inside_arch(self) -> None:
521
513
  """Test Enum as member stmt."""
522
514
  captured_output = io.StringIO()
523
515
  sys.stdout = captured_output
524
- jac_import("enum_inside_archtype", base_path=self.fixture_abs_path("./"))
516
+ Jac.jac_import(
517
+ self.mach, "enum_inside_archtype", base_path=self.fixture_abs_path("./")
518
+ )
525
519
  sys.stdout = sys.__stdout__
526
520
  stdout_value = captured_output.getvalue()
527
521
  self.assertIn("2 Accessing privileged Data", stdout_value)
528
522
 
529
- def test_needs_import_1(self) -> None:
530
- """Test py ast to Jac ast conversion output."""
531
- file_name = self.fixture_abs_path("pyfunc_1.py")
532
-
533
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
534
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
535
- import ast as py_ast
536
- import jaclang.compiler.absyntree as ast
537
-
538
- with open(file_name, "r") as f:
539
- file_source = f.read()
540
- parsed_ast = py_ast.parse(file_source)
541
- try:
542
- py_ast_build_pass = PyastBuildPass(
543
- input_ir=ast.PythonModuleAst(
544
- parsed_ast, orig_src=ast.JacSource(file_source, file_name)
545
- ),
546
- )
547
- except Exception as e:
548
- return f"Error While Jac to Py AST conversion: {e}"
549
-
550
- ir = jac_pass_to_pass(py_ast_build_pass, schedule=py_code_gen_typed).ir
551
- self.assertEqual(len(ir.get_all_sub_nodes(ast.Architype)), 21)
552
- captured_output = io.StringIO()
553
- sys.stdout = captured_output
554
- jac_import("needs_import_1", base_path=self.fixture_abs_path("./"))
555
- sys.stdout = sys.__stdout__
556
- stdout_value = captured_output.getvalue()
557
- self.assertIn("pyfunc_1 imported", stdout_value)
558
-
559
523
  def test_pyfunc_1(self) -> None:
560
524
  """Test py ast to Jac ast conversion."""
561
525
  from jaclang.compiler.passes.main import PyastBuildPass
562
- import jaclang.compiler.absyntree as ast
526
+ import jaclang.compiler.unitree as uni
563
527
  import ast as py_ast
564
528
 
565
529
  py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_1.py")
566
530
  with open(py_out_path) as f:
567
531
  file_source = f.read()
568
532
  output = PyastBuildPass(
569
- input_ir=ast.PythonModuleAst(
533
+ ir_in=uni.PythonModuleAst(
570
534
  py_ast.parse(file_source),
571
- orig_src=ast.JacSource(file_source, py_out_path),
535
+ orig_src=uni.Source(file_source, py_out_path),
572
536
  ),
573
- ).ir.unparse()
574
- # print(output)
575
- self.assertIn("can greet2(**kwargs: Any)", output)
576
- self.assertEqual(output.count("with entry {"), 13)
537
+ prog=JacProgram(),
538
+ ).ir_out.unparse()
539
+ print(output)
540
+ self.assertIn("def greet2(**kwargs: Any)", output)
541
+ self.assertEqual(output.count("with entry {"), 14)
542
+ self.assertIn("assert (x == 5) , 'x should be equal to 5' ;", output)
543
+ self.assertIn("if not (x == y) {", output)
544
+ self.assertIn("def greet2(**kwargs: Any) {", output)
545
+ self.assertIn("squares_dict = { x : (x ** 2) for x in numbers };", output)
577
546
  self.assertIn(
578
- '"""Enum for shape types"""\nenum ShapeType{ CIRCLE = \'Circle\',\n',
579
- output,
580
- )
581
- self.assertIn("\nUNKNOWN = 'Unknown',\n::py::\nprint('hello')\n::", output)
582
- self.assertIn("assert x == 5 , 'x should be equal to 5' ;", output)
583
- self.assertIn("if not x == y {", output)
584
- self.assertIn("can greet2(**kwargs: Any) {", output)
585
- self.assertIn("squares_dict = {x: (x ** 2) for x in numbers};", output)
586
- self.assertIn(
587
- '\n\n@ my_decorator \n can say_hello() {\n\n """Say hello""" ;', output
547
+ '\n\n"""Say hello"""\n@ my_decorator\n\n def say_hello() {', output
588
548
  )
589
549
 
590
- def test_needs_import_2(self) -> None:
591
- """Test py ast to Jac ast conversion output."""
592
- file_name = self.fixture_abs_path("pyfunc_2.py")
593
-
594
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
595
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
596
- import ast as py_ast
597
- import jaclang.compiler.absyntree as ast
598
-
599
- with open(file_name, "r") as f:
600
- file_source = f.read()
601
- parsed_ast = py_ast.parse(file_source)
602
- try:
603
- py_ast_build_pass = PyastBuildPass(
604
- input_ir=ast.PythonModuleAst(
605
- parsed_ast,
606
- orig_src=ast.JacSource(file_source, file_name),
607
- ),
608
- )
609
- except Exception as e:
610
- return f"Error While Jac to Py AST conversion: {e}"
611
-
612
- ir = jac_pass_to_pass(py_ast_build_pass, schedule=py_code_gen_typed).ir
613
- self.assertEqual(
614
- len(ir.get_all_sub_nodes(ast.Architype)), 27
615
- ) # Because of the Architype from math
616
- captured_output = io.StringIO()
617
- sys.stdout = captured_output
618
- jac_import("needs_import_2", base_path=self.fixture_abs_path("./"))
619
- sys.stdout = sys.__stdout__
620
- stdout_value = captured_output.getvalue()
621
- self.assertIn("pyfunc_2 imported", stdout_value)
622
- self.assertEqual(stdout_value.count("<class 'bytes'>"), 3)
623
-
624
550
  def test_pyfunc_2(self) -> None:
625
551
  """Test py ast to Jac ast conversion."""
626
552
  from jaclang.compiler.passes.main import PyastBuildPass
627
- import jaclang.compiler.absyntree as ast
553
+ import jaclang.compiler.unitree as uni
628
554
  import ast as py_ast
629
555
 
630
556
  py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_2.py")
631
557
  with open(py_out_path) as f:
632
558
  file_source = f.read()
633
559
  output = PyastBuildPass(
634
- input_ir=ast.PythonModuleAst(
560
+ ir_in=uni.PythonModuleAst(
635
561
  py_ast.parse(file_source),
636
- orig_src=ast.JacSource(file_source, py_out_path),
562
+ orig_src=uni.Source(file_source, py_out_path),
637
563
  ),
638
- ).ir.unparse()
639
- self.assertIn("class X {\n with entry {\n\n a_b = 67;", output)
564
+ prog=JacProgram(),
565
+ ).ir_out.unparse()
566
+ self.assertIn("class X {\n with entry {\n a_b = 67;", output)
640
567
  self.assertIn("br = b'Hello\\\\\\\\nWorld'", output)
641
- self.assertIn("class Circle {\n can init(radius: float", output)
642
- self.assertIn("<>node = 90; \n print(<>node) ;\n}\n", output)
643
-
644
- def test_needs_import_3(self) -> None:
645
- """Test py ast to Jac ast conversion output."""
646
- file_name = self.fixture_abs_path("pyfunc_3.py")
568
+ self.assertIn(
569
+ "class Circle {\n def init(self: Circle, radius: float", output
570
+ )
571
+ self.assertIn("<>node = 90;\n print(<>node);\n", output)
647
572
 
648
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
649
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
573
+ def test_pyfunc_3(self) -> None:
574
+ """Test py ast to Jac ast conversion."""
575
+ from jaclang.compiler.passes.main import PyastBuildPass
576
+ import jaclang.compiler.unitree as uni
650
577
  import ast as py_ast
651
- import jaclang.compiler.absyntree as ast
652
578
 
653
- with open(file_name, "r") as f:
579
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_3.py")
580
+ with open(py_out_path) as f:
654
581
  file_source = f.read()
655
- parsed_ast = py_ast.parse(file_source)
656
- try:
657
- py_ast_build_pass = PyastBuildPass(
658
- input_ir=ast.PythonModuleAst(
659
- parsed_ast,
660
- orig_src=ast.JacSource(file_source, file_name),
661
- ),
662
- )
663
- except Exception as e:
664
- return f"Error While Jac to Py AST conversion: {e}"
665
-
666
- ir = jac_pass_to_pass(py_ast_build_pass, schedule=py_code_gen_typed).ir
667
- self.assertEqual(
668
- len(ir.get_all_sub_nodes(ast.Architype)), 75
669
- ) # Because of the Architype from other imports
670
- captured_output = io.StringIO()
671
- sys.stdout = captured_output
672
- jac_import("needs_import_3", base_path=self.fixture_abs_path("./"))
673
- sys.stdout = sys.__stdout__
674
- stdout_value = captured_output.getvalue()
675
- self.assertIn("pyfunc_3 imported", stdout_value)
582
+ output = PyastBuildPass(
583
+ ir_in=uni.PythonModuleAst(
584
+ py_ast.parse(file_source),
585
+ orig_src=uni.Source(file_source, py_out_path),
586
+ ),
587
+ prog=JacProgram(),
588
+ ).ir_out.unparse()
589
+ self.assertIn("if (0 <= x <= 5) {", output)
590
+ self.assertIn(" case _:\n", output)
591
+ self.assertIn(" case Point(x = int(a), y = 0):\n", output)
592
+ self.assertIn("class Sample {\n def init", output)
676
593
 
677
- def test_pyfunc_3(self) -> None:
594
+ def test_py2jac(self) -> None:
678
595
  """Test py ast to Jac ast conversion."""
679
596
  from jaclang.compiler.passes.main import PyastBuildPass
680
- import jaclang.compiler.absyntree as ast
597
+ import jaclang.compiler.unitree as ast
681
598
  import ast as py_ast
682
599
 
683
- py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_3.py")
600
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py2jac.py")
684
601
  with open(py_out_path) as f:
685
602
  file_source = f.read()
686
603
  output = PyastBuildPass(
687
- input_ir=ast.PythonModuleAst(
604
+ ir_in=ast.PythonModuleAst(
688
605
  py_ast.parse(file_source),
689
- orig_src=ast.JacSource(file_source, py_out_path),
606
+ orig_src=ast.Source(file_source, py_out_path),
690
607
  ),
691
- ).ir.unparse()
692
- self.assertIn("if 0 <= x<= 5 {", output)
693
- self.assertIn(" case _:\n", output)
694
- self.assertIn(" case Point(x = int(_), y = 0):\n", output)
695
- self.assertIn("class Sample {\n can init", output)
608
+ prog=None,
609
+ ).ir_out.unparse()
610
+ self.assertIn("match Container(inner=Inner(x=a, y=b)) { \n", output)
611
+ self.assertIn("case Container(inner = Inner(x = a, y = 0)):\n", output)
612
+ self.assertIn("case Container(inner = Inner(x = a, y = b)):\n", output)
613
+ self.assertIn("case _:\n", output)
696
614
 
697
615
  def test_refs_target(self) -> None:
698
- """
699
- This test added after a bug in jaclib Node.refs() wasn't code gen as expected and it
700
- wasn't captured with the tests.
701
- """
616
+ """Test py ast to Jac ast conversion output."""
702
617
  captured_output = io.StringIO()
703
618
  sys.stdout = captured_output
704
- jac_import("refs_target", base_path=self.fixture_abs_path("./"))
619
+ Jac.jac_import(self.mach, "refs_target", base_path=self.fixture_abs_path("./"))
705
620
  sys.stdout = sys.__stdout__
706
621
  stdout_value = captured_output.getvalue()
707
622
  self.assertIn("[c(val=0), c(val=1), c(val=2)]", stdout_value)
@@ -709,47 +624,28 @@ class JacLanguageTests(TestCase):
709
624
 
710
625
  def test_py_kw_as_name_disallowed(self) -> None:
711
626
  """Basic precedence test."""
712
- prog = jac_str_to_pass("with entry {print.is.not.True(4-5-4);}", "test.jac")
627
+ (prog := JacProgram()).compile_from_str(
628
+ "with entry {print.is.not.True(4-5-4);}", "test.jac"
629
+ )
713
630
  self.assertIn("Python keyword is used as name", str(prog.errors_had[0].msg))
714
631
 
715
632
  def test_double_format_issue(self) -> None:
716
633
  """Basic precedence test."""
717
- prog = jac_str_to_pass("with entry {print(hello);}", "test.jac")
718
- prog.ir.unparse()
719
- before = prog.ir.format()
720
- prog.ir.format()
721
- prog.ir.format()
722
- after = prog.ir.format()
634
+ prog = JacProgram().compile_from_str("with entry {print(hello);}", "test.jac")
635
+ prog.unparse()
636
+ before = prog.format()
637
+ prog.format()
638
+ prog.format()
639
+ after = prog.format()
723
640
  self.assertEqual(before, after)
724
641
 
725
- def test_type_fuse_expr(self) -> None:
726
- """Basic test for pass."""
727
- captured_output = io.StringIO()
728
- sys.stdout = captured_output
729
- cli.tool(
730
- "ir",
731
- [
732
- "ast",
733
- self.examples_abs_path("reference/collection_values.jac"),
734
- ],
735
- )
736
-
737
- sys.stdout = sys.__stdout__
738
- stdout_value = captured_output.getvalue()
739
- self.assertIn(
740
- "builtins.dict[builtins.int, builtins.int]",
741
- stdout_value,
742
- )
743
- self.assertIn(
744
- "typing.Generator[builtins.int, None, None]",
745
- stdout_value,
746
- )
747
-
748
642
  def test_inherit_check(self) -> None:
749
643
  """Test py ast to Jac ast conversion output."""
750
644
  captured_output = io.StringIO()
751
645
  sys.stdout = captured_output
752
- jac_import("inherit_check", base_path=self.fixture_abs_path("./"))
646
+ Jac.jac_import(
647
+ self.mach, "inherit_check", base_path=self.fixture_abs_path("./")
648
+ )
753
649
  sys.stdout = sys.__stdout__
754
650
  stdout_value = captured_output.getvalue()
755
651
  self.assertEqual("I am in b\nI am in b\nwww is also in b\n", stdout_value)
@@ -758,7 +654,7 @@ class JacLanguageTests(TestCase):
758
654
  """Test tuple unpack."""
759
655
  captured_output = io.StringIO()
760
656
  sys.stdout = captured_output
761
- jac_import("tupleunpack", base_path=self.fixture_abs_path("./"))
657
+ Jac.jac_import(self.mach, "tupleunpack", base_path=self.fixture_abs_path("./"))
762
658
  sys.stdout = sys.__stdout__
763
659
  stdout_value = captured_output.getvalue().split("\n")
764
660
  self.assertIn("1", stdout_value[0])
@@ -768,7 +664,9 @@ class JacLanguageTests(TestCase):
768
664
  """Test trailing comma."""
769
665
  captured_output = io.StringIO()
770
666
  sys.stdout = captured_output
771
- jac_import("trailing_comma", base_path=self.fixture_abs_path("./"))
667
+ Jac.jac_import(
668
+ self.mach, "trailing_comma", base_path=self.fixture_abs_path("./")
669
+ )
772
670
  sys.stdout = sys.__stdout__
773
671
  stdout_value = captured_output.getvalue()
774
672
  self.assertIn("Code compiled and ran successfully!", stdout_value)
@@ -777,7 +675,7 @@ class JacLanguageTests(TestCase):
777
675
  """Test try finally."""
778
676
  captured_output = io.StringIO()
779
677
  sys.stdout = captured_output
780
- jac_import("try_finally", base_path=self.fixture_abs_path("./"))
678
+ Jac.jac_import(self.mach, "try_finally", base_path=self.fixture_abs_path("./"))
781
679
  sys.stdout = sys.__stdout__
782
680
  stdout_value = captured_output.getvalue().split("\n")
783
681
  self.assertIn("try block", stdout_value[0])
@@ -790,7 +688,9 @@ class JacLanguageTests(TestCase):
790
688
  """Test arithmetic bug."""
791
689
  captured_output = io.StringIO()
792
690
  sys.stdout = captured_output
793
- jac_import("arithmetic_bug", base_path=self.fixture_abs_path("./"))
691
+ Jac.jac_import(
692
+ self.mach, "arithmetic_bug", base_path=self.fixture_abs_path("./")
693
+ )
794
694
  sys.stdout = sys.__stdout__
795
695
  stdout_value = captured_output.getvalue().split("\n")
796
696
  self.assertEqual("0.0625", stdout_value[0])
@@ -803,138 +703,28 @@ class JacLanguageTests(TestCase):
803
703
  """Test lambda expr."""
804
704
  captured_output = io.StringIO()
805
705
  sys.stdout = captured_output
806
- jac_import("lambda", base_path=self.fixture_abs_path("./"))
706
+ Jac.jac_import(self.mach, "lambda", base_path=self.fixture_abs_path("./"))
807
707
  sys.stdout = sys.__stdout__
808
708
  stdout_value = captured_output.getvalue().split("\n")
809
709
  self.assertEqual("9", stdout_value[0])
810
710
  self.assertEqual("567", stdout_value[1])
811
711
 
812
- def test_random_check(self) -> None:
813
- """Test py ast to Jac ast conversion output."""
814
- from jaclang.compiler.passes.main import PyastBuildPass
815
- import jaclang.compiler.absyntree as ast
816
- import ast as py_ast
817
- from jaclang.settings import settings
818
-
819
- module_paths = ["random", "ast"]
820
- for module_path in module_paths:
821
- stdlib_dir = sysconfig.get_paths()["stdlib"]
822
- file_path = os.path.join(
823
- stdlib_dir,
824
- module_path + ".py",
825
- )
826
- with open(file_path) as f:
827
- file_source = f.read()
828
- jac_ast = PyastBuildPass(
829
- input_ir=ast.PythonModuleAst(
830
- py_ast.parse(file_source),
831
- orig_src=ast.JacSource(file_source, file_path),
832
- )
833
- )
834
- settings.print_py_raised_ast = True
835
- ir = jac_pass_to_pass(jac_ast).ir
836
- gen_ast = ir.pp()
837
- if module_path == "random":
838
- self.assertIn("ModulePath - statistics -", gen_ast)
839
- else:
840
- self.assertIn("+-- Name - NodeTransformer - Type: No", gen_ast)
841
-
842
- def test_deep_py_load_imports(self) -> None: # we can get rid of this, isn't?
843
- """Test py ast to Jac ast conversion output."""
844
- file_name = os.path.join(self.fixture_abs_path("./"), "random_check.jac")
845
- from jaclang.compiler.passes.main.schedules import py_code_gen, PyImportPass
846
-
847
- imp = jac_file_to_pass(file_name, schedule=py_code_gen, target=PyImportPass)
848
- self.assertEqual(len(imp.import_table), 1)
849
-
850
- def test_access_modifier(self) -> None:
851
- """Test for access tags working."""
852
- captured_output = io.StringIO()
853
- sys.stdout = captured_output
854
- sys.stderr = captured_output
855
- cli.check(
856
- self.fixture_abs_path("../../tests/fixtures/access_modifier.jac"),
857
- print_errs=True,
858
- )
859
- sys.stdout = sys.__stdout__
860
- sys.stderr = sys.__stderr__
861
- stdout_value = captured_output.getvalue()
862
- self.assertEqual(stdout_value.count("Invalid access"), 18)
863
-
864
- def test_deep_convert(self) -> None:
865
- """Test py ast to Jac ast conversion output."""
866
- file_name = self.fixture_abs_path("pyfunc_1.py")
867
-
868
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
869
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
870
- import ast as py_ast
871
- import jaclang.compiler.absyntree as ast
872
- from jaclang.settings import settings
873
-
874
- with open(file_name, "r") as f:
875
- parsed_ast = py_ast.parse(f.read())
876
- try:
877
- py_ast_build_pass = PyastBuildPass(
878
- input_ir=ast.PythonModuleAst(
879
- parsed_ast, orig_src=ast.JacSource(f.read(), file_name)
880
- )
881
- )
882
- except Exception as e:
883
- raise Exception(f"Error While Jac to Py AST conversion: {e}")
884
-
885
- settings.print_py_raised_ast = True
886
- ir = jac_pass_to_pass(py_ast_build_pass, schedule=py_code_gen_typed).ir
887
- jac_ast = ir.pp()
888
- self.assertIn(" | +-- String - 'Loop completed normally{}'", jac_ast)
889
- self.assertEqual(len(ir.get_all_sub_nodes(ast.SubNodeList)), 586)
890
- captured_output = io.StringIO()
891
- sys.stdout = captured_output
892
- jac_import("deep_convert", base_path=self.fixture_abs_path("./"))
893
- sys.stdout = sys.__stdout__
894
- stdout_value = captured_output.getvalue()
895
- self.assertIn("Deep convo is imported", stdout_value)
896
-
897
712
  def test_override_walker_inherit(self) -> None:
898
713
  """Test py ast to Jac ast conversion output."""
899
714
  captured_output = io.StringIO()
900
715
  sys.stdout = captured_output
901
- jac_import("walker_override", base_path=self.fixture_abs_path("./"))
716
+ Jac.jac_import(
717
+ self.mach, "walker_override", base_path=self.fixture_abs_path("./")
718
+ )
902
719
  sys.stdout = sys.__stdout__
903
720
  stdout_value = captured_output.getvalue()
904
721
  self.assertEqual("baz\nbar\n", stdout_value)
905
722
 
906
- def test_ds_type_check_pass(self) -> None:
907
- """Test conn assign on edges."""
908
- mypass = jac_file_to_pass(
909
- self.examples_abs_path("micro/simple_walk.jac"),
910
- schedule=py_code_gen_typed,
911
- )
912
- self.assertEqual(len(mypass.errors_had), 0)
913
- self.assertEqual(len(mypass.warnings_had), 0)
914
-
915
- def test_ds_type_check_pass2(self) -> None:
916
- """Test conn assign on edges."""
917
- mypass = jac_file_to_pass(
918
- self.examples_abs_path("guess_game/guess_game5.jac"),
919
- schedule=py_code_gen_typed,
920
- )
921
- self.assertEqual(len(mypass.errors_had), 0)
922
- self.assertEqual(len(mypass.warnings_had), 0)
923
-
924
- def test_circle_override1_type_check_pass(self) -> None:
925
- """Test conn assign on edges."""
926
- mypass = jac_file_to_pass(
927
- self.examples_abs_path("manual_code/circle.jac"),
928
- schedule=py_code_gen_typed,
929
- )
930
- self.assertEqual(len(mypass.errors_had), 0)
931
- self.assertEqual(len(mypass.warnings_had), 0)
932
-
933
723
  def test_self_with_no_sig(self) -> None: # we can get rid of this, isn't?
934
724
  """Test py ast to Jac ast conversion output."""
935
725
  captured_output = io.StringIO()
936
726
  sys.stdout = captured_output
937
- jac_import("nosigself", base_path=self.fixture_abs_path("./"))
727
+ Jac.jac_import(self.mach, "nosigself", base_path=self.fixture_abs_path("./"))
938
728
  sys.stdout = sys.__stdout__
939
729
  stdout_value = captured_output.getvalue()
940
730
  self.assertEqual(stdout_value.count("5"), 2)
@@ -943,45 +733,28 @@ class JacLanguageTests(TestCase):
943
733
  """Test py ast to Jac ast conversion output."""
944
734
  captured_output = io.StringIO()
945
735
  sys.stdout = captured_output
946
- jac_import("hash_init_check", base_path=self.fixture_abs_path("./"))
736
+ Jac.jac_import(
737
+ self.mach, "hash_init_check", base_path=self.fixture_abs_path("./")
738
+ )
947
739
  sys.stdout = sys.__stdout__
948
740
  stdout_value = captured_output.getvalue()
949
741
  self.assertIn("Test Passed", stdout_value)
950
742
 
951
743
  def test_multiline_single_tok(self) -> None:
952
744
  """Test conn assign on edges."""
953
- mypass = jac_file_to_pass(self.fixture_abs_path("byllmissue.jac"))
954
- self.assertIn("2:5 - 4:8", mypass.ir.pp())
955
-
956
- def test_single_impl_annex(self) -> None:
957
- """Basic test for pass."""
958
- mypass = jac_file_to_pass(
959
- self.examples_abs_path("manual_code/circle_pure.jac"),
960
- target=passes.JacImportPass,
961
- )
962
-
963
- self.assertEqual(mypass.ir.pp().count("AbilityDef - (o)Circle.(c)area"), 1)
964
- self.assertIsNone(mypass.ir._sym_tab)
965
- mypass = jac_file_to_pass(
966
- self.examples_abs_path("manual_code/circle_pure.jac"),
967
- target=passes.SymTabBuildPass,
968
- )
969
- self.assertEqual(
970
- len([i for i in mypass.ir.sym_tab.kid if i.name == "circle_pure.impl"]),
971
- 1,
972
- )
745
+ mypass = JacProgram().compile(self.fixture_abs_path("byllmissue.jac"))
746
+ self.assertIn("2:5 - 4:8", mypass.pp())
973
747
 
974
748
  def test_inherit_baseclass_sym(self) -> None:
975
749
  """Basic test for symtable support for inheritance."""
976
- mypass = jac_file_to_pass(
977
- self.examples_abs_path("guess_game/guess_game4.jac"),
978
- target=passes.DefUsePass,
750
+ mypass = JacProgram().compile(
751
+ self.examples_abs_path("guess_game/guess_game4.jac")
979
752
  )
980
753
  table = None
981
- for i in mypass.ir.sym_tab.kid:
982
- if i.name == "GuessTheNumberGame":
983
- for j in i.kid:
984
- if j.name == "play":
754
+ for i in mypass.sym_tab.kid_scope:
755
+ if i.scope_name == "GuessTheNumberGame":
756
+ for j in i.kid_scope:
757
+ if j.scope_name == "play":
985
758
  table = j
986
759
  break
987
760
  break
@@ -992,7 +765,9 @@ class JacLanguageTests(TestCase):
992
765
  """Test importing python."""
993
766
  captured_output = io.StringIO()
994
767
  sys.stdout = captured_output
995
- jac_import("edgetypeissue", base_path=self.fixture_abs_path("./"))
768
+ Jac.jac_import(
769
+ self.mach, "edgetypeissue", base_path=self.fixture_abs_path("./")
770
+ )
996
771
  sys.stdout = sys.__stdout__
997
772
  stdout_value = captured_output.getvalue()
998
773
  self.assertIn("[x()]", stdout_value)
@@ -1001,7 +776,9 @@ class JacLanguageTests(TestCase):
1001
776
  """Test importing python."""
1002
777
  captured_output = io.StringIO()
1003
778
  sys.stdout = captured_output
1004
- jac_import("blankwithentry", base_path=self.fixture_abs_path("./"))
779
+ Jac.jac_import(
780
+ self.mach, "blankwithentry", base_path=self.fixture_abs_path("./")
781
+ )
1005
782
  sys.stdout = sys.__stdout__
1006
783
  stdout_value = captured_output.getvalue()
1007
784
  self.assertIn("i work", stdout_value)
@@ -1010,7 +787,7 @@ class JacLanguageTests(TestCase):
1010
787
  """Test importing python."""
1011
788
  captured_output = io.StringIO()
1012
789
  sys.stdout = captured_output
1013
- jac_import("dblhello", base_path=self.fixture_abs_path("./"))
790
+ Jac.jac_import(self.mach, "dblhello", base_path=self.fixture_abs_path("./"))
1014
791
  sys.stdout = sys.__stdout__
1015
792
  stdout_value = captured_output.getvalue()
1016
793
  self.assertEqual(stdout_value.count("Hello World!"), 1)
@@ -1020,7 +797,7 @@ class JacLanguageTests(TestCase):
1020
797
  """Test class method output."""
1021
798
  captured_output = io.StringIO()
1022
799
  sys.stdout = captured_output
1023
- jac_import("cls_method", base_path=self.fixture_abs_path("./"))
800
+ Jac.jac_import(self.mach, "cls_method", base_path=self.fixture_abs_path("./"))
1024
801
  sys.stdout = sys.__stdout__
1025
802
  stdout_value = captured_output.getvalue().split("\n")
1026
803
  self.assertEqual("MyClass", stdout_value[0])
@@ -1032,7 +809,7 @@ class JacLanguageTests(TestCase):
1032
809
  captured_output = io.StringIO()
1033
810
  sys.stdout = captured_output
1034
811
 
1035
- jac_import("foo", base_path=self.fixture_abs_path("."))
812
+ Jac.jac_import(self.mach, "foo", base_path=self.fixture_abs_path("."))
1036
813
 
1037
814
  sys.stdout = sys.__stdout__
1038
815
  stdout_value = captured_output.getvalue()
@@ -1046,11 +823,11 @@ class JacLanguageTests(TestCase):
1046
823
  stdout_value,
1047
824
  )
1048
825
  self.assertIn(
1049
- "Walkers in bar:\n - Walker: Walker\n - Walker: bar_walk",
826
+ "Walkers in bar:\n - Walker: bar_walk",
1050
827
  stdout_value,
1051
828
  )
1052
829
  self.assertIn("Nodes in bar:\n - Node: Item", stdout_value)
1053
- self.assertIn("Edges in bar:\n - Edge: Edge\n - Edge: Link", stdout_value)
830
+ self.assertIn("Edges in bar:\n - Edge: Link", stdout_value)
1054
831
  self.assertIn("Item value: 0", stdout_value)
1055
832
  self.assertIn("Created 5 items.", stdout_value)
1056
833
 
@@ -1111,11 +888,11 @@ class JacLanguageTests(TestCase):
1111
888
  with open(bar_file_path, "w") as bar_file:
1112
889
  bar_file.write(original_content)
1113
890
 
1114
- def test_dynamic_spawn_architype(self) -> None:
891
+ def test_dynamic_spawn_archetype(self) -> None:
1115
892
  """Test that the walker and node can be spawned and behaves as expected."""
1116
893
  captured_output = io.StringIO()
1117
894
  sys.stdout = captured_output
1118
- cli.run(self.fixture_abs_path("dynamic_architype.jac"))
895
+ cli.run(self.fixture_abs_path("dynamic_archetype.jac"))
1119
896
 
1120
897
  output = captured_output.getvalue().strip()
1121
898
  output_lines = output.split("\n")
@@ -1151,11 +928,11 @@ class JacLanguageTests(TestCase):
1151
928
  f"Expected '{val}' to appear 2 times, but found {len(occurrences)}.",
1152
929
  )
1153
930
 
1154
- def test_dynamic_architype_creation(self) -> None:
931
+ def test_dynamic_archetype_creation(self) -> None:
1155
932
  """Test that the walker and node can be created dynamically."""
1156
933
  captured_output = io.StringIO()
1157
934
  sys.stdout = captured_output
1158
- cli.run(self.fixture_abs_path("create_dynamic_architype.jac"))
935
+ cli.run(self.fixture_abs_path("create_dynamic_archetype.jac"))
1159
936
 
1160
937
  output = captured_output.getvalue().strip()
1161
938
  # Expected outputs for spawned entities
@@ -1167,7 +944,7 @@ class JacLanguageTests(TestCase):
1167
944
  f"Expected '{expected_spawned_walker}' in output.",
1168
945
  )
1169
946
 
1170
- def test_dynamic_architype_creation_rel_import(self) -> None:
947
+ def test_dynamic_archetype_creation_rel_import(self) -> None:
1171
948
  """Test that the walker and node can be created dynamically, with relative import."""
1172
949
  captured_output = io.StringIO()
1173
950
  sys.stdout = captured_output
@@ -1198,7 +975,9 @@ class JacLanguageTests(TestCase):
1198
975
  """Test match case with multiple expressions."""
1199
976
  captured_output = io.StringIO()
1200
977
  sys.stdout = captured_output
1201
- jac_import("match_multi_ex", base_path=self.fixture_abs_path("./"))
978
+ Jac.jac_import(
979
+ self.mach, "match_multi_ex", base_path=self.fixture_abs_path("./")
980
+ )
1202
981
  sys.stdout = sys.__stdout__
1203
982
  stdout_value = captured_output.getvalue().split("\n")
1204
983
  self.assertEqual("Ten", stdout_value[0])
@@ -1208,7 +987,7 @@ class JacLanguageTests(TestCase):
1208
987
  """Test entry and exit behavior of walker."""
1209
988
  captured_output = io.StringIO()
1210
989
  sys.stdout = captured_output
1211
- jac_import("entry_exit", base_path=self.fixture_abs_path("./"))
990
+ Jac.jac_import(self.mach, "entry_exit", base_path=self.fixture_abs_path("./"))
1212
991
  sys.stdout = sys.__stdout__
1213
992
  stdout_value = captured_output.getvalue().split("\n")
1214
993
  self.assertIn("Entering at the beginning of walker: Root()", stdout_value[0])
@@ -1221,7 +1000,7 @@ class JacLanguageTests(TestCase):
1221
1000
  """Test entry and exit behavior of walker."""
1222
1001
  captured_output = io.StringIO()
1223
1002
  sys.stdout = captured_output
1224
- jac_import("visit_order", base_path=self.fixture_abs_path("./"))
1003
+ Jac.jac_import(self.mach, "visit_order", base_path=self.fixture_abs_path("./"))
1225
1004
  sys.stdout = sys.__stdout__
1226
1005
  stdout_value = captured_output.getvalue()
1227
1006
  self.assertEqual("[MyNode(Name='End'), MyNode(Name='Middle')]\n", stdout_value)
@@ -1230,17 +1009,21 @@ class JacLanguageTests(TestCase):
1230
1009
  """Test supporting multiple global variable in a statement."""
1231
1010
  captured_output = io.StringIO()
1232
1011
  sys.stdout = captured_output
1233
- jac_import("glob_multivar_statement", base_path=self.fixture_abs_path("./"))
1012
+ Jac.jac_import(
1013
+ self.mach, "glob_multivar_statement", base_path=self.fixture_abs_path("./")
1014
+ )
1234
1015
  sys.stdout = sys.__stdout__
1235
1016
  stdout_value = captured_output.getvalue().split("\n")
1236
1017
  self.assertIn("Hello World !", stdout_value[0])
1237
1018
  self.assertIn("Welcome to Jaseci!", stdout_value[1])
1238
1019
 
1239
- def test_architype_def(self) -> None:
1240
- """Test architype definition bug."""
1020
+ def test_archetype_def(self) -> None:
1021
+ """Test archetype definition bug."""
1241
1022
  captured_output = io.StringIO()
1242
1023
  sys.stdout = captured_output
1243
- jac_import("architype_def_bug", base_path=self.fixture_abs_path("./"))
1024
+ Jac.jac_import(
1025
+ self.mach, "archetype_def_bug", base_path=self.fixture_abs_path("./")
1026
+ )
1244
1027
  sys.stdout = sys.__stdout__
1245
1028
  stdout_value = captured_output.getvalue().split("\n")
1246
1029
  self.assertIn("MyWalker", stdout_value[0])
@@ -1250,7 +1033,9 @@ class JacLanguageTests(TestCase):
1250
1033
  """Test conn assign on edges."""
1251
1034
  captured_output = io.StringIO()
1252
1035
  sys.stdout = captured_output
1253
- jac_import("visit_sequence", base_path=self.fixture_abs_path("./"))
1036
+ Jac.jac_import(
1037
+ self.mach, "visit_sequence", base_path=self.fixture_abs_path("./")
1038
+ )
1254
1039
  sys.stdout = sys.__stdout__
1255
1040
  self.assertEqual(
1256
1041
  "walker entry\nwalker enter to root\n"
@@ -1261,16 +1046,299 @@ class JacLanguageTests(TestCase):
1261
1046
  captured_output.getvalue(),
1262
1047
  )
1263
1048
 
1264
- def test_nested_impls(self) -> None:
1049
+ def test_connect_traverse_syntax(self) -> None:
1050
+ """Test connect traverse syntax."""
1051
+ captured_output = io.StringIO()
1052
+ sys.stdout = captured_output
1053
+ Jac.jac_import(
1054
+ self.mach, "connect_traverse_syntax", base_path=self.fixture_abs_path("./")
1055
+ )
1056
+ sys.stdout = sys.__stdout__
1057
+ stdout_value = captured_output.getvalue().split("\n")
1058
+ self.assertIn("A(val=5), A(val=10)", stdout_value[0])
1059
+ self.assertIn("[Root(), A(val=20)]", stdout_value[1])
1060
+ self.assertIn(
1061
+ "A(val=5), A(val=10)", stdout_value[2]
1062
+ ) # Remove after dropping deprecated syntax support
1063
+ self.assertIn(
1064
+ "[Root(), A(val=20)]", stdout_value[3]
1065
+ ) # Remove after dropping deprecated syntax support
1066
+
1067
+ def test_node_del(self) -> None:
1265
1068
  """Test complex nested impls."""
1266
1069
  captured_output = io.StringIO()
1267
1070
  sys.stdout = captured_output
1268
- jac_import("nested_impls", base_path=self.fixture_abs_path("./"))
1071
+ Jac.jac_import(self.mach, "node_del", base_path=self.fixture_abs_path("./"))
1072
+ sys.stdout = sys.__stdout__
1073
+ stdout_value = captured_output.getvalue().split("\n")
1074
+ self.assertIn("0 : [2, 3, 4, 5, 6, 7, 8, 9, 10]", stdout_value[0])
1075
+ self.assertIn("7, 8 : [2, 3, 4, 5, 6, 7, 9]", stdout_value[1])
1076
+ self.assertIn("before delete : Inner(c=[1, 2, 3], d=4)", stdout_value[2])
1077
+ self.assertIn("after delete : Inner(c=[1, 3], d=4)", stdout_value[3])
1078
+
1079
+ # Helper method to create files within tests
1080
+ def create_temp_jac_file(
1081
+ self, content: str, dir_path: str, filename: str = "test_mod.jac"
1082
+ ) -> str:
1083
+ """Create a temporary Jac file in a specific directory."""
1084
+ full_path = os.path.join(dir_path, filename)
1085
+ os.makedirs(os.path.dirname(full_path), exist_ok=True)
1086
+ with open(full_path, "w") as f:
1087
+ f.write(content)
1088
+ return full_path
1089
+
1090
+ def test_import_from_site_packages(self) -> None:
1091
+ """Test importing a Jac module from simulated site-packages."""
1092
+ with tempfile.TemporaryDirectory() as tmpdir:
1093
+ # Simulate site-packages directory structure
1094
+ mock_site_dir = os.path.join(tmpdir, "site-packages")
1095
+ os.makedirs(mock_site_dir)
1096
+
1097
+ # Create a module within the simulated site-packages
1098
+ site_mod_content = 'with entry { "Site package module loaded!" |> print; }'
1099
+ self.create_temp_jac_file(
1100
+ site_mod_content, mock_site_dir, "site_pkg_mod.jac"
1101
+ )
1102
+
1103
+ # Create the importing script in the main temp directory
1104
+ importer_content = "import site_pkg_mod;"
1105
+ _ = self.create_temp_jac_file(importer_content, tmpdir, "importer_site.jac")
1106
+ with patch("site.getsitepackages", return_value=[mock_site_dir]):
1107
+ captured_output = io.StringIO()
1108
+ sys.stdout = captured_output
1109
+ original_cwd = os.getcwd()
1110
+ try:
1111
+ Jac.jac_import(self.mach, "importer_site", base_path=tmpdir)
1112
+ finally:
1113
+ os.chdir(original_cwd)
1114
+ sys.stdout = sys.__stdout__
1115
+
1116
+ stdout_value = captured_output.getvalue()
1117
+ self.assertIn("Site package module loaded!", stdout_value)
1118
+
1119
+ def test_import_from_jacpath(self) -> None:
1120
+ """Test importing a Jac module from JACPATH."""
1121
+ with tempfile.TemporaryDirectory() as tmpdir:
1122
+ # Simulate JACPATH directory
1123
+ jacpath_dir = os.path.join(tmpdir, "jaclibs")
1124
+ os.makedirs(jacpath_dir)
1125
+
1126
+ # Create a module in the JACPATH directory
1127
+ jacpath_mod_content = 'with entry { "JACPATH module loaded!" |> print; }'
1128
+ self.create_temp_jac_file(
1129
+ jacpath_mod_content, jacpath_dir, "jacpath_mod.jac"
1130
+ )
1131
+
1132
+ # Create the importing script in a different location
1133
+ script_dir = os.path.join(tmpdir, "scripts")
1134
+ os.makedirs(script_dir)
1135
+ importer_content = "import jacpath_mod;"
1136
+ _ = self.create_temp_jac_file(importer_content, script_dir, "importer.jac")
1137
+
1138
+ # Set JACPATH environment variable and run
1139
+ original_jacpath = os.environ.get("JACPATH")
1140
+ os.environ["JACPATH"] = jacpath_dir
1141
+ captured_output = io.StringIO()
1142
+ sys.stdout = captured_output
1143
+ original_cwd = os.getcwd()
1144
+ os.chdir(script_dir)
1145
+ try:
1146
+ cli.run("importer.jac")
1147
+ finally:
1148
+ os.chdir(original_cwd)
1149
+ sys.stdout = sys.__stdout__
1150
+ # Clean up environment variable
1151
+ if original_jacpath is None:
1152
+ if "JACPATH" in os.environ:
1153
+ del os.environ["JACPATH"]
1154
+ else:
1155
+ os.environ["JACPATH"] = original_jacpath
1156
+
1157
+ stdout_value = captured_output.getvalue()
1158
+ self.assertIn("JACPATH module loaded!", stdout_value)
1159
+
1160
+ def test_obj_hasvar_initialization(self) -> None:
1161
+ """Basic test for pass."""
1162
+ (out := JacProgram()).compile(
1163
+ self.fixture_abs_path("uninitialized_hasvars.jac")
1164
+ )
1165
+ self.assertTrue(out.errors_had)
1166
+
1167
+ expected_stdout_values = (
1168
+ "Non default attribute 'var3' follows default attribute",
1169
+ " 4 | has var1: int;",
1170
+ " 5 | has var2: int = 42;",
1171
+ " 6 | has var3: int; # <-- This should be syntax error.",
1172
+ " | ^^^^",
1173
+ " 7 | }",
1174
+ 'Missing "postinit" method required by un initialized attribute(s).',
1175
+ " 11 | obj Test2 {",
1176
+ " 12 | has var1: str;",
1177
+ " 13 | has var2: int by postinit;",
1178
+ " | ^^^^",
1179
+ " 14 | }",
1180
+ "Non default attribute 'var4' follows default attribute",
1181
+ " 19 | has var2: int = 42;",
1182
+ " 20 | has var3: int by postinit; # <-- This is fine.",
1183
+ " 21 | has var4: int; # <-- This should be syntax error.",
1184
+ " | ^^^^",
1185
+ " 22 |",
1186
+ " 23 | def postinit() {",
1187
+ )
1188
+
1189
+ errors_output = ""
1190
+ for error in out.errors_had:
1191
+ errors_output += error.pretty_print() + "\n"
1192
+
1193
+ for exp in expected_stdout_values:
1194
+ self.assertIn(exp, errors_output)
1195
+
1196
+ def test_async_walker(self) -> None:
1197
+ """Test async walker."""
1198
+ captured_output = io.StringIO()
1199
+ sys.stdout = captured_output
1200
+ Jac.jac_import(self.mach, "async_walker", base_path=self.fixture_abs_path("./"))
1201
+ sys.stdout = sys.__stdout__
1202
+ stdout_value = captured_output.getvalue().split("\n")
1203
+ self.assertNotIn("It is non blocking", stdout_value[4])
1204
+ self.assertIn("W(num=8)", stdout_value[5])
1205
+
1206
+ def test_async_ability(self) -> None:
1207
+ """Test async ability."""
1208
+ captured_output = io.StringIO()
1209
+ sys.stdout = captured_output
1210
+ Jac.jac_import(
1211
+ self.mach, "async_ability", base_path=self.fixture_abs_path("./")
1212
+ )
1213
+ sys.stdout = sys.__stdout__
1214
+ stdout_value = captured_output.getvalue().split("\n")
1215
+ self.assertIn("Hello", stdout_value[0])
1216
+ self.assertIn("Hello", stdout_value[1])
1217
+ self.assertIn("World!", stdout_value[2])
1218
+
1219
+ def test_concurrency(self) -> None:
1220
+ """Test concurrency in jaclang."""
1221
+ captured_output = io.StringIO()
1222
+ sys.stdout = captured_output
1223
+ Jac.jac_import(self.mach, "concurrency", base_path=self.fixture_abs_path("./"))
1224
+ sys.stdout = sys.__stdout__
1225
+ stdout_value = captured_output.getvalue().split("\n")
1226
+ self.assertIn("Started", stdout_value[0])
1227
+ self.assertIn("B(name='Hi')", stdout_value[8])
1228
+ self.assertIn("11", stdout_value[9])
1229
+ self.assertIn("13", stdout_value[10])
1230
+
1231
+ def test_import_jac_from_py(self) -> None:
1232
+ """Parse micro jac file."""
1233
+ captured_output = io.StringIO()
1234
+ sys.stdout = captured_output
1235
+ from .fixtures import jac_from_py
1236
+
1237
+ sys.stdout = sys.__stdout__
1238
+ stdout_value = captured_output.getvalue()
1239
+ self.assertEqual(
1240
+ stdout_value,
1241
+ "Value: -1\nValue: 0\nValue: 1\nValue: 2\nValue: 3\nValue: 4"
1242
+ "\nValue: 5\nValue: 6\nValue: 7\nFinal Value: 8\nDone walking.\n",
1243
+ )
1244
+
1245
+ def test_py_namedexpr(self) -> None:
1246
+ """Ensure NamedExpr nodes are converted to AtomUnit."""
1247
+ from jaclang.compiler.passes.main import PyastBuildPass
1248
+ import jaclang.compiler.unitree as uni
1249
+ import ast as py_ast
1250
+
1251
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py_namedexpr.py")
1252
+ with open(py_out_path) as f:
1253
+ file_source = f.read()
1254
+ output = PyastBuildPass(
1255
+ ir_in=uni.PythonModuleAst(
1256
+ py_ast.parse(file_source),
1257
+ orig_src=uni.Source(file_source, py_out_path),
1258
+ ),
1259
+ prog=JacProgram(),
1260
+ ).ir_out.unparse()
1261
+ self.assertIn("(x := 10)", output)
1262
+
1263
+ def test_py_bool_parentheses(self) -> None:
1264
+ """Ensure boolean expressions preserve parentheses during conversion."""
1265
+ from jaclang.compiler.passes.main import PyastBuildPass
1266
+ import jaclang.compiler.unitree as uni
1267
+ import ast as py_ast
1268
+
1269
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py_bool_expr.py")
1270
+ with open(py_out_path) as f:
1271
+ file_source = f.read()
1272
+ output = PyastBuildPass(
1273
+ ir_in=uni.PythonModuleAst(
1274
+ py_ast.parse(file_source),
1275
+ orig_src=uni.Source(file_source, py_out_path),
1276
+ ),
1277
+ prog=JacProgram(),
1278
+ ).ir_out.unparse()
1279
+ self.assertIn("(prev_token_index is None)", output)
1280
+ self.assertIn("(next_token_index is None)", output)
1281
+ self.assertIn("(tok[ 0 ] > change_end_line)", output)
1282
+ self.assertIn("(tok[ 0 ] == change_end_line)", output)
1283
+ self.assertIn("(tok[ 1 ] > change_end_char)", output)
1284
+
1285
+ def test_here_visitor_usage(self) -> None:
1286
+ """Test visitor, here keyword usage in jaclang."""
1287
+ captured_output = io.StringIO()
1288
+ sys.stdout = captured_output
1289
+ Jac.jac_import(
1290
+ self.mach, "here_visitor_usage", base_path=self.fixture_abs_path("./")
1291
+ )
1292
+ sys.stdout = sys.__stdout__
1293
+ stdout_value = captured_output.getvalue().split("\n")
1294
+ self.assertIn("Here value is 10", stdout_value[0])
1295
+ self.assertIn("Visitor name is Walker 1", stdout_value[1])
1296
+
1297
+ def test_here_visitor_error(self) -> None:
1298
+ """Test visitor, here keyword usage in jaclang."""
1299
+ captured_output = io.StringIO()
1300
+ sys.stdout = captured_output
1301
+ sys.stderr = captured_output
1302
+ cli.run(self.fixture_abs_path("here_usage_error.jac"))
1303
+ sys.stdout = sys.__stdout__
1304
+ sys.stderr = sys.__stderr__
1305
+ stdout_value = captured_output.getvalue()
1306
+ self.assertIn("'here' is not defined", stdout_value)
1307
+
1308
+ def test_edge_ability(self) -> None:
1309
+ """Test visitor, here keyword usage in jaclang."""
1310
+ captured_output = io.StringIO()
1311
+ sys.stdout = captured_output
1312
+ cli.run(self.fixture_abs_path("edge_ability.jac"))
1313
+ sys.stdout = sys.__stdout__
1314
+ stdout_value = captured_output.getvalue().split("\n")
1315
+ self.assertIn("MyEdge from walker MyEdge(path=1)", stdout_value[0])
1316
+ self.assertIn("MyWalker from edge MyWalker()", stdout_value[1])
1317
+ self.assertIn("MyWalker from node MyWalker()", stdout_value[6])
1318
+ self.assertIn("MyEdge from walker MyEdge(path=2)", stdout_value[16])
1319
+
1320
+ def test_backward_edge_visit(self) -> None:
1321
+ """Test backward edge visit in jaclang."""
1322
+ captured_output = io.StringIO()
1323
+ sys.stdout = captured_output
1324
+ cli.run(self.fixture_abs_path("backward_edge_visit.jac"))
1325
+ sys.stdout = sys.__stdout__
1326
+ stdout_value = captured_output.getvalue().split("\n")
1327
+ self.assertIn("MyWalker() from node MyNode(val=0)", stdout_value[0])
1328
+ self.assertIn("MyWalker() from edge MyEdge(path=0)", stdout_value[1])
1329
+ self.assertIn("MyWalker() from edge MyEdge(path=3)", stdout_value[6])
1330
+ self.assertIn("MyWalker() from node MyNode(val=40)", stdout_value[9])
1331
+
1332
+ def test_visit_traversal(self) -> None:
1333
+ """Test visit traversal semantic in jaclang."""
1334
+ captured_output = io.StringIO()
1335
+ sys.stdout = captured_output
1336
+ cli.run(self.fixture_abs_path("visit_traversal.jac"))
1269
1337
  sys.stdout = sys.__stdout__
1270
1338
  stdout_value = captured_output.getvalue().split("\n")
1271
- self.assertIn("Hello,from bar in kk", stdout_value[0])
1272
- self.assertIn("Greeting: Hello, World!", stdout_value[1])
1273
- self.assertIn("Repeated: Hello", stdout_value[2])
1274
- self.assertIn("Hello, World!", stdout_value[3])
1275
- self.assertIn("Last message:!", stdout_value[4])
1276
- self.assertIn("Final message:!", stdout_value[5])
1339
+ self.assertIn("MyWalker() from node MyNode(val=0)", stdout_value[0])
1340
+ self.assertIn("MyWalker() from node MyNode(val=20)", stdout_value[2])
1341
+ self.assertIn("MyWalker() from node MyNode(val=60)", stdout_value[4])
1342
+ self.assertIn("MyWalker() from node MyNode(val=40)", stdout_value[6])
1343
+ self.assertIn("MyWalker() from node MyNode(val=90)", stdout_value[7])
1344
+ self.assertIn("MyWalker() from node MyNode(val=70)", stdout_value[9])