jaclang 0.7.33__py3-none-any.whl → 0.8.0__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 (1481) hide show
  1. jaclang/__init__.py +7 -414
  2. jaclang/cli/cli.md +5 -5
  3. jaclang/cli/cli.py +311 -214
  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 +61 -92
  9. jaclang/compiler/larkparse/jac_parser.py +3444 -0
  10. jaclang/compiler/parser.py +1054 -1341
  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 +146 -102
  16. jaclang/compiler/passes/main/def_use_pass.py +64 -269
  17. jaclang/compiler/passes/main/import_pass.py +175 -360
  18. jaclang/compiler/passes/main/inheritance_pass.py +107 -105
  19. jaclang/compiler/passes/main/pyast_gen_pass.py +1129 -1600
  20. jaclang/compiler/passes/main/pyast_load_pass.py +540 -584
  21. jaclang/compiler/passes/main/pybc_gen_pass.py +38 -35
  22. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +46 -160
  23. jaclang/compiler/passes/main/sym_tab_build_pass.py +113 -1202
  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 +23 -0
  66. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/main.jac +14 -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 +99 -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 +1210 -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 +205 -0
  107. jaclang/compiler/tests/fixtures/codegentext.jac +31 -0
  108. jaclang/compiler/tests/fixtures/fam.jac +10 -10
  109. jaclang/compiler/tests/fixtures/hello_world.jac +1 -1
  110. jaclang/compiler/tests/fixtures/staticcheck.jac +2 -2
  111. jaclang/compiler/tests/test_importer.py +21 -16
  112. jaclang/compiler/tests/test_parser.py +38 -17
  113. jaclang/compiler/{absyntree.py → unitree.py} +1120 -1012
  114. jaclang/langserve/engine.py +183 -171
  115. jaclang/langserve/sem_manager.py +26 -22
  116. jaclang/langserve/server.py +6 -15
  117. jaclang/langserve/tests/fixtures/base_module_structure.jac +7 -7
  118. jaclang/langserve/tests/fixtures/circle.jac +6 -6
  119. jaclang/langserve/tests/fixtures/circle_err.jac +6 -6
  120. jaclang/langserve/tests/fixtures/circle_pure.impl.jac +5 -5
  121. jaclang/langserve/tests/fixtures/circle_pure.jac +7 -7
  122. jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +2 -2
  123. jaclang/langserve/tests/fixtures/circle_pure_err.jac +7 -7
  124. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -6
  125. jaclang/langserve/tests/fixtures/rename.jac +6 -6
  126. jaclang/langserve/tests/server_test/test_lang_serve.py +262 -0
  127. jaclang/langserve/tests/server_test/utils.py +115 -0
  128. jaclang/langserve/tests/test_sem_tokens.py +2 -2
  129. jaclang/langserve/tests/test_server.py +41 -23
  130. jaclang/langserve/utils.jac +438 -0
  131. jaclang/runtimelib/{architype.py → archetype.py} +85 -61
  132. jaclang/runtimelib/builtin.py +92 -0
  133. jaclang/runtimelib/constructs.py +11 -13
  134. jaclang/runtimelib/importer.py +63 -51
  135. jaclang/runtimelib/machine.py +1551 -144
  136. jaclang/runtimelib/memory.py +6 -6
  137. jaclang/{plugin → runtimelib}/tests/fixtures/graph_purger.jac +1 -1
  138. jaclang/{plugin → runtimelib}/tests/fixtures/impl_match.jac +2 -2
  139. jaclang/runtimelib/tests/fixtures/impl_match_impl.jac +3 -0
  140. jaclang/{plugin → runtimelib}/tests/fixtures/other_root_access.jac +7 -7
  141. jaclang/{plugin → runtimelib}/tests/fixtures/savable_object.jac +3 -5
  142. jaclang/{plugin → runtimelib}/tests/fixtures/simple_node_connection.jac +6 -6
  143. jaclang/{plugin → runtimelib}/tests/fixtures/simple_persistent.jac +1 -1
  144. jaclang/runtimelib/tests/test_features.py +72 -0
  145. jaclang/{plugin → runtimelib}/tests/test_jaseci.py +6 -5
  146. jaclang/runtimelib/utils.py +31 -63
  147. jaclang/settings.py +1 -6
  148. jaclang/tests/fixtures/{abc.jac → abc_check.jac} +6 -6
  149. jaclang/tests/fixtures/arch_rel_import_creation.jac +4 -4
  150. jaclang/tests/fixtures/async_ability.jac +18 -0
  151. jaclang/tests/fixtures/async_walker.jac +23 -0
  152. jaclang/tests/fixtures/baddy.jac +1 -1
  153. jaclang/tests/fixtures/base_class1.jac +2 -2
  154. jaclang/tests/fixtures/base_class2.jac +2 -2
  155. jaclang/tests/fixtures/base_class_complex_expr.jac +3 -3
  156. jaclang/tests/fixtures/builtin_dotgen.jac +1 -1
  157. jaclang/tests/fixtures/builtin_dotgen_json.jac +21 -0
  158. jaclang/tests/fixtures/byllmissue.jac +1 -1
  159. jaclang/tests/fixtures/chandra_bugs.jac +1 -1
  160. jaclang/tests/fixtures/chandra_bugs2.jac +1 -1
  161. jaclang/tests/fixtures/cls_method.jac +6 -6
  162. jaclang/tests/fixtures/concurrency.jac +39 -0
  163. jaclang/tests/fixtures/connect_traverse_syntax.jac +18 -0
  164. jaclang/tests/fixtures/create_dynamic_archetype.jac +35 -0
  165. jaclang/tests/fixtures/decl_defn_param_name.jac +4 -4
  166. jaclang/tests/fixtures/deep/deeper/__init__.jac +1 -0
  167. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +2 -3
  168. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +3 -3
  169. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +2 -2
  170. jaclang/tests/fixtures/deep/mycode.jac +1 -1
  171. jaclang/tests/fixtures/deep/one_lev.jac +3 -4
  172. jaclang/tests/fixtures/deep/one_lev_dup.jac +2 -2
  173. jaclang/tests/fixtures/deep_convert.jac +1 -1
  174. jaclang/tests/fixtures/deep_import.jac +2 -2
  175. jaclang/tests/fixtures/deep_import_interp.jac +8 -0
  176. jaclang/tests/fixtures/deep_import_mods.jac +3 -3
  177. jaclang/tests/fixtures/deferred_field.jac +1 -1
  178. jaclang/tests/fixtures/del_clean.jac +7 -0
  179. jaclang/tests/fixtures/disconn.jac +3 -3
  180. jaclang/tests/fixtures/dynamic_archetype.jac +34 -0
  181. jaclang/tests/fixtures/edge_node_walk.jac +12 -12
  182. jaclang/tests/fixtures/edge_ops.jac +7 -7
  183. jaclang/tests/fixtures/edges_walk.jac +10 -10
  184. jaclang/tests/fixtures/edgetypeissue.jac +1 -1
  185. jaclang/tests/fixtures/enum_inside_archtype.jac +4 -4
  186. jaclang/tests/fixtures/err.impl.jac +1 -1
  187. jaclang/tests/fixtures/err.jac +2 -2
  188. jaclang/tests/fixtures/err_runtime.jac +2 -2
  189. jaclang/tests/fixtures/foo.jac +7 -7
  190. jaclang/tests/fixtures/game1.jac +4 -4
  191. jaclang/tests/fixtures/gendot_bubble_sort.jac +4 -4
  192. jaclang/tests/fixtures/glob_multivar_statement.jac +1 -1
  193. jaclang/tests/fixtures/guess_game.jac +5 -5
  194. jaclang/tests/fixtures/has_goodness.jac +1 -1
  195. jaclang/tests/fixtures/hash_init_check.jac +3 -3
  196. jaclang/tests/fixtures/hello.jac +1 -1
  197. jaclang/tests/fixtures/ignore.jac +3 -3
  198. jaclang/tests/fixtures/ignore_dup.jac +3 -3
  199. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -1
  200. jaclang/tests/fixtures/import.jac +9 -9
  201. jaclang/tests/fixtures/import_all.jac +1 -1
  202. jaclang/tests/fixtures/index_slice.jac +1 -1
  203. jaclang/tests/fixtures/inherit_check.jac +3 -3
  204. jaclang/tests/fixtures/jac_from_py.py +4 -0
  205. jaclang/tests/fixtures/jacsamp.jac +1 -1
  206. jaclang/tests/fixtures/jactest_main.jac +1 -1
  207. jaclang/tests/fixtures/jp_importer.jac +7 -8
  208. jaclang/tests/fixtures/jp_importer_auto.jac +3 -3
  209. jaclang/tests/fixtures/lambda.jac +2 -2
  210. jaclang/tests/fixtures/needs_import.jac +6 -6
  211. jaclang/tests/fixtures/needs_import_1.jac +1 -1
  212. jaclang/tests/fixtures/needs_import_2.jac +1 -1
  213. jaclang/tests/fixtures/needs_import_3.jac +1 -1
  214. jaclang/tests/fixtures/needs_import_dup.jac +6 -6
  215. jaclang/tests/fixtures/node_del.jac +60 -0
  216. jaclang/tests/fixtures/nosigself.jac +3 -3
  217. jaclang/tests/fixtures/py2jac.py +30 -0
  218. jaclang/tests/fixtures/py_bool_expr.py +7 -0
  219. jaclang/tests/fixtures/py_namedexpr.py +7 -0
  220. jaclang/tests/fixtures/pyfunc_3.py +0 -2
  221. jaclang/tests/fixtures/random_check.jac +5 -5
  222. jaclang/tests/fixtures/refs_target.jac +17 -0
  223. jaclang/tests/fixtures/simple_archs.jac +2 -2
  224. jaclang/tests/fixtures/simple_walk.jac +52 -0
  225. jaclang/tests/fixtures/slice_vals.jac +3 -3
  226. jaclang/tests/fixtures/sub_abil_sep.jac +3 -3
  227. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +3 -3
  228. jaclang/tests/fixtures/trailing_comma.jac +4 -4
  229. jaclang/tests/fixtures/type_info.jac +5 -5
  230. jaclang/{compiler/passes/main/tests → tests}/fixtures/uninitialized_hasvars.jac +1 -1
  231. jaclang/tests/fixtures/visit_order.jac +4 -4
  232. jaclang/tests/fixtures/walker_override.jac +2 -2
  233. jaclang/tests/fixtures/walker_update.jac +5 -5
  234. jaclang/tests/fixtures/with_context.jac +4 -4
  235. jaclang/tests/test_bugs.py +2 -2
  236. jaclang/tests/test_cli.py +118 -223
  237. jaclang/tests/test_language.py +474 -468
  238. jaclang/tests/test_man_code.py +2 -2
  239. jaclang/tests/test_reference.py +4 -4
  240. jaclang/tests/test_settings.py +16 -16
  241. jaclang/tests/test_typecheck.py +555 -0
  242. jaclang/utils/__init__.py +4 -0
  243. jaclang/utils/helpers.py +12 -27
  244. jaclang/utils/lang_tools.py +84 -74
  245. jaclang/utils/module_resolver.py +69 -0
  246. jaclang/utils/test.py +8 -5
  247. jaclang/utils/tests/test_lang_tools.py +38 -13
  248. jaclang/utils/treeprinter.py +177 -40
  249. jaclang/vendor/__init__.py +1 -2
  250. jaclang/vendor/attr/__init__.py +14 -44
  251. jaclang/vendor/attr/__init__.pyi +155 -321
  252. jaclang/vendor/attr/_cmp.py +25 -15
  253. jaclang/vendor/attr/_cmp.pyi +7 -7
  254. jaclang/vendor/attr/_compat.py +15 -8
  255. jaclang/vendor/attr/_config.py +1 -1
  256. jaclang/vendor/attr/_funcs.py +148 -163
  257. jaclang/vendor/attr/_make.py +859 -855
  258. jaclang/vendor/attr/_next_gen.py +426 -32
  259. jaclang/vendor/attr/converters.py +67 -49
  260. jaclang/vendor/attr/converters.pyi +13 -7
  261. jaclang/vendor/attr/filters.py +17 -11
  262. jaclang/vendor/attr/filters.pyi +3 -3
  263. jaclang/vendor/attr/setters.py +11 -5
  264. jaclang/vendor/attr/setters.pyi +2 -1
  265. jaclang/vendor/attr/validators.py +191 -162
  266. jaclang/vendor/attr/validators.pyi +25 -27
  267. jaclang/vendor/attrs/__init__.py +9 -5
  268. jaclang/vendor/attrs/__init__.pyi +225 -29
  269. jaclang/vendor/attrs-25.3.0.dist-info/INSTALLER +1 -0
  270. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/METADATA +83 -53
  271. jaclang/vendor/attrs-25.3.0.dist-info/RECORD +56 -0
  272. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/WHEEL +1 -1
  273. jaclang/vendor/bin/dmypy +8 -0
  274. jaclang/vendor/bin/mypy +8 -0
  275. jaclang/vendor/bin/mypyc +8 -0
  276. jaclang/vendor/bin/stubgen +8 -0
  277. jaclang/vendor/bin/stubtest +8 -0
  278. jaclang/vendor/cattr/gen.py +2 -2
  279. jaclang/vendor/cattr/preconf/bson.py +1 -0
  280. jaclang/vendor/cattr/preconf/json.py +1 -0
  281. jaclang/vendor/cattr/preconf/msgpack.py +1 -0
  282. jaclang/vendor/cattr/preconf/orjson.py +1 -0
  283. jaclang/vendor/cattr/preconf/pyyaml.py +1 -0
  284. jaclang/vendor/cattr/preconf/tomlkit.py +1 -0
  285. jaclang/vendor/cattr/preconf/ujson.py +1 -0
  286. jaclang/vendor/cattrs/__init__.py +21 -21
  287. jaclang/vendor/cattrs/_compat.py +176 -62
  288. jaclang/vendor/cattrs/_generics.py +5 -3
  289. jaclang/vendor/cattrs/cols.py +289 -0
  290. jaclang/vendor/cattrs/converters.py +505 -187
  291. jaclang/vendor/cattrs/disambiguators.py +118 -45
  292. jaclang/vendor/cattrs/dispatch.py +66 -36
  293. jaclang/vendor/cattrs/fns.py +6 -1
  294. jaclang/vendor/cattrs/gen/__init__.py +365 -202
  295. jaclang/vendor/cattrs/gen/_generics.py +41 -5
  296. jaclang/vendor/cattrs/gen/_lc.py +3 -2
  297. jaclang/vendor/cattrs/gen/_shared.py +39 -32
  298. jaclang/vendor/cattrs/gen/typeddicts.py +75 -88
  299. jaclang/vendor/cattrs/preconf/__init__.py +20 -0
  300. jaclang/vendor/cattrs/preconf/bson.py +7 -8
  301. jaclang/vendor/cattrs/preconf/cbor2.py +3 -0
  302. jaclang/vendor/cattrs/preconf/json.py +8 -4
  303. jaclang/vendor/cattrs/preconf/msgpack.py +3 -0
  304. jaclang/vendor/cattrs/preconf/msgspec.py +185 -0
  305. jaclang/vendor/cattrs/preconf/orjson.py +20 -7
  306. jaclang/vendor/cattrs/preconf/pyyaml.py +15 -3
  307. jaclang/vendor/cattrs/preconf/tomlkit.py +3 -1
  308. jaclang/vendor/cattrs/preconf/ujson.py +3 -0
  309. jaclang/vendor/cattrs/strategies/__init__.py +1 -0
  310. jaclang/vendor/cattrs/strategies/_class_methods.py +1 -1
  311. jaclang/vendor/cattrs/strategies/_subclasses.py +43 -29
  312. jaclang/vendor/cattrs/strategies/_unions.py +47 -24
  313. jaclang/vendor/cattrs/v.py +1 -0
  314. jaclang/vendor/cattrs-24.1.3.dist-info/INSTALLER +1 -0
  315. jaclang/vendor/cattrs-24.1.3.dist-info/METADATA +161 -0
  316. jaclang/vendor/cattrs-24.1.3.dist-info/RECORD +96 -0
  317. jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/WHEEL +1 -1
  318. jaclang/vendor/lark/__init__.py +38 -38
  319. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -6
  320. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  321. jaclang/vendor/lark/ast_utils.py +59 -59
  322. jaclang/vendor/lark/common.py +86 -89
  323. jaclang/vendor/lark/exceptions.py +292 -292
  324. jaclang/vendor/lark/grammar.py +130 -130
  325. jaclang/vendor/lark/grammars/common.lark +59 -59
  326. jaclang/vendor/lark/grammars/lark.lark +62 -62
  327. jaclang/vendor/lark/grammars/python.lark +302 -302
  328. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  329. jaclang/vendor/lark/indenter.py +143 -112
  330. jaclang/vendor/lark/lark.py +658 -661
  331. jaclang/vendor/lark/lexer.py +678 -678
  332. jaclang/vendor/lark/load_grammar.py +1428 -1428
  333. jaclang/vendor/lark/parse_tree_builder.py +391 -391
  334. jaclang/vendor/lark/parser_frontends.py +257 -257
  335. jaclang/vendor/lark/parsers/cyk.py +340 -340
  336. jaclang/vendor/lark/parsers/earley.py +317 -308
  337. jaclang/vendor/lark/parsers/earley_common.py +42 -42
  338. jaclang/vendor/lark/parsers/earley_forest.py +802 -810
  339. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -203
  340. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -332
  341. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +158 -157
  342. jaclang/vendor/lark/parsers/lalr_parser.py +122 -122
  343. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -110
  344. jaclang/vendor/lark/parsers/xearley.py +165 -165
  345. jaclang/vendor/lark/reconstruct.py +107 -107
  346. jaclang/vendor/lark/tools/__init__.py +70 -71
  347. jaclang/vendor/lark/tools/nearley.py +202 -202
  348. jaclang/vendor/lark/tools/serialize.py +32 -32
  349. jaclang/vendor/lark/tools/standalone.py +196 -196
  350. jaclang/vendor/lark/tree.py +267 -272
  351. jaclang/vendor/lark/tree_matcher.py +186 -186
  352. jaclang/vendor/lark/utils.py +346 -361
  353. jaclang/vendor/lark/visitors.py +596 -593
  354. jaclang/vendor/lark-1.2.2.dist-info/INSTALLER +1 -0
  355. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/METADATA +48 -47
  356. jaclang/vendor/lark-1.2.2.dist-info/RECORD +83 -0
  357. jaclang/vendor/{mypy_extensions-1.0.0.dist-info → lark-1.2.2.dist-info}/WHEEL +1 -1
  358. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info/licenses}/LICENSE +18 -18
  359. jaclang/vendor/lsprotocol-2023.0.1.dist-info/INSTALLER +1 -0
  360. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +2 -1
  361. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +17 -10
  362. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +1 -1
  363. jaclang/vendor/pluggy/_version.py +7 -2
  364. jaclang/vendor/pluggy-1.5.0.dist-info/INSTALLER +1 -0
  365. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +6 -5
  366. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +24 -14
  367. jaclang/vendor/pluggy-1.5.0.dist-info/WHEEL +1 -1
  368. jaclang/vendor/pygls-1.3.1.dist-info/INSTALLER +1 -0
  369. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +2 -2
  370. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +45 -24
  371. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +1 -1
  372. {jaclang-0.7.33.dist-info → jaclang-0.8.0.dist-info}/METADATA +4 -4
  373. jaclang-0.8.0.dist-info/RECORD +552 -0
  374. {jaclang-0.7.33.dist-info → jaclang-0.8.0.dist-info}/WHEEL +1 -1
  375. jaclang/compiler/.gitignore +0 -1
  376. jaclang/compiler/compile.py +0 -119
  377. jaclang/compiler/passes/main/access_modifier_pass.py +0 -130
  378. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +0 -656
  379. jaclang/compiler/passes/main/py_collect_dep_pass.py +0 -78
  380. jaclang/compiler/passes/main/pyout_pass.py +0 -86
  381. jaclang/compiler/passes/main/registry_pass.py +0 -156
  382. jaclang/compiler/passes/main/schedules.py +0 -47
  383. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -36
  384. jaclang/compiler/passes/main/tests/fixtures/registry.jac +0 -36
  385. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +0 -114
  386. jaclang/compiler/passes/main/tests/test_registry_pass.py +0 -31
  387. jaclang/compiler/passes/main/tests/test_type_check_pass.py +0 -91
  388. jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +0 -29
  389. jaclang/compiler/passes/main/type_check_pass.py +0 -128
  390. jaclang/compiler/passes/tool/schedules.py +0 -18
  391. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +0 -36
  392. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +0 -17
  393. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +0 -32
  394. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +0 -27
  395. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +0 -35
  396. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +0 -25
  397. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +0 -13
  398. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +0 -63
  399. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/architype_test.jac +0 -13
  400. jaclang/compiler/passes/utils/mypy_ast_build.py +0 -940
  401. jaclang/compiler/py_info.py +0 -22
  402. jaclang/compiler/semtable.py +0 -159
  403. jaclang/compiler/symtable.py +0 -297
  404. jaclang/langserve/utils.py +0 -458
  405. jaclang/plugin/__init__.py +0 -7
  406. jaclang/plugin/builtin.py +0 -57
  407. jaclang/plugin/default.py +0 -1443
  408. jaclang/plugin/feature.py +0 -574
  409. jaclang/plugin/plugin.md +0 -471
  410. jaclang/plugin/spec.py +0 -536
  411. jaclang/plugin/tests/fixtures/impl_match_impl.jac +0 -3
  412. jaclang/plugin/tests/test_features.py +0 -56
  413. jaclang/runtimelib/context.py +0 -191
  414. jaclang/tests/fixtures/create_dynamic_architype.jac +0 -35
  415. jaclang/tests/fixtures/dynamic_architype.jac +0 -34
  416. jaclang/tests/fixtures/impl_grab.impl.jac +0 -5
  417. jaclang/tests/fixtures/mtest.impl.jac +0 -6
  418. jaclang/tests/fixtures/registry.jac +0 -58
  419. jaclang/tests/fixtures/semstr.jac +0 -30
  420. jaclang/tests/main.jac +0 -2
  421. jaclang/utils/profiler.py +0 -62
  422. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +0 -35
  423. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +0 -221
  424. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +0 -48
  425. jaclang/vendor/lark-1.1.9.dist-info/RECORD +0 -46
  426. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +0 -5
  427. jaclang/vendor/mypy/__init__.py +0 -1
  428. jaclang/vendor/mypy/__main__.py +0 -37
  429. jaclang/vendor/mypy/api.py +0 -94
  430. jaclang/vendor/mypy/applytype.py +0 -172
  431. jaclang/vendor/mypy/argmap.py +0 -268
  432. jaclang/vendor/mypy/binder.py +0 -538
  433. jaclang/vendor/mypy/bogus_type.py +0 -27
  434. jaclang/vendor/mypy/build.py +0 -3562
  435. jaclang/vendor/mypy/checker.py +0 -8445
  436. jaclang/vendor/mypy/checkexpr.py +0 -6623
  437. jaclang/vendor/mypy/checkmember.py +0 -1363
  438. jaclang/vendor/mypy/checkpattern.py +0 -801
  439. jaclang/vendor/mypy/checkstrformat.py +0 -1109
  440. jaclang/vendor/mypy/config_parser.py +0 -670
  441. jaclang/vendor/mypy/constant_fold.py +0 -187
  442. jaclang/vendor/mypy/constraints.py +0 -1636
  443. jaclang/vendor/mypy/copytype.py +0 -133
  444. jaclang/vendor/mypy/defaults.py +0 -46
  445. jaclang/vendor/mypy/dmypy/__main__.py +0 -6
  446. jaclang/vendor/mypy/dmypy/client.py +0 -749
  447. jaclang/vendor/mypy/dmypy_os.py +0 -42
  448. jaclang/vendor/mypy/dmypy_server.py +0 -1107
  449. jaclang/vendor/mypy/dmypy_util.py +0 -117
  450. jaclang/vendor/mypy/erasetype.py +0 -278
  451. jaclang/vendor/mypy/errorcodes.py +0 -291
  452. jaclang/vendor/mypy/errors.py +0 -1280
  453. jaclang/vendor/mypy/evalexpr.py +0 -205
  454. jaclang/vendor/mypy/expandtype.py +0 -524
  455. jaclang/vendor/mypy/exprtotype.py +0 -209
  456. jaclang/vendor/mypy/fastparse.py +0 -2147
  457. jaclang/vendor/mypy/find_sources.py +0 -243
  458. jaclang/vendor/mypy/fixup.py +0 -428
  459. jaclang/vendor/mypy/freetree.py +0 -23
  460. jaclang/vendor/mypy/fscache.py +0 -309
  461. jaclang/vendor/mypy/fswatcher.py +0 -106
  462. jaclang/vendor/mypy/gclogger.py +0 -47
  463. jaclang/vendor/mypy/git.py +0 -34
  464. jaclang/vendor/mypy/graph_utils.py +0 -112
  465. jaclang/vendor/mypy/indirection.py +0 -121
  466. jaclang/vendor/mypy/infer.py +0 -75
  467. jaclang/vendor/mypy/inspections.py +0 -627
  468. jaclang/vendor/mypy/ipc.py +0 -310
  469. jaclang/vendor/mypy/join.py +0 -871
  470. jaclang/vendor/mypy/literals.py +0 -306
  471. jaclang/vendor/mypy/lookup.py +0 -61
  472. jaclang/vendor/mypy/main.py +0 -1574
  473. jaclang/vendor/mypy/maptype.py +0 -106
  474. jaclang/vendor/mypy/meet.py +0 -1140
  475. jaclang/vendor/mypy/memprofile.py +0 -121
  476. jaclang/vendor/mypy/message_registry.py +0 -329
  477. jaclang/vendor/mypy/messages.py +0 -3186
  478. jaclang/vendor/mypy/metastore.py +0 -225
  479. jaclang/vendor/mypy/mixedtraverser.py +0 -112
  480. jaclang/vendor/mypy/modulefinder.py +0 -875
  481. jaclang/vendor/mypy/moduleinspect.py +0 -184
  482. jaclang/vendor/mypy/mro.py +0 -62
  483. jaclang/vendor/mypy/nodes.py +0 -4115
  484. jaclang/vendor/mypy/operators.py +0 -126
  485. jaclang/vendor/mypy/options.py +0 -556
  486. jaclang/vendor/mypy/parse.py +0 -30
  487. jaclang/vendor/mypy/partially_defined.py +0 -675
  488. jaclang/vendor/mypy/patterns.py +0 -150
  489. jaclang/vendor/mypy/plugin.py +0 -901
  490. jaclang/vendor/mypy/plugins/attrs.py +0 -1166
  491. jaclang/vendor/mypy/plugins/common.py +0 -440
  492. jaclang/vendor/mypy/plugins/ctypes.py +0 -245
  493. jaclang/vendor/mypy/plugins/dataclasses.py +0 -1108
  494. jaclang/vendor/mypy/plugins/default.py +0 -531
  495. jaclang/vendor/mypy/plugins/enums.py +0 -259
  496. jaclang/vendor/mypy/plugins/functools.py +0 -104
  497. jaclang/vendor/mypy/plugins/proper_plugin.py +0 -175
  498. jaclang/vendor/mypy/plugins/singledispatch.py +0 -224
  499. jaclang/vendor/mypy/py.typed +0 -1
  500. jaclang/vendor/mypy/pyinfo.py +0 -78
  501. jaclang/vendor/mypy/reachability.py +0 -362
  502. jaclang/vendor/mypy/refinfo.py +0 -92
  503. jaclang/vendor/mypy/renaming.py +0 -568
  504. jaclang/vendor/mypy/report.py +0 -924
  505. jaclang/vendor/mypy/scope.py +0 -125
  506. jaclang/vendor/mypy/semanal.py +0 -7187
  507. jaclang/vendor/mypy/semanal_classprop.py +0 -187
  508. jaclang/vendor/mypy/semanal_enum.py +0 -253
  509. jaclang/vendor/mypy/semanal_infer.py +0 -128
  510. jaclang/vendor/mypy/semanal_main.py +0 -511
  511. jaclang/vendor/mypy/semanal_namedtuple.py +0 -670
  512. jaclang/vendor/mypy/semanal_newtype.py +0 -273
  513. jaclang/vendor/mypy/semanal_pass1.py +0 -156
  514. jaclang/vendor/mypy/semanal_shared.py +0 -490
  515. jaclang/vendor/mypy/semanal_typeargs.py +0 -265
  516. jaclang/vendor/mypy/semanal_typeddict.py +0 -575
  517. jaclang/vendor/mypy/server/astdiff.py +0 -518
  518. jaclang/vendor/mypy/server/astmerge.py +0 -562
  519. jaclang/vendor/mypy/server/aststrip.py +0 -281
  520. jaclang/vendor/mypy/server/deps.py +0 -1137
  521. jaclang/vendor/mypy/server/mergecheck.py +0 -83
  522. jaclang/vendor/mypy/server/objgraph.py +0 -101
  523. jaclang/vendor/mypy/server/subexpr.py +0 -198
  524. jaclang/vendor/mypy/server/target.py +0 -11
  525. jaclang/vendor/mypy/server/trigger.py +0 -26
  526. jaclang/vendor/mypy/server/update.py +0 -1339
  527. jaclang/vendor/mypy/sharedparse.py +0 -112
  528. jaclang/vendor/mypy/solve.py +0 -562
  529. jaclang/vendor/mypy/split_namespace.py +0 -35
  530. jaclang/vendor/mypy/state.py +0 -28
  531. jaclang/vendor/mypy/stats.py +0 -489
  532. jaclang/vendor/mypy/strconv.py +0 -641
  533. jaclang/vendor/mypy/stubdoc.py +0 -491
  534. jaclang/vendor/mypy/stubgen.py +0 -1886
  535. jaclang/vendor/mypy/stubgenc.py +0 -993
  536. jaclang/vendor/mypy/stubinfo.py +0 -173
  537. jaclang/vendor/mypy/stubtest.py +0 -2079
  538. jaclang/vendor/mypy/stubutil.py +0 -834
  539. jaclang/vendor/mypy/subtypes.py +0 -1980
  540. jaclang/vendor/mypy/suggestions.py +0 -1046
  541. jaclang/vendor/mypy/test/config.py +0 -28
  542. jaclang/vendor/mypy/test/data.py +0 -821
  543. jaclang/vendor/mypy/test/helpers.py +0 -476
  544. jaclang/vendor/mypy/test/meta/_pytest.py +0 -72
  545. jaclang/vendor/mypy/test/meta/test_diff_helper.py +0 -47
  546. jaclang/vendor/mypy/test/meta/test_parse_data.py +0 -73
  547. jaclang/vendor/mypy/test/meta/test_update_data.py +0 -135
  548. jaclang/vendor/mypy/test/test_find_sources.py +0 -376
  549. jaclang/vendor/mypy/test/test_ref_info.py +0 -45
  550. jaclang/vendor/mypy/test/testapi.py +0 -45
  551. jaclang/vendor/mypy/test/testargs.py +0 -77
  552. jaclang/vendor/mypy/test/testcheck.py +0 -322
  553. jaclang/vendor/mypy/test/testcmdline.py +0 -152
  554. jaclang/vendor/mypy/test/testconstraints.py +0 -134
  555. jaclang/vendor/mypy/test/testdaemon.py +0 -132
  556. jaclang/vendor/mypy/test/testdeps.py +0 -77
  557. jaclang/vendor/mypy/test/testdiff.py +0 -67
  558. jaclang/vendor/mypy/test/testerrorstream.py +0 -46
  559. jaclang/vendor/mypy/test/testfinegrained.py +0 -438
  560. jaclang/vendor/mypy/test/testfinegrainedcache.py +0 -18
  561. jaclang/vendor/mypy/test/testformatter.py +0 -85
  562. jaclang/vendor/mypy/test/testfscache.py +0 -101
  563. jaclang/vendor/mypy/test/testgraph.py +0 -83
  564. jaclang/vendor/mypy/test/testinfer.py +0 -373
  565. jaclang/vendor/mypy/test/testipc.py +0 -119
  566. jaclang/vendor/mypy/test/testmerge.py +0 -238
  567. jaclang/vendor/mypy/test/testmodulefinder.py +0 -278
  568. jaclang/vendor/mypy/test/testmypyc.py +0 -14
  569. jaclang/vendor/mypy/test/testparse.py +0 -107
  570. jaclang/vendor/mypy/test/testpep561.py +0 -211
  571. jaclang/vendor/mypy/test/testpythoneval.py +0 -117
  572. jaclang/vendor/mypy/test/testreports.py +0 -55
  573. jaclang/vendor/mypy/test/testsemanal.py +0 -209
  574. jaclang/vendor/mypy/test/testsolve.py +0 -285
  575. jaclang/vendor/mypy/test/teststubgen.py +0 -1412
  576. jaclang/vendor/mypy/test/teststubinfo.py +0 -12
  577. jaclang/vendor/mypy/test/teststubtest.py +0 -2492
  578. jaclang/vendor/mypy/test/testsubtypes.py +0 -303
  579. jaclang/vendor/mypy/test/testtransform.py +0 -64
  580. jaclang/vendor/mypy/test/testtypegen.py +0 -83
  581. jaclang/vendor/mypy/test/testtypes.py +0 -1551
  582. jaclang/vendor/mypy/test/testutil.py +0 -111
  583. jaclang/vendor/mypy/test/typefixture.py +0 -415
  584. jaclang/vendor/mypy/test/update_data.py +0 -87
  585. jaclang/vendor/mypy/test/visitors.py +0 -63
  586. jaclang/vendor/mypy/traverser.py +0 -961
  587. jaclang/vendor/mypy/treetransform.py +0 -800
  588. jaclang/vendor/mypy/tvar_scope.py +0 -169
  589. jaclang/vendor/mypy/type_visitor.py +0 -564
  590. jaclang/vendor/mypy/typeanal.py +0 -2596
  591. jaclang/vendor/mypy/typeops.py +0 -1082
  592. jaclang/vendor/mypy/types.py +0 -3708
  593. jaclang/vendor/mypy/types_utils.py +0 -166
  594. jaclang/vendor/mypy/typeshed/LICENSE +0 -237
  595. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +0 -309
  596. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +0 -36
  597. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +0 -3
  598. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +0 -591
  599. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +0 -84
  600. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +0 -1
  601. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +0 -133
  602. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +0 -94
  603. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +0 -8
  604. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +0 -25
  605. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +0 -90
  606. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +0 -207
  607. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +0 -566
  608. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +0 -281
  609. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +0 -33
  610. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +0 -164
  611. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +0 -11
  612. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +0 -28
  613. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +0 -49
  614. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +0 -100
  615. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +0 -35
  616. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +0 -16
  617. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +0 -92
  618. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +0 -147
  619. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +0 -34
  620. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +0 -33
  621. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +0 -14
  622. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +0 -43
  623. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +0 -12
  624. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +0 -16
  625. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +0 -803
  626. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +0 -103
  627. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +0 -59
  628. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +0 -17
  629. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +0 -121
  630. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +0 -17
  631. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +0 -347
  632. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +0 -37
  633. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +0 -44
  634. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +0 -9
  635. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +0 -55
  636. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +0 -41
  637. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +0 -51
  638. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +0 -255
  639. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +0 -51
  640. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +0 -91
  641. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +0 -3
  642. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +0 -595
  643. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +0 -92
  644. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +0 -277
  645. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +0 -21
  646. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +0 -41
  647. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +0 -440
  648. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +0 -19
  649. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +0 -63
  650. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +0 -9
  651. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +0 -20
  652. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +0 -26
  653. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +0 -580
  654. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +0 -43
  655. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +0 -20
  656. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +0 -57
  657. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +0 -121
  658. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +0 -3
  659. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +0 -9
  660. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +0 -64
  661. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +0 -34
  662. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +0 -47
  663. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +0 -32
  664. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +0 -8
  665. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +0 -165
  666. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +0 -10
  667. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +0 -153
  668. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +0 -229
  669. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +0 -25
  670. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +0 -497
  671. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +0 -9
  672. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +0 -19
  673. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +0 -47
  674. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +0 -94
  675. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +0 -196
  676. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +0 -85
  677. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +0 -49
  678. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +0 -90
  679. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +0 -12
  680. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +0 -43
  681. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +0 -59
  682. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +0 -102
  683. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +0 -36
  684. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +0 -45
  685. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +0 -4
  686. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +0 -1936
  687. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +0 -146
  688. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +0 -31
  689. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +0 -208
  690. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +0 -118
  691. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +0 -32
  692. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +0 -20
  693. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +0 -36
  694. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +0 -45
  695. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +0 -33
  696. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +0 -285
  697. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +0 -13
  698. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +0 -485
  699. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +0 -2
  700. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +0 -13
  701. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +0 -111
  702. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +0 -32
  703. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +0 -126
  704. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +0 -233
  705. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +0 -80
  706. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +0 -313
  707. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +0 -208
  708. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +0 -63
  709. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +0 -16
  710. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +0 -21
  711. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +0 -12
  712. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +0 -147
  713. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +0 -187
  714. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +0 -19
  715. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +0 -6
  716. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +0 -298
  717. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +0 -22
  718. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +0 -62
  719. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +0 -1
  720. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +0 -22
  721. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +0 -11
  722. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +0 -315
  723. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +0 -295
  724. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +0 -95
  725. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +0 -31
  726. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +0 -41
  727. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +0 -37
  728. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +0 -2
  729. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +0 -140
  730. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +0 -144
  731. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +0 -5
  732. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +0 -20
  733. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +0 -3
  734. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +0 -152
  735. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +0 -66
  736. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +0 -25
  737. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +0 -21
  738. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +0 -45
  739. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +0 -52
  740. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +0 -16
  741. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +0 -31
  742. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +0 -27
  743. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +0 -50
  744. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +0 -44
  745. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +0 -24
  746. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +0 -39
  747. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +0 -17
  748. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +0 -83
  749. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +0 -63
  750. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +0 -19
  751. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +0 -18
  752. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +0 -16
  753. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +0 -25
  754. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +0 -18
  755. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +0 -18
  756. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +0 -42
  757. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +0 -17
  758. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +0 -17
  759. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +0 -57
  760. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +0 -20
  761. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +0 -1
  762. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +0 -3
  763. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +0 -13
  764. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +0 -146
  765. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +0 -19
  766. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +0 -36
  767. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +0 -34
  768. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +0 -14
  769. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +0 -50
  770. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +0 -25
  771. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +0 -3
  772. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +0 -2
  773. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +0 -31
  774. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +0 -21
  775. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +0 -3
  776. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +0 -46
  777. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +0 -36
  778. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +0 -248
  779. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +0 -2
  780. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +0 -29
  781. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +0 -392
  782. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +0 -51
  783. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +0 -13
  784. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +0 -34
  785. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +0 -11
  786. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +0 -8
  787. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +0 -39
  788. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +0 -23
  789. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +0 -40
  790. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +0 -31
  791. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +0 -178
  792. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +0 -12
  793. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +0 -165
  794. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +0 -17
  795. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +0 -17
  796. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +0 -8
  797. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +0 -17
  798. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +0 -8
  799. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +0 -18
  800. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +0 -5
  801. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +0 -9
  802. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +0 -26
  803. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +0 -38
  804. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +0 -28
  805. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +0 -70
  806. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +0 -10
  807. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +0 -21
  808. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +0 -22
  809. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +0 -12
  810. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +0 -320
  811. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +0 -222
  812. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +0 -13
  813. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +0 -127
  814. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +0 -57
  815. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +0 -213
  816. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +0 -9
  817. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +0 -88
  818. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +0 -150
  819. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +0 -178
  820. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +0 -213
  821. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +0 -37
  822. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +0 -52
  823. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +0 -11
  824. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +0 -8
  825. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +0 -169
  826. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +0 -42
  827. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +0 -28
  828. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +0 -22
  829. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +0 -160
  830. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +0 -167
  831. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +0 -17
  832. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +0 -38
  833. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +0 -6
  834. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +0 -6
  835. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +0 -34
  836. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +0 -105
  837. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +0 -259
  838. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +0 -159
  839. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +0 -60
  840. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +0 -83
  841. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +0 -168
  842. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +0 -17
  843. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +0 -62
  844. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +0 -24
  845. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +0 -15
  846. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +0 -172
  847. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +0 -179
  848. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +0 -285
  849. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +0 -49
  850. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +0 -68
  851. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +0 -46
  852. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +0 -12
  853. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +0 -14
  854. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +0 -56
  855. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +0 -11
  856. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +0 -43
  857. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +0 -632
  858. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +0 -238
  859. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +0 -208
  860. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +0 -273
  861. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +0 -61
  862. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +0 -32
  863. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +0 -40
  864. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +0 -1
  865. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +0 -21
  866. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +0 -28
  867. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +0 -42
  868. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +0 -8
  869. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +0 -10
  870. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +0 -8
  871. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +0 -8
  872. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +0 -16
  873. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +0 -14
  874. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +0 -8
  875. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +0 -8
  876. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +0 -13
  877. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +0 -9
  878. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +0 -8
  879. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +0 -8
  880. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +0 -8
  881. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +0 -8
  882. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +0 -15
  883. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +0 -16
  884. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +0 -21
  885. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +0 -6
  886. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +0 -11
  887. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +0 -9
  888. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +0 -8
  889. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +0 -9
  890. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +0 -7
  891. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +0 -7
  892. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +0 -9
  893. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +0 -17
  894. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +0 -10
  895. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +0 -8
  896. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +0 -19
  897. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +0 -8
  898. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +0 -8
  899. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +0 -12
  900. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +0 -8
  901. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +0 -12
  902. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +0 -8
  903. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +0 -8
  904. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +0 -8
  905. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +0 -9
  906. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +0 -17
  907. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +0 -8
  908. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +0 -7
  909. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +0 -8
  910. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +0 -9
  911. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +0 -8
  912. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +0 -17
  913. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +0 -8
  914. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +0 -12
  915. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +0 -15
  916. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +0 -12
  917. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +0 -20
  918. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +0 -8
  919. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +0 -9
  920. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +0 -42
  921. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +0 -9
  922. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +0 -27
  923. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +0 -24
  924. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +0 -7
  925. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +0 -30
  926. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +0 -50
  927. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +0 -67
  928. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +0 -96
  929. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +0 -114
  930. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +0 -117
  931. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +0 -82
  932. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +0 -23
  933. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +0 -152
  934. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +0 -658
  935. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +0 -134
  936. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +0 -275
  937. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +0 -197
  938. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +0 -256
  939. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +0 -11
  940. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +0 -33
  941. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +0 -125
  942. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +0 -46
  943. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +0 -113
  944. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +0 -66
  945. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +0 -177
  946. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +0 -94
  947. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +0 -13
  948. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +0 -7
  949. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +0 -32
  950. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +0 -90
  951. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +0 -75
  952. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +0 -189
  953. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +0 -77
  954. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +0 -39
  955. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +0 -31
  956. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +0 -36
  957. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +0 -212
  958. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +0 -103
  959. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +0 -23
  960. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +0 -16
  961. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +0 -20
  962. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +0 -30
  963. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +0 -39
  964. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +0 -41
  965. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +0 -90
  966. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +0 -20
  967. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +0 -18
  968. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +0 -40
  969. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +0 -107
  970. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +0 -32
  971. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +0 -54
  972. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +0 -98
  973. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +0 -23
  974. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +0 -9
  975. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +0 -125
  976. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +0 -111
  977. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +0 -119
  978. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +0 -2
  979. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +0 -209
  980. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +0 -59
  981. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +0 -110
  982. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +0 -255
  983. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +0 -1157
  984. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +0 -8
  985. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +0 -131
  986. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +0 -24
  987. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +0 -232
  988. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +0 -181
  989. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +0 -271
  990. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +0 -167
  991. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +0 -16
  992. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +0 -53
  993. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +0 -42
  994. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +0 -113
  995. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +0 -71
  996. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +0 -361
  997. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +0 -161
  998. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +0 -112
  999. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +0 -31
  1000. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +0 -80
  1001. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +0 -19
  1002. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +0 -28
  1003. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +0 -34
  1004. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +0 -74
  1005. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +0 -261
  1006. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +0 -1
  1008. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +0 -85
  1009. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +0 -49
  1010. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +0 -11
  1011. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +0 -66
  1012. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +0 -11
  1013. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +0 -138
  1014. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +0 -290
  1015. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +0 -36
  1016. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +0 -65
  1017. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +0 -94
  1018. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +0 -9
  1019. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +0 -24
  1020. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +0 -42
  1021. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +0 -15
  1022. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +0 -155
  1023. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +0 -67
  1024. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +0 -46
  1025. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +0 -63
  1026. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +0 -185
  1027. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +0 -188
  1028. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +0 -27
  1029. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +0 -91
  1030. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +0 -204
  1031. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +0 -14
  1032. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +0 -825
  1033. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +0 -168
  1034. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +0 -41
  1035. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +0 -1
  1036. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +0 -551
  1037. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +0 -11
  1038. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +0 -130
  1039. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +0 -104
  1040. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +0 -537
  1041. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +0 -1
  1042. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +0 -132
  1043. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +0 -83
  1044. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +0 -27
  1045. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +0 -26
  1046. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +0 -2615
  1047. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +0 -86
  1048. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +0 -93
  1049. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +0 -58
  1050. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +0 -373
  1051. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +0 -52
  1052. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +0 -48
  1053. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +0 -46
  1054. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +0 -16
  1055. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +0 -441
  1056. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +0 -122
  1057. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +0 -477
  1058. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +0 -267
  1059. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +0 -103
  1060. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +0 -2
  1061. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +0 -187
  1062. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +0 -108
  1063. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +0 -32
  1064. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +0 -3654
  1065. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +0 -20
  1066. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +0 -14
  1067. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +0 -80
  1068. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +0 -16
  1069. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +0 -20
  1070. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +0 -151
  1071. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +0 -116
  1072. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +0 -44
  1073. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +0 -9
  1074. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +0 -54
  1075. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +0 -299
  1076. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +0 -1204
  1077. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +0 -159
  1078. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +0 -177
  1079. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +0 -10
  1080. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +0 -79
  1081. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +0 -262
  1082. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +0 -124
  1083. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +0 -30
  1084. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +0 -713
  1085. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +0 -614
  1086. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +0 -976
  1087. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +0 -509
  1088. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +0 -73
  1089. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +0 -67
  1090. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +0 -27
  1091. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +0 -21
  1092. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +0 -342
  1093. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +0 -51
  1094. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +0 -69
  1095. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +0 -430
  1096. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +0 -47
  1097. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +0 -72
  1098. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +0 -15
  1099. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +0 -22
  1100. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +0 -23
  1101. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  1102. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +0 -23
  1103. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +0 -210
  1104. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +0 -400
  1105. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +0 -43
  1106. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +0 -20
  1107. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +0 -13
  1108. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +0 -100
  1109. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +0 -112
  1110. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +0 -85
  1111. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +0 -149
  1112. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +0 -74
  1113. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +0 -132
  1114. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +0 -28
  1115. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  1116. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +0 -91
  1117. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +0 -26
  1118. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +0 -37
  1119. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +0 -32
  1120. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +0 -24
  1121. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +0 -50
  1122. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +0 -57
  1123. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +0 -1
  1124. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +0 -19
  1125. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +0 -69
  1126. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +0 -8
  1127. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +0 -100
  1128. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +0 -22
  1129. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +0 -404
  1130. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +0 -94
  1131. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +0 -108
  1132. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +0 -28
  1133. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +0 -34
  1134. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +0 -327
  1135. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1136. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +0 -1
  1137. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +0 -1
  1138. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +0 -1
  1139. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +0 -1
  1140. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +0 -1
  1141. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +0 -25
  1142. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +0 -19
  1143. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +0 -55
  1144. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +0 -60
  1145. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +0 -87
  1146. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1147. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +0 -296
  1148. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +0 -143
  1149. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +0 -22
  1150. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +0 -20
  1151. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +0 -306
  1152. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +0 -95
  1153. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +0 -32
  1154. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +0 -56
  1155. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +0 -38
  1156. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +0 -218
  1157. jaclang/vendor/mypy/typestate.py +0 -323
  1158. jaclang/vendor/mypy/typetraverser.py +0 -148
  1159. jaclang/vendor/mypy/typevars.py +0 -93
  1160. jaclang/vendor/mypy/typevartuples.py +0 -32
  1161. jaclang/vendor/mypy/util.py +0 -869
  1162. jaclang/vendor/mypy/version.py +0 -1
  1163. jaclang/vendor/mypy/visitor.py +0 -621
  1164. jaclang/vendor/mypy/xml/mypy-html.css +0 -104
  1165. jaclang/vendor/mypy/xml/mypy-html.xslt +0 -81
  1166. jaclang/vendor/mypy/xml/mypy-txt.xslt +0 -100
  1167. jaclang/vendor/mypy/xml/mypy.xsd +0 -50
  1168. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +0 -229
  1169. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +0 -48
  1170. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +0 -1241
  1171. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +0 -6
  1172. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +0 -6
  1173. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +0 -3
  1174. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +0 -27
  1175. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +0 -29
  1176. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +0 -6
  1177. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +0 -1
  1178. jaclang/vendor/mypy_extensions.py +0 -213
  1179. jaclang/vendor/mypyc/README.md +0 -133
  1180. jaclang/vendor/mypyc/__init__.py +0 -0
  1181. jaclang/vendor/mypyc/__main__.py +0 -57
  1182. jaclang/vendor/mypyc/analysis/__init__.py +0 -0
  1183. jaclang/vendor/mypyc/analysis/attrdefined.py +0 -436
  1184. jaclang/vendor/mypyc/analysis/blockfreq.py +0 -32
  1185. jaclang/vendor/mypyc/analysis/dataflow.py +0 -628
  1186. jaclang/vendor/mypyc/analysis/ircheck.py +0 -433
  1187. jaclang/vendor/mypyc/analysis/selfleaks.py +0 -211
  1188. jaclang/vendor/mypyc/build.py +0 -616
  1189. jaclang/vendor/mypyc/codegen/__init__.py +0 -0
  1190. jaclang/vendor/mypyc/codegen/cstring.py +0 -54
  1191. jaclang/vendor/mypyc/codegen/emit.py +0 -1193
  1192. jaclang/vendor/mypyc/codegen/emitclass.py +0 -1060
  1193. jaclang/vendor/mypyc/codegen/emitfunc.py +0 -852
  1194. jaclang/vendor/mypyc/codegen/emitmodule.py +0 -1136
  1195. jaclang/vendor/mypyc/codegen/emitwrapper.py +0 -979
  1196. jaclang/vendor/mypyc/codegen/literals.py +0 -302
  1197. jaclang/vendor/mypyc/common.py +0 -136
  1198. jaclang/vendor/mypyc/crash.py +0 -31
  1199. jaclang/vendor/mypyc/doc/Makefile +0 -20
  1200. jaclang/vendor/mypyc/doc/bool_operations.rst +0 -27
  1201. jaclang/vendor/mypyc/doc/compilation_units.rst +0 -20
  1202. jaclang/vendor/mypyc/doc/conf.py +0 -59
  1203. jaclang/vendor/mypyc/doc/cpython-timings.md +0 -25
  1204. jaclang/vendor/mypyc/doc/dev-intro.md +0 -548
  1205. jaclang/vendor/mypyc/doc/dict_operations.rst +0 -59
  1206. jaclang/vendor/mypyc/doc/differences_from_python.rst +0 -332
  1207. jaclang/vendor/mypyc/doc/float_operations.rst +0 -50
  1208. jaclang/vendor/mypyc/doc/future.md +0 -42
  1209. jaclang/vendor/mypyc/doc/getting_started.rst +0 -240
  1210. jaclang/vendor/mypyc/doc/index.rst +0 -61
  1211. jaclang/vendor/mypyc/doc/int_operations.rst +0 -162
  1212. jaclang/vendor/mypyc/doc/introduction.rst +0 -150
  1213. jaclang/vendor/mypyc/doc/list_operations.rst +0 -65
  1214. jaclang/vendor/mypyc/doc/make.bat +0 -35
  1215. jaclang/vendor/mypyc/doc/native_classes.rst +0 -206
  1216. jaclang/vendor/mypyc/doc/native_operations.rst +0 -55
  1217. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +0 -244
  1218. jaclang/vendor/mypyc/doc/set_operations.rst +0 -47
  1219. jaclang/vendor/mypyc/doc/str_operations.rst +0 -35
  1220. jaclang/vendor/mypyc/doc/tuple_operations.rst +0 -33
  1221. jaclang/vendor/mypyc/doc/using_type_annotations.rst +0 -398
  1222. jaclang/vendor/mypyc/errors.py +0 -29
  1223. jaclang/vendor/mypyc/external/googletest/LICENSE +0 -28
  1224. jaclang/vendor/mypyc/external/googletest/README.md +0 -280
  1225. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +0 -294
  1226. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +0 -250
  1227. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +0 -1444
  1228. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  1229. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +0 -993
  1230. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +0 -232
  1231. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +0 -179
  1232. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +0 -263
  1233. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +0 -2236
  1234. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +0 -358
  1235. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +0 -58
  1236. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +0 -69
  1237. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1238. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +0 -41
  1239. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  1240. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +0 -206
  1241. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +0 -1238
  1242. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  1243. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  1244. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  1245. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +0 -731
  1246. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +0 -93
  1247. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +0 -2560
  1248. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +0 -167
  1249. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  1250. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  1251. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +0 -3331
  1252. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  1253. jaclang/vendor/mypyc/external/googletest/make/Makefile +0 -61
  1254. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +0 -48
  1255. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +0 -1342
  1256. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +0 -387
  1257. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +0 -1183
  1258. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +0 -1259
  1259. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +0 -373
  1260. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +0 -110
  1261. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +0 -118
  1262. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +0 -5388
  1263. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +0 -38
  1264. jaclang/vendor/mypyc/ir/__init__.py +0 -0
  1265. jaclang/vendor/mypyc/ir/class_ir.py +0 -499
  1266. jaclang/vendor/mypyc/ir/func_ir.py +0 -370
  1267. jaclang/vendor/mypyc/ir/module_ir.py +0 -88
  1268. jaclang/vendor/mypyc/ir/ops.py +0 -1727
  1269. jaclang/vendor/mypyc/ir/pprint.py +0 -516
  1270. jaclang/vendor/mypyc/ir/rtypes.py +0 -1038
  1271. jaclang/vendor/mypyc/irbuild/__init__.py +0 -0
  1272. jaclang/vendor/mypyc/irbuild/ast_helpers.py +0 -123
  1273. jaclang/vendor/mypyc/irbuild/builder.py +0 -1394
  1274. jaclang/vendor/mypyc/irbuild/callable_class.py +0 -173
  1275. jaclang/vendor/mypyc/irbuild/classdef.py +0 -850
  1276. jaclang/vendor/mypyc/irbuild/constant_fold.py +0 -95
  1277. jaclang/vendor/mypyc/irbuild/context.py +0 -186
  1278. jaclang/vendor/mypyc/irbuild/env_class.py +0 -223
  1279. jaclang/vendor/mypyc/irbuild/expression.py +0 -1070
  1280. jaclang/vendor/mypyc/irbuild/for_helpers.py +0 -1075
  1281. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +0 -250
  1282. jaclang/vendor/mypyc/irbuild/function.py +0 -1088
  1283. jaclang/vendor/mypyc/irbuild/generator.py +0 -346
  1284. jaclang/vendor/mypyc/irbuild/ll_builder.py +0 -2389
  1285. jaclang/vendor/mypyc/irbuild/main.py +0 -153
  1286. jaclang/vendor/mypyc/irbuild/mapper.py +0 -221
  1287. jaclang/vendor/mypyc/irbuild/match.py +0 -355
  1288. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +0 -197
  1289. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +0 -203
  1290. jaclang/vendor/mypyc/irbuild/prepare.py +0 -609
  1291. jaclang/vendor/mypyc/irbuild/specialize.py +0 -822
  1292. jaclang/vendor/mypyc/irbuild/statement.py +0 -1017
  1293. jaclang/vendor/mypyc/irbuild/targets.py +0 -57
  1294. jaclang/vendor/mypyc/irbuild/util.py +0 -189
  1295. jaclang/vendor/mypyc/irbuild/visitor.py +0 -401
  1296. jaclang/vendor/mypyc/irbuild/vtable.py +0 -82
  1297. jaclang/vendor/mypyc/lib-rt/CPy.h +0 -638
  1298. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +0 -143
  1299. jaclang/vendor/mypyc/lib-rt/dict_ops.c +0 -446
  1300. jaclang/vendor/mypyc/lib-rt/exc_ops.c +0 -259
  1301. jaclang/vendor/mypyc/lib-rt/float_ops.c +0 -192
  1302. jaclang/vendor/mypyc/lib-rt/generic_ops.c +0 -64
  1303. jaclang/vendor/mypyc/lib-rt/getargs.c +0 -450
  1304. jaclang/vendor/mypyc/lib-rt/getargsfast.c +0 -569
  1305. jaclang/vendor/mypyc/lib-rt/init.c +0 -13
  1306. jaclang/vendor/mypyc/lib-rt/int_ops.c +0 -803
  1307. jaclang/vendor/mypyc/lib-rt/list_ops.c +0 -335
  1308. jaclang/vendor/mypyc/lib-rt/misc_ops.c +0 -942
  1309. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +0 -18
  1310. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +0 -118
  1311. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +0 -497
  1312. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +0 -533
  1313. jaclang/vendor/mypyc/lib-rt/set_ops.c +0 -17
  1314. jaclang/vendor/mypyc/lib-rt/setup.py +0 -70
  1315. jaclang/vendor/mypyc/lib-rt/str_ops.c +0 -241
  1316. jaclang/vendor/mypyc/lib-rt/test_capi.cc +0 -585
  1317. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +0 -61
  1318. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1319. jaclang/vendor/mypyc/lower/int_ops.py +0 -113
  1320. jaclang/vendor/mypyc/lower/list_ops.py +0 -45
  1321. jaclang/vendor/mypyc/lower/misc_ops.py +0 -12
  1322. jaclang/vendor/mypyc/lower/registry.py +0 -26
  1323. jaclang/vendor/mypyc/namegen.py +0 -115
  1324. jaclang/vendor/mypyc/options.py +0 -32
  1325. jaclang/vendor/mypyc/primitives/__init__.py +0 -0
  1326. jaclang/vendor/mypyc/primitives/bytes_ops.py +0 -101
  1327. jaclang/vendor/mypyc/primitives/dict_ops.py +0 -325
  1328. jaclang/vendor/mypyc/primitives/exc_ops.py +0 -101
  1329. jaclang/vendor/mypyc/primitives/float_ops.py +0 -168
  1330. jaclang/vendor/mypyc/primitives/generic_ops.py +0 -384
  1331. jaclang/vendor/mypyc/primitives/int_ops.py +0 -303
  1332. jaclang/vendor/mypyc/primitives/list_ops.py +0 -310
  1333. jaclang/vendor/mypyc/primitives/misc_ops.py +0 -267
  1334. jaclang/vendor/mypyc/primitives/registry.py +0 -360
  1335. jaclang/vendor/mypyc/primitives/set_ops.py +0 -121
  1336. jaclang/vendor/mypyc/primitives/str_ops.py +0 -229
  1337. jaclang/vendor/mypyc/primitives/tuple_ops.py +0 -83
  1338. jaclang/vendor/mypyc/rt_subtype.py +0 -77
  1339. jaclang/vendor/mypyc/sametype.py +0 -83
  1340. jaclang/vendor/mypyc/subtype.py +0 -88
  1341. jaclang/vendor/mypyc/test/__init__.py +0 -0
  1342. jaclang/vendor/mypyc/test/config.py +0 -13
  1343. jaclang/vendor/mypyc/test/test_alwaysdefined.py +0 -46
  1344. jaclang/vendor/mypyc/test/test_analysis.py +0 -77
  1345. jaclang/vendor/mypyc/test/test_cheader.py +0 -53
  1346. jaclang/vendor/mypyc/test/test_commandline.py +0 -82
  1347. jaclang/vendor/mypyc/test/test_emit.py +0 -69
  1348. jaclang/vendor/mypyc/test/test_emitclass.py +0 -35
  1349. jaclang/vendor/mypyc/test/test_emitfunc.py +0 -928
  1350. jaclang/vendor/mypyc/test/test_emitwrapper.py +0 -60
  1351. jaclang/vendor/mypyc/test/test_exceptions.py +0 -56
  1352. jaclang/vendor/mypyc/test/test_external.py +0 -49
  1353. jaclang/vendor/mypyc/test/test_irbuild.py +0 -87
  1354. jaclang/vendor/mypyc/test/test_ircheck.py +0 -199
  1355. jaclang/vendor/mypyc/test/test_literals.py +0 -90
  1356. jaclang/vendor/mypyc/test/test_lowering.py +0 -56
  1357. jaclang/vendor/mypyc/test/test_namegen.py +0 -48
  1358. jaclang/vendor/mypyc/test/test_optimizations.py +0 -68
  1359. jaclang/vendor/mypyc/test/test_pprint.py +0 -42
  1360. jaclang/vendor/mypyc/test/test_rarray.py +0 -48
  1361. jaclang/vendor/mypyc/test/test_refcount.py +0 -59
  1362. jaclang/vendor/mypyc/test/test_run.py +0 -426
  1363. jaclang/vendor/mypyc/test/test_serialization.py +0 -108
  1364. jaclang/vendor/mypyc/test/test_struct.py +0 -112
  1365. jaclang/vendor/mypyc/test/test_tuplename.py +0 -33
  1366. jaclang/vendor/mypyc/test/test_typeops.py +0 -97
  1367. jaclang/vendor/mypyc/test/testutil.py +0 -283
  1368. jaclang/vendor/mypyc/test-data/alwaysdefined.test +0 -732
  1369. jaclang/vendor/mypyc/test-data/analysis.test +0 -470
  1370. jaclang/vendor/mypyc/test-data/commandline.test +0 -245
  1371. jaclang/vendor/mypyc/test-data/driver/driver.py +0 -48
  1372. jaclang/vendor/mypyc/test-data/exceptions-freq.test +0 -125
  1373. jaclang/vendor/mypyc/test-data/exceptions.test +0 -699
  1374. jaclang/vendor/mypyc/test-data/fixtures/ir.py +0 -373
  1375. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +0 -103
  1376. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +0 -169
  1377. jaclang/vendor/mypyc/test-data/irbuild-any.test +0 -236
  1378. jaclang/vendor/mypyc/test-data/irbuild-basic.test +0 -3399
  1379. jaclang/vendor/mypyc/test-data/irbuild-bool.test +0 -424
  1380. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +0 -181
  1381. jaclang/vendor/mypyc/test-data/irbuild-classes.test +0 -1302
  1382. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +0 -480
  1383. jaclang/vendor/mypyc/test-data/irbuild-dict.test +0 -584
  1384. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +0 -215
  1385. jaclang/vendor/mypyc/test-data/irbuild-float.test +0 -497
  1386. jaclang/vendor/mypyc/test-data/irbuild-generics.test +0 -150
  1387. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +0 -437
  1388. jaclang/vendor/mypyc/test-data/irbuild-i16.test +0 -526
  1389. jaclang/vendor/mypyc/test-data/irbuild-i32.test +0 -598
  1390. jaclang/vendor/mypyc/test-data/irbuild-i64.test +0 -2144
  1391. jaclang/vendor/mypyc/test-data/irbuild-int.test +0 -194
  1392. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +0 -109
  1393. jaclang/vendor/mypyc/test-data/irbuild-lists.test +0 -513
  1394. jaclang/vendor/mypyc/test-data/irbuild-match.test +0 -1717
  1395. jaclang/vendor/mypyc/test-data/irbuild-math.test +0 -64
  1396. jaclang/vendor/mypyc/test-data/irbuild-nested.test +0 -807
  1397. jaclang/vendor/mypyc/test-data/irbuild-optional.test +0 -536
  1398. jaclang/vendor/mypyc/test-data/irbuild-set.test +0 -806
  1399. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +0 -257
  1400. jaclang/vendor/mypyc/test-data/irbuild-statements.test +0 -1060
  1401. jaclang/vendor/mypyc/test-data/irbuild-str.test +0 -312
  1402. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +0 -12
  1403. jaclang/vendor/mypyc/test-data/irbuild-try.test +0 -523
  1404. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +0 -386
  1405. jaclang/vendor/mypyc/test-data/irbuild-u8.test +0 -543
  1406. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +0 -241
  1407. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +0 -153
  1408. jaclang/vendor/mypyc/test-data/lowering-int.test +0 -377
  1409. jaclang/vendor/mypyc/test-data/lowering-list.test +0 -33
  1410. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +0 -400
  1411. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +0 -296
  1412. jaclang/vendor/mypyc/test-data/refcount.test +0 -1482
  1413. jaclang/vendor/mypyc/test-data/run-async.test +0 -173
  1414. jaclang/vendor/mypyc/test-data/run-attrs.test +0 -318
  1415. jaclang/vendor/mypyc/test-data/run-bench.test +0 -196
  1416. jaclang/vendor/mypyc/test-data/run-bools.test +0 -229
  1417. jaclang/vendor/mypyc/test-data/run-bytes.test +0 -302
  1418. jaclang/vendor/mypyc/test-data/run-classes.test +0 -2505
  1419. jaclang/vendor/mypyc/test-data/run-dicts.test +0 -334
  1420. jaclang/vendor/mypyc/test-data/run-dunders.test +0 -945
  1421. jaclang/vendor/mypyc/test-data/run-exceptions.test +0 -448
  1422. jaclang/vendor/mypyc/test-data/run-floats.test +0 -516
  1423. jaclang/vendor/mypyc/test-data/run-functions.test +0 -1310
  1424. jaclang/vendor/mypyc/test-data/run-generators.test +0 -682
  1425. jaclang/vendor/mypyc/test-data/run-i16.test +0 -338
  1426. jaclang/vendor/mypyc/test-data/run-i32.test +0 -336
  1427. jaclang/vendor/mypyc/test-data/run-i64.test +0 -1519
  1428. jaclang/vendor/mypyc/test-data/run-imports.test +0 -265
  1429. jaclang/vendor/mypyc/test-data/run-integers.test +0 -540
  1430. jaclang/vendor/mypyc/test-data/run-lists.test +0 -411
  1431. jaclang/vendor/mypyc/test-data/run-loops.test +0 -485
  1432. jaclang/vendor/mypyc/test-data/run-match.test +0 -283
  1433. jaclang/vendor/mypyc/test-data/run-math.test +0 -106
  1434. jaclang/vendor/mypyc/test-data/run-misc.test +0 -1170
  1435. jaclang/vendor/mypyc/test-data/run-multimodule.test +0 -887
  1436. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +0 -138
  1437. jaclang/vendor/mypyc/test-data/run-primitives.test +0 -375
  1438. jaclang/vendor/mypyc/test-data/run-python37.test +0 -159
  1439. jaclang/vendor/mypyc/test-data/run-python38.test +0 -88
  1440. jaclang/vendor/mypyc/test-data/run-sets.test +0 -150
  1441. jaclang/vendor/mypyc/test-data/run-singledispatch.test +0 -698
  1442. jaclang/vendor/mypyc/test-data/run-strings.test +0 -641
  1443. jaclang/vendor/mypyc/test-data/run-traits.test +0 -411
  1444. jaclang/vendor/mypyc/test-data/run-tuples.test +0 -258
  1445. jaclang/vendor/mypyc/test-data/run-u8.test +0 -303
  1446. jaclang/vendor/mypyc/transform/__init__.py +0 -0
  1447. jaclang/vendor/mypyc/transform/copy_propagation.py +0 -94
  1448. jaclang/vendor/mypyc/transform/exceptions.py +0 -182
  1449. jaclang/vendor/mypyc/transform/flag_elimination.py +0 -108
  1450. jaclang/vendor/mypyc/transform/ir_transform.py +0 -368
  1451. jaclang/vendor/mypyc/transform/lower.py +0 -33
  1452. jaclang/vendor/mypyc/transform/refcount.py +0 -294
  1453. jaclang/vendor/mypyc/transform/uninit.py +0 -190
  1454. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1455. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1456. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -5
  1457. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1458. jaclang/vendor/typing_extensions.py +0 -3641
  1459. jaclang-0.7.33.dist-info/RECORD +0 -1562
  1460. /jaclang/{vendor/mypy/dmypy → compiler/larkparse}/__init__.py +0 -0
  1461. /jaclang/{tests → compiler/passes/main/tests}/fixtures/access_checker.jac +0 -0
  1462. /jaclang/{vendor/mypy/plugins/__init__.py → langserve/tests/fixtures/deep_check_crash.jac} +0 -0
  1463. /jaclang/{vendor/mypy/server/__init__.py → langserve/tests/server_test/code_test.py} +0 -0
  1464. /jaclang/{plugin → runtimelib}/tests/__init__.py +0 -0
  1465. /jaclang/{plugin → runtimelib}/tests/fixtures/traversing_save.jac +0 -0
  1466. /jaclang/{vendor/mypy/test → tests}/__init__.py +0 -0
  1467. /jaclang/{vendor/mypy/test/meta → tests/fixtures}/__init__.py +0 -0
  1468. /jaclang/tests/fixtures/{architype_def_bug.jac → archetype_def_bug.jac} +0 -0
  1469. /jaclang/vendor/{mypy/typeshed/stdlib/concurrent/__init__.pyi → attrs-25.3.0.dist-info/REQUESTED} +0 -0
  1470. /jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/licenses/LICENSE +0 -0
  1471. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/__init__.pyi → cattrs-24.1.3.dist-info/REQUESTED} +0 -0
  1472. /jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/licenses/LICENSE +0 -0
  1473. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi → lark-1.2.2.dist-info/REQUESTED} +0 -0
  1474. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/entry_points.txt +0 -0
  1475. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/top_level.txt +0 -0
  1476. /jaclang/vendor/{mypy/typeshed/stdlib/email/mime/__init__.pyi → lsprotocol-2023.0.1.dist-info/REQUESTED} +0 -0
  1477. /jaclang/vendor/lsprotocol-2023.0.1.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1478. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/__init__.pyi → pluggy-1.5.0.dist-info/REQUESTED} +0 -0
  1479. /jaclang/vendor/pluggy-1.5.0.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1480. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi → pygls-1.3.1.dist-info/REQUESTED} +0 -0
  1481. {jaclang-0.7.33.dist-info → jaclang-0.8.0.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,33 @@ 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_dotgen(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_dotgen_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)
138
132
 
139
133
  def test_chandra_bugs(self) -> None:
140
134
  """Parse micro jac file."""
141
135
  captured_output = io.StringIO()
142
136
  sys.stdout = captured_output
143
- jac_import("chandra_bugs", base_path=self.fixture_abs_path("./"))
137
+ Jac.jac_import(self.mach, "chandra_bugs", base_path=self.fixture_abs_path("./"))
144
138
  sys.stdout = sys.__stdout__
145
139
  stdout_value = captured_output.getvalue()
146
140
  self.assertEqual(
@@ -152,7 +146,9 @@ class JacLanguageTests(TestCase):
152
146
  """Parse micro jac file."""
153
147
  captured_output = io.StringIO()
154
148
  sys.stdout = captured_output
155
- jac_import("chandra_bugs2", base_path=self.fixture_abs_path("./"))
149
+ Jac.jac_import(
150
+ self.mach, "chandra_bugs2", base_path=self.fixture_abs_path("./")
151
+ )
156
152
  sys.stdout = sys.__stdout__
157
153
  stdout_value = captured_output.getvalue()
158
154
  self.assertEqual(
@@ -167,7 +163,7 @@ class JacLanguageTests(TestCase):
167
163
  """Parse micro jac file."""
168
164
  captured_output = io.StringIO()
169
165
  sys.stdout = captured_output
170
- jac_import("ignore_dup", base_path=self.fixture_abs_path("./"))
166
+ Jac.jac_import(self.mach, "ignore_dup", base_path=self.fixture_abs_path("./"))
171
167
  sys.stdout = sys.__stdout__
172
168
  stdout_value = captured_output.getvalue()
173
169
  self.assertEqual(stdout_value.split("\n")[0].count("here"), 10)
@@ -177,17 +173,19 @@ class JacLanguageTests(TestCase):
177
173
  """Parse micro jac file."""
178
174
  captured_output = io.StringIO()
179
175
  sys.stdout = captured_output
180
- jac_import("hashcheck_dup", base_path=self.fixture_abs_path("./"))
176
+ Jac.jac_import(
177
+ self.mach, "hashcheck_dup", base_path=self.fixture_abs_path("./")
178
+ )
181
179
  sys.stdout = sys.__stdout__
182
180
  stdout_value = captured_output.getvalue()
183
181
  self.assertEqual(stdout_value.count("check"), 2)
184
182
 
185
183
  def test_arith_precedence(self) -> None:
186
184
  """Basic precedence test."""
187
- prog = jac_str_to_pass("with entry {print(4-5-4);}", "test.jac")
185
+ prog = JacProgram().compile_from_str("with entry {print(4-5-4);}", "test.jac")
188
186
  captured_output = io.StringIO()
189
187
  sys.stdout = captured_output
190
- exec(compile(prog.ir.gen.py_ast[0], "test.py", "exec"))
188
+ exec(compile(prog.gen.py_ast[0], "test.py", "exec"))
191
189
  sys.stdout = sys.__stdout__
192
190
  stdout_value = captured_output.getvalue()
193
191
  self.assertEqual(stdout_value, "-5\n")
@@ -196,7 +194,7 @@ class JacLanguageTests(TestCase):
196
194
  """Test importing python."""
197
195
  captured_output = io.StringIO()
198
196
  sys.stdout = captured_output
199
- jac_import("needs_import", base_path=self.fixture_abs_path("./"))
197
+ Jac.jac_import(self.mach, "needs_import", base_path=self.fixture_abs_path("./"))
200
198
  sys.stdout = sys.__stdout__
201
199
  stdout_value = captured_output.getvalue()
202
200
  self.assertIn("<module 'pyfunc' from", stdout_value)
@@ -205,19 +203,22 @@ class JacLanguageTests(TestCase):
205
203
  """Testing filter comprehension."""
206
204
  captured_output = io.StringIO()
207
205
  sys.stdout = captured_output
208
- jac_import(
206
+ Jac.jac_import(
207
+ self.mach,
209
208
  "reference.special_comprehensions",
210
209
  base_path=self.examples_abs_path(""),
211
210
  )
212
211
  sys.stdout = sys.__stdout__
213
212
  stdout_value = captured_output.getvalue()
214
- self.assertIn("TestObj", stdout_value)
213
+ self.assertIn("True", stdout_value)
215
214
 
216
215
  def test_gen_dot_bubble(self) -> None:
217
216
  """Test the dot gen of nodes and edges of bubblesort."""
218
217
  captured_output = io.StringIO()
219
218
  sys.stdout = captured_output
220
- jac_import("gendot_bubble_sort", base_path=self.fixture_abs_path("./"))
219
+ Jac.jac_import(
220
+ self.mach, "gendot_bubble_sort", base_path=self.fixture_abs_path("./")
221
+ )
221
222
  sys.stdout = sys.__stdout__
222
223
  stdout_value = captured_output.getvalue()
223
224
  self.assertIn(
@@ -225,11 +226,13 @@ class JacLanguageTests(TestCase):
225
226
  stdout_value,
226
227
  )
227
228
 
228
- def test_assign_compr(self) -> None:
229
+ def test_assign_operation(self) -> None:
229
230
  """Test assign_compr."""
230
231
  captured_output = io.StringIO()
231
232
  sys.stdout = captured_output
232
- jac_import("assign_compr_dup", base_path=self.fixture_abs_path("./"))
233
+ Jac.jac_import(
234
+ self.mach, "assign_compr_dup", base_path=self.fixture_abs_path("./")
235
+ )
233
236
  sys.stdout = sys.__stdout__
234
237
  stdout_value = captured_output.getvalue()
235
238
  self.assertEqual(
@@ -237,22 +240,13 @@ class JacLanguageTests(TestCase):
237
240
  stdout_value,
238
241
  )
239
242
 
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
243
  def test_raw_bytestr(self) -> None:
252
244
  """Test raw string and byte string."""
253
245
  captured_output = io.StringIO()
254
246
  sys.stdout = captured_output
255
- jac_import("raw_byte_string", base_path=self.fixture_abs_path("./"))
247
+ Jac.jac_import(
248
+ self.mach, "raw_byte_string", base_path=self.fixture_abs_path("./")
249
+ )
256
250
  sys.stdout = sys.__stdout__
257
251
  stdout_value = captured_output.getvalue()
258
252
  self.assertEqual(stdout_value.count(r"\\\\"), 2)
@@ -262,7 +256,8 @@ class JacLanguageTests(TestCase):
262
256
  """Test fstring with multiple quotation."""
263
257
  captured_output = io.StringIO()
264
258
  sys.stdout = captured_output
265
- jac_import(
259
+ Jac.jac_import(
260
+ self.mach,
266
261
  "compiler/passes/main/tests/fixtures/fstrings",
267
262
  base_path=self.fixture_abs_path("../../"),
268
263
  )
@@ -278,11 +273,35 @@ class JacLanguageTests(TestCase):
278
273
  captured_output = io.StringIO()
279
274
  sys.stdout = captured_output
280
275
 
281
- jac_import("deep_import", base_path=self.fixture_abs_path("./"))
276
+ Jac.jac_import(self.mach, "deep_import", base_path=self.fixture_abs_path("./"))
282
277
  sys.stdout = sys.__stdout__
283
278
  stdout_value = captured_output.getvalue()
279
+ print(self.mach.loaded_modules.keys())
284
280
  self.assertEqual(stdout_value.split("\n")[0], "one level deeperslHello World!")
285
281
 
282
+ def test_deep_imports_interp_mode(self) -> None:
283
+ """Parse micro jac file."""
284
+ mach = JacMachine(self.fixture_abs_path("./"), interp_mode=True)
285
+ Jac.attach_program(
286
+ mach,
287
+ JacProgram(),
288
+ )
289
+ Jac.jac_import(
290
+ mach, "deep_import_interp", base_path=self.fixture_abs_path("./")
291
+ )
292
+ print(mach.jac_program.mod.hub.keys())
293
+ self.assertEqual(len(mach.jac_program.mod.hub.keys()), 1)
294
+ mach = JacMachine(self.fixture_abs_path("./"), interp_mode=False)
295
+ Jac.attach_program(
296
+ mach,
297
+ JacProgram(),
298
+ )
299
+ Jac.jac_import(
300
+ mach, "deep_import_interp", base_path=self.fixture_abs_path("./")
301
+ )
302
+ print(mach.jac_program.mod.hub.keys())
303
+ self.assertEqual(len(mach.jac_program.mod.hub.keys()), 5)
304
+
286
305
  def test_deep_imports_mods(self) -> None:
287
306
  """Parse micro jac file."""
288
307
  targets = [
@@ -295,8 +314,10 @@ class JacLanguageTests(TestCase):
295
314
  for i in targets:
296
315
  if i in sys.modules:
297
316
  del sys.modules[i]
298
- jac_import("deep_import_mods", base_path=self.fixture_abs_path("./"))
299
- mods = JacMachine.get().loaded_modules.keys()
317
+ Jac.jac_import(
318
+ self.mach, "deep_import_mods", base_path=self.fixture_abs_path("./")
319
+ )
320
+ mods = self.mach.loaded_modules.keys()
300
321
  for i in targets:
301
322
  self.assertIn(i, mods)
302
323
  self.assertEqual(len([i for i in mods if i.startswith("deep")]), 6)
@@ -305,8 +326,10 @@ class JacLanguageTests(TestCase):
305
326
  """Parse micro jac file."""
306
327
  captured_output = io.StringIO()
307
328
  sys.stdout = captured_output
308
- jac_import(
309
- "deep.deeper.deep_outer_import", base_path=self.fixture_abs_path("./")
329
+ Jac.jac_import(
330
+ self.mach,
331
+ "deep.deeper.deep_outer_import",
332
+ base_path=self.fixture_abs_path("./"),
310
333
  )
311
334
  sys.stdout = sys.__stdout__
312
335
  stdout_value = captured_output.getvalue()
@@ -324,23 +347,11 @@ class JacLanguageTests(TestCase):
324
347
  self.assertIn("one level deeperslHello World!", stdout_value)
325
348
  self.assertIn("module 'pyfunc' from ", stdout_value)
326
349
 
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
350
  def test_has_lambda_goodness(self) -> None:
340
351
  """Test has lambda_goodness."""
341
352
  captured_output = io.StringIO()
342
353
  sys.stdout = captured_output
343
- jac_import("has_goodness", base_path=self.fixture_abs_path("./"))
354
+ Jac.jac_import(self.mach, "has_goodness", base_path=self.fixture_abs_path("./"))
344
355
  sys.stdout = sys.__stdout__
345
356
  stdout_value = captured_output.getvalue()
346
357
  self.assertEqual(stdout_value.split("\n")[0], "mylist: [1, 2, 3]")
@@ -350,7 +361,7 @@ class JacLanguageTests(TestCase):
350
361
  """Test conn assign on edges."""
351
362
  captured_output = io.StringIO()
352
363
  sys.stdout = captured_output
353
- jac_import("edge_ops", base_path=self.fixture_abs_path("./"))
364
+ Jac.jac_import(self.mach, "edge_ops", base_path=self.fixture_abs_path("./"))
354
365
  sys.stdout = sys.__stdout__
355
366
  stdout_value = captured_output.getvalue()
356
367
  self.assertIn("[(3, 5), (14, 1), (5, 1)]", stdout_value)
@@ -361,7 +372,7 @@ class JacLanguageTests(TestCase):
361
372
  """Test conn assign on edges."""
362
373
  captured_output = io.StringIO()
363
374
  sys.stdout = captured_output
364
- jac_import("disconn", base_path=self.fixture_abs_path("./"))
375
+ Jac.jac_import(self.mach, "disconn", base_path=self.fixture_abs_path("./"))
365
376
  sys.stdout = sys.__stdout__
366
377
  stdout_value = captured_output.getvalue().split("\n")
367
378
  self.assertIn("c(cc=0)", stdout_value[0])
@@ -378,7 +389,7 @@ class JacLanguageTests(TestCase):
378
389
  """Test conn assign on edges."""
379
390
  captured_output = io.StringIO()
380
391
  sys.stdout = captured_output
381
- jac_import("simple_archs", base_path=self.fixture_abs_path("./"))
392
+ Jac.jac_import(self.mach, "simple_archs", base_path=self.fixture_abs_path("./"))
382
393
  sys.stdout = sys.__stdout__
383
394
  stdout_value = captured_output.getvalue()
384
395
  self.assertEqual(stdout_value.split("\n")[0], "1 2 0")
@@ -388,7 +399,7 @@ class JacLanguageTests(TestCase):
388
399
  """Test walking through edges."""
389
400
  captured_output = io.StringIO()
390
401
  sys.stdout = captured_output
391
- jac_import("edges_walk", base_path=self.fixture_abs_path("./"))
402
+ Jac.jac_import(self.mach, "edges_walk", base_path=self.fixture_abs_path("./"))
392
403
  sys.stdout = sys.__stdout__
393
404
  stdout_value = captured_output.getvalue()
394
405
  self.assertIn("creator()\n", stdout_value)
@@ -397,20 +408,11 @@ class JacLanguageTests(TestCase):
397
408
  self.assertIn("node_a(val=2)", stdout_value)
398
409
  self.assertIn("[node_a(val=42), node_a(val=42)]\n", stdout_value)
399
410
 
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
411
  def test_tuple_of_tuple_assign(self) -> None:
410
412
  """Test walking through edges."""
411
413
  captured_output = io.StringIO()
412
414
  sys.stdout = captured_output
413
- jac_import("tuplytuples", base_path=self.fixture_abs_path("./"))
415
+ Jac.jac_import(self.mach, "tuplytuples", base_path=self.fixture_abs_path("./"))
414
416
  sys.stdout = sys.__stdout__
415
417
  stdout_value = captured_output.getvalue()
416
418
  self.assertIn(
@@ -422,7 +424,9 @@ class JacLanguageTests(TestCase):
422
424
  """Test walking through edges."""
423
425
  captured_output = io.StringIO()
424
426
  sys.stdout = captured_output
425
- jac_import("deferred_field", base_path=self.fixture_abs_path("./"))
427
+ Jac.jac_import(
428
+ self.mach, "deferred_field", base_path=self.fixture_abs_path("./")
429
+ )
426
430
  sys.stdout = sys.__stdout__
427
431
  stdout_value = captured_output.getvalue()
428
432
  self.assertIn(
@@ -434,7 +438,9 @@ class JacLanguageTests(TestCase):
434
438
  """Test the dot gen of nodes and edges as a builtin."""
435
439
  captured_output = io.StringIO()
436
440
  sys.stdout = captured_output
437
- jac_import("builtin_dotgen", base_path=self.fixture_abs_path("./"))
441
+ Jac.jac_import(
442
+ self.mach, "builtin_dotgen", base_path=self.fixture_abs_path("./")
443
+ )
438
444
  sys.stdout = sys.__stdout__
439
445
  stdout_value = captured_output.getvalue()
440
446
  self.assertEqual(stdout_value.count("True"), 16)
@@ -443,7 +449,7 @@ class JacLanguageTests(TestCase):
443
449
  """Test walking through edges."""
444
450
  captured_output = io.StringIO()
445
451
  sys.stdout = captured_output
446
- jac_import("with_context", base_path=self.fixture_abs_path("./"))
452
+ Jac.jac_import(self.mach, "with_context", base_path=self.fixture_abs_path("./"))
447
453
  sys.stdout = sys.__stdout__
448
454
  stdout_value = captured_output.getvalue()
449
455
  self.assertIn("im in", stdout_value)
@@ -458,7 +464,9 @@ class JacLanguageTests(TestCase):
458
464
  """Parse micro jac file."""
459
465
  captured_output = io.StringIO()
460
466
  sys.stdout = captured_output
461
- jac_import("micro.typed_filter_compr", base_path=self.examples_abs_path(""))
467
+ Jac.jac_import(
468
+ self.mach, "micro.typed_filter_compr", base_path=self.examples_abs_path("")
469
+ )
462
470
  sys.stdout = sys.__stdout__
463
471
  stdout_value = captured_output.getvalue()
464
472
  self.assertIn(
@@ -472,7 +480,9 @@ class JacLanguageTests(TestCase):
472
480
  """Test walking through edges and nodes."""
473
481
  captured_output = io.StringIO()
474
482
  sys.stdout = captured_output
475
- jac_import("edge_node_walk", base_path=self.fixture_abs_path("./"))
483
+ Jac.jac_import(
484
+ self.mach, "edge_node_walk", base_path=self.fixture_abs_path("./")
485
+ )
476
486
  sys.stdout = sys.__stdout__
477
487
  stdout_value = captured_output.getvalue()
478
488
  self.assertIn("creator()\n", stdout_value)
@@ -483,260 +493,145 @@ class JacLanguageTests(TestCase):
483
493
 
484
494
  def test_annotation_tuple_issue(self) -> None:
485
495
  """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)
496
+ mypass = JacProgram().compile(self.fixture_abs_path("./slice_vals.jac"))
497
+ self.assertIn("Annotated[Str, INT, BLAH]", mypass.gen.py)
498
+ self.assertIn("tuple[int, Optional[type], Optional[tuple]]", mypass.gen.py)
519
499
 
520
500
  def test_enum_inside_arch(self) -> None:
521
501
  """Test Enum as member stmt."""
522
502
  captured_output = io.StringIO()
523
503
  sys.stdout = captured_output
524
- jac_import("enum_inside_archtype", base_path=self.fixture_abs_path("./"))
504
+ Jac.jac_import(
505
+ self.mach, "enum_inside_archtype", base_path=self.fixture_abs_path("./")
506
+ )
525
507
  sys.stdout = sys.__stdout__
526
508
  stdout_value = captured_output.getvalue()
527
509
  self.assertIn("2 Accessing privileged Data", stdout_value)
528
510
 
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
511
  def test_pyfunc_1(self) -> None:
560
512
  """Test py ast to Jac ast conversion."""
561
513
  from jaclang.compiler.passes.main import PyastBuildPass
562
- import jaclang.compiler.absyntree as ast
514
+ import jaclang.compiler.unitree as uni
563
515
  import ast as py_ast
564
516
 
565
517
  py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_1.py")
566
518
  with open(py_out_path) as f:
567
519
  file_source = f.read()
568
520
  output = PyastBuildPass(
569
- input_ir=ast.PythonModuleAst(
521
+ ir_in=uni.PythonModuleAst(
570
522
  py_ast.parse(file_source),
571
- orig_src=ast.JacSource(file_source, py_out_path),
523
+ orig_src=uni.Source(file_source, py_out_path),
572
524
  ),
573
- ).ir.unparse()
574
- # print(output)
575
- self.assertIn("can greet2(**kwargs: Any)", output)
576
- self.assertEqual(output.count("with entry {"), 13)
525
+ prog=JacProgram(),
526
+ ).ir_out.unparse()
527
+ print(output)
528
+ self.assertIn("def greet2(**kwargs: Any)", output)
529
+ self.assertEqual(output.count("with entry {"), 14)
530
+ self.assertIn("assert (x == 5) , 'x should be equal to 5' ;", output)
531
+ self.assertIn("if not (x == y) {", output)
532
+ self.assertIn("def greet2(**kwargs: Any) {", output)
533
+ self.assertIn("squares_dict = { x : (x ** 2) for x in numbers };", output)
577
534
  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
535
+ '\n\n"""Say hello"""\n@ my_decorator\n\n def say_hello() {', output
588
536
  )
589
537
 
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
538
  def test_pyfunc_2(self) -> None:
625
539
  """Test py ast to Jac ast conversion."""
626
540
  from jaclang.compiler.passes.main import PyastBuildPass
627
- import jaclang.compiler.absyntree as ast
541
+ import jaclang.compiler.unitree as uni
628
542
  import ast as py_ast
629
543
 
630
544
  py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_2.py")
631
545
  with open(py_out_path) as f:
632
546
  file_source = f.read()
633
547
  output = PyastBuildPass(
634
- input_ir=ast.PythonModuleAst(
548
+ ir_in=uni.PythonModuleAst(
635
549
  py_ast.parse(file_source),
636
- orig_src=ast.JacSource(file_source, py_out_path),
550
+ orig_src=uni.Source(file_source, py_out_path),
637
551
  ),
638
- ).ir.unparse()
639
- self.assertIn("class X {\n with entry {\n\n a_b = 67;", output)
552
+ prog=JacProgram(),
553
+ ).ir_out.unparse()
554
+ self.assertIn("class X {\n with entry {\n a_b = 67;", output)
640
555
  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)
556
+ self.assertIn("class Circle {\n def init(radius: float", output)
557
+ self.assertIn("<>node = 90;\n \n\n print(<>node);\n", output)
643
558
 
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")
647
-
648
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
649
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
559
+ def test_pyfunc_3(self) -> None:
560
+ """Test py ast to Jac ast conversion."""
561
+ from jaclang.compiler.passes.main import PyastBuildPass
562
+ import jaclang.compiler.unitree as uni
650
563
  import ast as py_ast
651
- import jaclang.compiler.absyntree as ast
652
564
 
653
- with open(file_name, "r") as f:
565
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_3.py")
566
+ with open(py_out_path) as f:
654
567
  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)
568
+ output = PyastBuildPass(
569
+ ir_in=uni.PythonModuleAst(
570
+ py_ast.parse(file_source),
571
+ orig_src=uni.Source(file_source, py_out_path),
572
+ ),
573
+ prog=JacProgram(),
574
+ ).ir_out.unparse()
575
+ self.assertIn("if (0 <= x <= 5) {", output)
576
+ self.assertIn(" case _:\n", output)
577
+ self.assertIn(" case Point ( x = int ( a ), y = 0 ):\n", output)
578
+ self.assertIn("class Sample {\n def init", output)
676
579
 
677
- def test_pyfunc_3(self) -> None:
580
+ def test_py2jac(self) -> None:
678
581
  """Test py ast to Jac ast conversion."""
679
582
  from jaclang.compiler.passes.main import PyastBuildPass
680
- import jaclang.compiler.absyntree as ast
583
+ import jaclang.compiler.unitree as ast
681
584
  import ast as py_ast
682
585
 
683
- py_out_path = os.path.join(self.fixture_abs_path("./"), "pyfunc_3.py")
586
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py2jac.py")
684
587
  with open(py_out_path) as f:
685
588
  file_source = f.read()
686
589
  output = PyastBuildPass(
687
- input_ir=ast.PythonModuleAst(
590
+ ir_in=ast.PythonModuleAst(
688
591
  py_ast.parse(file_source),
689
- orig_src=ast.JacSource(file_source, py_out_path),
592
+ orig_src=ast.Source(file_source, py_out_path),
690
593
  ),
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)
594
+ prog=None,
595
+ ).ir_out.unparse()
596
+ self.assertIn("match Container(inner=Inner(x=a, y=b)) { \n", output)
597
+ self.assertIn("case Container ( inner = Inner ( x = a, y = 0 ) ):\n", output)
598
+ self.assertIn("case Container ( inner = Inner ( x = a, y = b ) ):\n", output)
599
+ self.assertIn("case _:\n", output)
600
+
601
+ def test_refs_target(self) -> None:
602
+ """Test py ast to Jac ast conversion output."""
603
+ captured_output = io.StringIO()
604
+ sys.stdout = captured_output
605
+ Jac.jac_import(self.mach, "refs_target", base_path=self.fixture_abs_path("./"))
606
+ sys.stdout = sys.__stdout__
607
+ stdout_value = captured_output.getvalue()
608
+ self.assertIn("[c(val=0), c(val=1), c(val=2)]", stdout_value)
609
+ self.assertIn("[c(val=0)]", stdout_value)
696
610
 
697
611
  def test_py_kw_as_name_disallowed(self) -> None:
698
612
  """Basic precedence test."""
699
- prog = jac_str_to_pass("with entry {print.is.not.True(4-5-4);}", "test.jac")
613
+ (prog := JacProgram()).compile_from_str(
614
+ "with entry {print.is.not.True(4-5-4);}", "test.jac"
615
+ )
700
616
  self.assertIn("Python keyword is used as name", str(prog.errors_had[0].msg))
701
617
 
702
618
  def test_double_format_issue(self) -> None:
703
619
  """Basic precedence test."""
704
- prog = jac_str_to_pass("with entry {print(hello);}", "test.jac")
705
- prog.ir.unparse()
706
- before = prog.ir.format()
707
- prog.ir.format()
708
- prog.ir.format()
709
- after = prog.ir.format()
620
+ prog = JacProgram().compile_from_str("with entry {print(hello);}", "test.jac")
621
+ prog.unparse()
622
+ before = prog.format()
623
+ prog.format()
624
+ prog.format()
625
+ after = prog.format()
710
626
  self.assertEqual(before, after)
711
627
 
712
- def test_type_fuse_expr(self) -> None:
713
- """Basic test for pass."""
714
- captured_output = io.StringIO()
715
- sys.stdout = captured_output
716
- cli.tool(
717
- "ir",
718
- [
719
- "ast",
720
- self.examples_abs_path("reference/collection_values.jac"),
721
- ],
722
- )
723
-
724
- sys.stdout = sys.__stdout__
725
- stdout_value = captured_output.getvalue()
726
- self.assertIn(
727
- "builtins.dict[builtins.int, builtins.int]",
728
- stdout_value,
729
- )
730
- self.assertIn(
731
- "typing.Generator[builtins.int, None, None]",
732
- stdout_value,
733
- )
734
-
735
628
  def test_inherit_check(self) -> None:
736
629
  """Test py ast to Jac ast conversion output."""
737
630
  captured_output = io.StringIO()
738
631
  sys.stdout = captured_output
739
- jac_import("inherit_check", base_path=self.fixture_abs_path("./"))
632
+ Jac.jac_import(
633
+ self.mach, "inherit_check", base_path=self.fixture_abs_path("./")
634
+ )
740
635
  sys.stdout = sys.__stdout__
741
636
  stdout_value = captured_output.getvalue()
742
637
  self.assertEqual("I am in b\nI am in b\nwww is also in b\n", stdout_value)
@@ -745,7 +640,7 @@ class JacLanguageTests(TestCase):
745
640
  """Test tuple unpack."""
746
641
  captured_output = io.StringIO()
747
642
  sys.stdout = captured_output
748
- jac_import("tupleunpack", base_path=self.fixture_abs_path("./"))
643
+ Jac.jac_import(self.mach, "tupleunpack", base_path=self.fixture_abs_path("./"))
749
644
  sys.stdout = sys.__stdout__
750
645
  stdout_value = captured_output.getvalue().split("\n")
751
646
  self.assertIn("1", stdout_value[0])
@@ -755,7 +650,9 @@ class JacLanguageTests(TestCase):
755
650
  """Test trailing comma."""
756
651
  captured_output = io.StringIO()
757
652
  sys.stdout = captured_output
758
- jac_import("trailing_comma", base_path=self.fixture_abs_path("./"))
653
+ Jac.jac_import(
654
+ self.mach, "trailing_comma", base_path=self.fixture_abs_path("./")
655
+ )
759
656
  sys.stdout = sys.__stdout__
760
657
  stdout_value = captured_output.getvalue()
761
658
  self.assertIn("Code compiled and ran successfully!", stdout_value)
@@ -764,7 +661,7 @@ class JacLanguageTests(TestCase):
764
661
  """Test try finally."""
765
662
  captured_output = io.StringIO()
766
663
  sys.stdout = captured_output
767
- jac_import("try_finally", base_path=self.fixture_abs_path("./"))
664
+ Jac.jac_import(self.mach, "try_finally", base_path=self.fixture_abs_path("./"))
768
665
  sys.stdout = sys.__stdout__
769
666
  stdout_value = captured_output.getvalue().split("\n")
770
667
  self.assertIn("try block", stdout_value[0])
@@ -777,7 +674,9 @@ class JacLanguageTests(TestCase):
777
674
  """Test arithmetic bug."""
778
675
  captured_output = io.StringIO()
779
676
  sys.stdout = captured_output
780
- jac_import("arithmetic_bug", base_path=self.fixture_abs_path("./"))
677
+ Jac.jac_import(
678
+ self.mach, "arithmetic_bug", base_path=self.fixture_abs_path("./")
679
+ )
781
680
  sys.stdout = sys.__stdout__
782
681
  stdout_value = captured_output.getvalue().split("\n")
783
682
  self.assertEqual("0.0625", stdout_value[0])
@@ -790,138 +689,28 @@ class JacLanguageTests(TestCase):
790
689
  """Test lambda expr."""
791
690
  captured_output = io.StringIO()
792
691
  sys.stdout = captured_output
793
- jac_import("lambda", base_path=self.fixture_abs_path("./"))
692
+ Jac.jac_import(self.mach, "lambda", base_path=self.fixture_abs_path("./"))
794
693
  sys.stdout = sys.__stdout__
795
694
  stdout_value = captured_output.getvalue().split("\n")
796
695
  self.assertEqual("9", stdout_value[0])
797
696
  self.assertEqual("567", stdout_value[1])
798
697
 
799
- def test_random_check(self) -> None:
800
- """Test py ast to Jac ast conversion output."""
801
- from jaclang.compiler.passes.main import PyastBuildPass
802
- import jaclang.compiler.absyntree as ast
803
- import ast as py_ast
804
- from jaclang.settings import settings
805
-
806
- module_paths = ["random", "ast"]
807
- for module_path in module_paths:
808
- stdlib_dir = sysconfig.get_paths()["stdlib"]
809
- file_path = os.path.join(
810
- stdlib_dir,
811
- module_path + ".py",
812
- )
813
- with open(file_path) as f:
814
- file_source = f.read()
815
- jac_ast = PyastBuildPass(
816
- input_ir=ast.PythonModuleAst(
817
- py_ast.parse(file_source),
818
- orig_src=ast.JacSource(file_source, file_path),
819
- )
820
- )
821
- settings.print_py_raised_ast = True
822
- ir = jac_pass_to_pass(jac_ast).ir
823
- gen_ast = ir.pp()
824
- if module_path == "random":
825
- self.assertIn("ModulePath - statistics -", gen_ast)
826
- else:
827
- self.assertIn("+-- Name - NodeTransformer - Type: No", gen_ast)
828
-
829
- def test_deep_py_load_imports(self) -> None: # we can get rid of this, isn't?
830
- """Test py ast to Jac ast conversion output."""
831
- file_name = os.path.join(self.fixture_abs_path("./"), "random_check.jac")
832
- from jaclang.compiler.passes.main.schedules import py_code_gen, PyImportPass
833
-
834
- imp = jac_file_to_pass(file_name, schedule=py_code_gen, target=PyImportPass)
835
- self.assertEqual(len(imp.import_table), 1)
836
-
837
- def test_access_modifier(self) -> None:
838
- """Test for access tags working."""
839
- captured_output = io.StringIO()
840
- sys.stdout = captured_output
841
- sys.stderr = captured_output
842
- cli.check(
843
- self.fixture_abs_path("../../tests/fixtures/access_modifier.jac"),
844
- print_errs=True,
845
- )
846
- sys.stdout = sys.__stdout__
847
- sys.stderr = sys.__stderr__
848
- stdout_value = captured_output.getvalue()
849
- self.assertEqual(stdout_value.count("Invalid access"), 18)
850
-
851
- def test_deep_convert(self) -> None:
852
- """Test py ast to Jac ast conversion output."""
853
- file_name = self.fixture_abs_path("pyfunc_1.py")
854
-
855
- from jaclang.compiler.passes.main.schedules import py_code_gen_typed
856
- from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
857
- import ast as py_ast
858
- import jaclang.compiler.absyntree as ast
859
- from jaclang.settings import settings
860
-
861
- with open(file_name, "r") as f:
862
- parsed_ast = py_ast.parse(f.read())
863
- try:
864
- py_ast_build_pass = PyastBuildPass(
865
- input_ir=ast.PythonModuleAst(
866
- parsed_ast, orig_src=ast.JacSource(f.read(), file_name)
867
- )
868
- )
869
- except Exception as e:
870
- raise Exception(f"Error While Jac to Py AST conversion: {e}")
871
-
872
- settings.print_py_raised_ast = True
873
- ir = jac_pass_to_pass(py_ast_build_pass, schedule=py_code_gen_typed).ir
874
- jac_ast = ir.pp()
875
- self.assertIn(" | +-- String - 'Loop completed normally{}'", jac_ast)
876
- self.assertEqual(len(ir.get_all_sub_nodes(ast.SubNodeList)), 586)
877
- captured_output = io.StringIO()
878
- sys.stdout = captured_output
879
- jac_import("deep_convert", base_path=self.fixture_abs_path("./"))
880
- sys.stdout = sys.__stdout__
881
- stdout_value = captured_output.getvalue()
882
- self.assertIn("Deep convo is imported", stdout_value)
883
-
884
698
  def test_override_walker_inherit(self) -> None:
885
699
  """Test py ast to Jac ast conversion output."""
886
700
  captured_output = io.StringIO()
887
701
  sys.stdout = captured_output
888
- jac_import("walker_override", base_path=self.fixture_abs_path("./"))
702
+ Jac.jac_import(
703
+ self.mach, "walker_override", base_path=self.fixture_abs_path("./")
704
+ )
889
705
  sys.stdout = sys.__stdout__
890
706
  stdout_value = captured_output.getvalue()
891
707
  self.assertEqual("baz\nbar\n", stdout_value)
892
708
 
893
- def test_ds_type_check_pass(self) -> None:
894
- """Test conn assign on edges."""
895
- mypass = jac_file_to_pass(
896
- self.examples_abs_path("micro/simple_walk.jac"),
897
- schedule=py_code_gen_typed,
898
- )
899
- self.assertEqual(len(mypass.errors_had), 0)
900
- self.assertEqual(len(mypass.warnings_had), 0)
901
-
902
- def test_ds_type_check_pass2(self) -> None:
903
- """Test conn assign on edges."""
904
- mypass = jac_file_to_pass(
905
- self.examples_abs_path("guess_game/guess_game5.jac"),
906
- schedule=py_code_gen_typed,
907
- )
908
- self.assertEqual(len(mypass.errors_had), 0)
909
- self.assertEqual(len(mypass.warnings_had), 0)
910
-
911
- def test_circle_override1_type_check_pass(self) -> None:
912
- """Test conn assign on edges."""
913
- mypass = jac_file_to_pass(
914
- self.examples_abs_path("manual_code/circle.jac"),
915
- schedule=py_code_gen_typed,
916
- )
917
- self.assertEqual(len(mypass.errors_had), 0)
918
- self.assertEqual(len(mypass.warnings_had), 0)
919
-
920
709
  def test_self_with_no_sig(self) -> None: # we can get rid of this, isn't?
921
710
  """Test py ast to Jac ast conversion output."""
922
711
  captured_output = io.StringIO()
923
712
  sys.stdout = captured_output
924
- jac_import("nosigself", base_path=self.fixture_abs_path("./"))
713
+ Jac.jac_import(self.mach, "nosigself", base_path=self.fixture_abs_path("./"))
925
714
  sys.stdout = sys.__stdout__
926
715
  stdout_value = captured_output.getvalue()
927
716
  self.assertEqual(stdout_value.count("5"), 2)
@@ -930,45 +719,28 @@ class JacLanguageTests(TestCase):
930
719
  """Test py ast to Jac ast conversion output."""
931
720
  captured_output = io.StringIO()
932
721
  sys.stdout = captured_output
933
- jac_import("hash_init_check", base_path=self.fixture_abs_path("./"))
722
+ Jac.jac_import(
723
+ self.mach, "hash_init_check", base_path=self.fixture_abs_path("./")
724
+ )
934
725
  sys.stdout = sys.__stdout__
935
726
  stdout_value = captured_output.getvalue()
936
727
  self.assertIn("Test Passed", stdout_value)
937
728
 
938
729
  def test_multiline_single_tok(self) -> None:
939
730
  """Test conn assign on edges."""
940
- mypass = jac_file_to_pass(self.fixture_abs_path("byllmissue.jac"))
941
- self.assertIn("2:5 - 4:8", mypass.ir.pp())
942
-
943
- def test_single_impl_annex(self) -> None:
944
- """Basic test for pass."""
945
- mypass = jac_file_to_pass(
946
- self.examples_abs_path("manual_code/circle_pure.jac"),
947
- target=passes.JacImportPass,
948
- )
949
-
950
- self.assertEqual(mypass.ir.pp().count("AbilityDef - (o)Circle.(c)area"), 1)
951
- self.assertIsNone(mypass.ir._sym_tab)
952
- mypass = jac_file_to_pass(
953
- self.examples_abs_path("manual_code/circle_pure.jac"),
954
- target=passes.SymTabBuildPass,
955
- )
956
- self.assertEqual(
957
- len([i for i in mypass.ir.sym_tab.kid if i.name == "circle_pure.impl"]),
958
- 1,
959
- )
731
+ mypass = JacProgram().compile(self.fixture_abs_path("byllmissue.jac"))
732
+ self.assertIn("2:5 - 4:8", mypass.pp())
960
733
 
961
734
  def test_inherit_baseclass_sym(self) -> None:
962
735
  """Basic test for symtable support for inheritance."""
963
- mypass = jac_file_to_pass(
964
- self.examples_abs_path("guess_game/guess_game4.jac"),
965
- target=passes.DefUsePass,
736
+ mypass = JacProgram().compile(
737
+ self.examples_abs_path("guess_game/guess_game4.jac")
966
738
  )
967
739
  table = None
968
- for i in mypass.ir.sym_tab.kid:
969
- if i.name == "GuessTheNumberGame":
970
- for j in i.kid:
971
- if j.name == "play":
740
+ for i in mypass.sym_tab.kid_scope:
741
+ if i.scope_name == "GuessTheNumberGame":
742
+ for j in i.kid_scope:
743
+ if j.scope_name == "play":
972
744
  table = j
973
745
  break
974
746
  break
@@ -979,7 +751,9 @@ class JacLanguageTests(TestCase):
979
751
  """Test importing python."""
980
752
  captured_output = io.StringIO()
981
753
  sys.stdout = captured_output
982
- jac_import("edgetypeissue", base_path=self.fixture_abs_path("./"))
754
+ Jac.jac_import(
755
+ self.mach, "edgetypeissue", base_path=self.fixture_abs_path("./")
756
+ )
983
757
  sys.stdout = sys.__stdout__
984
758
  stdout_value = captured_output.getvalue()
985
759
  self.assertIn("[x()]", stdout_value)
@@ -988,7 +762,9 @@ class JacLanguageTests(TestCase):
988
762
  """Test importing python."""
989
763
  captured_output = io.StringIO()
990
764
  sys.stdout = captured_output
991
- jac_import("blankwithentry", base_path=self.fixture_abs_path("./"))
765
+ Jac.jac_import(
766
+ self.mach, "blankwithentry", base_path=self.fixture_abs_path("./")
767
+ )
992
768
  sys.stdout = sys.__stdout__
993
769
  stdout_value = captured_output.getvalue()
994
770
  self.assertIn("i work", stdout_value)
@@ -997,7 +773,7 @@ class JacLanguageTests(TestCase):
997
773
  """Test importing python."""
998
774
  captured_output = io.StringIO()
999
775
  sys.stdout = captured_output
1000
- jac_import("dblhello", base_path=self.fixture_abs_path("./"))
776
+ Jac.jac_import(self.mach, "dblhello", base_path=self.fixture_abs_path("./"))
1001
777
  sys.stdout = sys.__stdout__
1002
778
  stdout_value = captured_output.getvalue()
1003
779
  self.assertEqual(stdout_value.count("Hello World!"), 1)
@@ -1007,7 +783,7 @@ class JacLanguageTests(TestCase):
1007
783
  """Test class method output."""
1008
784
  captured_output = io.StringIO()
1009
785
  sys.stdout = captured_output
1010
- jac_import("cls_method", base_path=self.fixture_abs_path("./"))
786
+ Jac.jac_import(self.mach, "cls_method", base_path=self.fixture_abs_path("./"))
1011
787
  sys.stdout = sys.__stdout__
1012
788
  stdout_value = captured_output.getvalue().split("\n")
1013
789
  self.assertEqual("MyClass", stdout_value[0])
@@ -1019,7 +795,7 @@ class JacLanguageTests(TestCase):
1019
795
  captured_output = io.StringIO()
1020
796
  sys.stdout = captured_output
1021
797
 
1022
- jac_import("foo", base_path=self.fixture_abs_path("."))
798
+ Jac.jac_import(self.mach, "foo", base_path=self.fixture_abs_path("."))
1023
799
 
1024
800
  sys.stdout = sys.__stdout__
1025
801
  stdout_value = captured_output.getvalue()
@@ -1033,11 +809,11 @@ class JacLanguageTests(TestCase):
1033
809
  stdout_value,
1034
810
  )
1035
811
  self.assertIn(
1036
- "Walkers in bar:\n - Walker: Walker\n - Walker: bar_walk",
812
+ "Walkers in bar:\n - Walker: bar_walk",
1037
813
  stdout_value,
1038
814
  )
1039
815
  self.assertIn("Nodes in bar:\n - Node: Item", stdout_value)
1040
- self.assertIn("Edges in bar:\n - Edge: Edge\n - Edge: Link", stdout_value)
816
+ self.assertIn("Edges in bar:\n - Edge: Link", stdout_value)
1041
817
  self.assertIn("Item value: 0", stdout_value)
1042
818
  self.assertIn("Created 5 items.", stdout_value)
1043
819
 
@@ -1098,11 +874,11 @@ class JacLanguageTests(TestCase):
1098
874
  with open(bar_file_path, "w") as bar_file:
1099
875
  bar_file.write(original_content)
1100
876
 
1101
- def test_dynamic_spawn_architype(self) -> None:
877
+ def test_dynamic_spawn_archetype(self) -> None:
1102
878
  """Test that the walker and node can be spawned and behaves as expected."""
1103
879
  captured_output = io.StringIO()
1104
880
  sys.stdout = captured_output
1105
- cli.run(self.fixture_abs_path("dynamic_architype.jac"))
881
+ cli.run(self.fixture_abs_path("dynamic_archetype.jac"))
1106
882
 
1107
883
  output = captured_output.getvalue().strip()
1108
884
  output_lines = output.split("\n")
@@ -1138,11 +914,11 @@ class JacLanguageTests(TestCase):
1138
914
  f"Expected '{val}' to appear 2 times, but found {len(occurrences)}.",
1139
915
  )
1140
916
 
1141
- def test_dynamic_architype_creation(self) -> None:
917
+ def test_dynamic_archetype_creation(self) -> None:
1142
918
  """Test that the walker and node can be created dynamically."""
1143
919
  captured_output = io.StringIO()
1144
920
  sys.stdout = captured_output
1145
- cli.run(self.fixture_abs_path("create_dynamic_architype.jac"))
921
+ cli.run(self.fixture_abs_path("create_dynamic_archetype.jac"))
1146
922
 
1147
923
  output = captured_output.getvalue().strip()
1148
924
  # Expected outputs for spawned entities
@@ -1154,7 +930,7 @@ class JacLanguageTests(TestCase):
1154
930
  f"Expected '{expected_spawned_walker}' in output.",
1155
931
  )
1156
932
 
1157
- def test_dynamic_architype_creation_rel_import(self) -> None:
933
+ def test_dynamic_archetype_creation_rel_import(self) -> None:
1158
934
  """Test that the walker and node can be created dynamically, with relative import."""
1159
935
  captured_output = io.StringIO()
1160
936
  sys.stdout = captured_output
@@ -1185,7 +961,9 @@ class JacLanguageTests(TestCase):
1185
961
  """Test match case with multiple expressions."""
1186
962
  captured_output = io.StringIO()
1187
963
  sys.stdout = captured_output
1188
- jac_import("match_multi_ex", base_path=self.fixture_abs_path("./"))
964
+ Jac.jac_import(
965
+ self.mach, "match_multi_ex", base_path=self.fixture_abs_path("./")
966
+ )
1189
967
  sys.stdout = sys.__stdout__
1190
968
  stdout_value = captured_output.getvalue().split("\n")
1191
969
  self.assertEqual("Ten", stdout_value[0])
@@ -1195,7 +973,7 @@ class JacLanguageTests(TestCase):
1195
973
  """Test entry and exit behavior of walker."""
1196
974
  captured_output = io.StringIO()
1197
975
  sys.stdout = captured_output
1198
- jac_import("entry_exit", base_path=self.fixture_abs_path("./"))
976
+ Jac.jac_import(self.mach, "entry_exit", base_path=self.fixture_abs_path("./"))
1199
977
  sys.stdout = sys.__stdout__
1200
978
  stdout_value = captured_output.getvalue().split("\n")
1201
979
  self.assertIn("Entering at the beginning of walker: Root()", stdout_value[0])
@@ -1208,7 +986,7 @@ class JacLanguageTests(TestCase):
1208
986
  """Test entry and exit behavior of walker."""
1209
987
  captured_output = io.StringIO()
1210
988
  sys.stdout = captured_output
1211
- jac_import("visit_order", base_path=self.fixture_abs_path("./"))
989
+ Jac.jac_import(self.mach, "visit_order", base_path=self.fixture_abs_path("./"))
1212
990
  sys.stdout = sys.__stdout__
1213
991
  stdout_value = captured_output.getvalue()
1214
992
  self.assertEqual("[MyNode(Name='End'), MyNode(Name='Middle')]\n", stdout_value)
@@ -1217,17 +995,21 @@ class JacLanguageTests(TestCase):
1217
995
  """Test supporting multiple global variable in a statement."""
1218
996
  captured_output = io.StringIO()
1219
997
  sys.stdout = captured_output
1220
- jac_import("glob_multivar_statement", base_path=self.fixture_abs_path("./"))
998
+ Jac.jac_import(
999
+ self.mach, "glob_multivar_statement", base_path=self.fixture_abs_path("./")
1000
+ )
1221
1001
  sys.stdout = sys.__stdout__
1222
1002
  stdout_value = captured_output.getvalue().split("\n")
1223
1003
  self.assertIn("Hello World !", stdout_value[0])
1224
1004
  self.assertIn("Welcome to Jaseci!", stdout_value[1])
1225
1005
 
1226
- def test_architype_def(self) -> None:
1227
- """Test architype definition bug."""
1006
+ def test_archetype_def(self) -> None:
1007
+ """Test archetype definition bug."""
1228
1008
  captured_output = io.StringIO()
1229
1009
  sys.stdout = captured_output
1230
- jac_import("architype_def_bug", base_path=self.fixture_abs_path("./"))
1010
+ Jac.jac_import(
1011
+ self.mach, "archetype_def_bug", base_path=self.fixture_abs_path("./")
1012
+ )
1231
1013
  sys.stdout = sys.__stdout__
1232
1014
  stdout_value = captured_output.getvalue().split("\n")
1233
1015
  self.assertIn("MyWalker", stdout_value[0])
@@ -1237,7 +1019,9 @@ class JacLanguageTests(TestCase):
1237
1019
  """Test conn assign on edges."""
1238
1020
  captured_output = io.StringIO()
1239
1021
  sys.stdout = captured_output
1240
- jac_import("visit_sequence", base_path=self.fixture_abs_path("./"))
1022
+ Jac.jac_import(
1023
+ self.mach, "visit_sequence", base_path=self.fixture_abs_path("./")
1024
+ )
1241
1025
  sys.stdout = sys.__stdout__
1242
1026
  self.assertEqual(
1243
1027
  "walker entry\nwalker enter to root\n"
@@ -1248,16 +1032,238 @@ class JacLanguageTests(TestCase):
1248
1032
  captured_output.getvalue(),
1249
1033
  )
1250
1034
 
1251
- def test_nested_impls(self) -> None:
1035
+ def test_connect_traverse_syntax(self) -> None:
1036
+ """Test connect traverse syntax."""
1037
+ captured_output = io.StringIO()
1038
+ sys.stdout = captured_output
1039
+ Jac.jac_import(
1040
+ self.mach, "connect_traverse_syntax", base_path=self.fixture_abs_path("./")
1041
+ )
1042
+ sys.stdout = sys.__stdout__
1043
+ stdout_value = captured_output.getvalue().split("\n")
1044
+ self.assertIn("A(val=5), A(val=10)", stdout_value[0])
1045
+ self.assertIn("[Root(), A(val=20)]", stdout_value[1])
1046
+ self.assertIn(
1047
+ "A(val=5), A(val=10)", stdout_value[2]
1048
+ ) # Remove after dropping deprecated syntax support
1049
+ self.assertIn(
1050
+ "[Root(), A(val=20)]", stdout_value[3]
1051
+ ) # Remove after dropping deprecated syntax support
1052
+
1053
+ def test_node_del(self) -> None:
1252
1054
  """Test complex nested impls."""
1253
1055
  captured_output = io.StringIO()
1254
1056
  sys.stdout = captured_output
1255
- jac_import("nested_impls", base_path=self.fixture_abs_path("./"))
1057
+ Jac.jac_import(self.mach, "node_del", base_path=self.fixture_abs_path("./"))
1256
1058
  sys.stdout = sys.__stdout__
1257
1059
  stdout_value = captured_output.getvalue().split("\n")
1258
- self.assertIn("Hello,from bar in kk", stdout_value[0])
1259
- self.assertIn("Greeting: Hello, World!", stdout_value[1])
1260
- self.assertIn("Repeated: Hello", stdout_value[2])
1261
- self.assertIn("Hello, World!", stdout_value[3])
1262
- self.assertIn("Last message:!", stdout_value[4])
1263
- self.assertIn("Final message:!", stdout_value[5])
1060
+ self.assertIn("0 : [2, 3, 4, 5, 6, 7, 8, 9, 10]", stdout_value[0])
1061
+ self.assertIn("7, 8 : [2, 3, 4, 5, 6, 7, 9]", stdout_value[1])
1062
+ self.assertIn("before delete : Inner(c=[1, 2, 3], d=4)", stdout_value[2])
1063
+ self.assertIn("after delete : Inner(c=[1, 3], d=4)", stdout_value[3])
1064
+
1065
+ # Helper method to create files within tests
1066
+ def create_temp_jac_file(
1067
+ self, content: str, dir_path: str, filename: str = "test_mod.jac"
1068
+ ) -> str:
1069
+ """Create a temporary Jac file in a specific directory."""
1070
+ full_path = os.path.join(dir_path, filename)
1071
+ os.makedirs(os.path.dirname(full_path), exist_ok=True)
1072
+ with open(full_path, "w") as f:
1073
+ f.write(content)
1074
+ return full_path
1075
+
1076
+ def test_import_from_site_packages(self) -> None:
1077
+ """Test importing a Jac module from simulated site-packages."""
1078
+ with tempfile.TemporaryDirectory() as tmpdir:
1079
+ # Simulate site-packages directory structure
1080
+ mock_site_dir = os.path.join(tmpdir, "site-packages")
1081
+ os.makedirs(mock_site_dir)
1082
+
1083
+ # Create a module within the simulated site-packages
1084
+ site_mod_content = 'with entry { "Site package module loaded!" |> print; }'
1085
+ self.create_temp_jac_file(
1086
+ site_mod_content, mock_site_dir, "site_pkg_mod.jac"
1087
+ )
1088
+
1089
+ # Create the importing script in the main temp directory
1090
+ importer_content = "import site_pkg_mod;"
1091
+ _ = self.create_temp_jac_file(importer_content, tmpdir, "importer_site.jac")
1092
+ with patch("site.getsitepackages", return_value=[mock_site_dir]):
1093
+ captured_output = io.StringIO()
1094
+ sys.stdout = captured_output
1095
+ original_cwd = os.getcwd()
1096
+ try:
1097
+ Jac.jac_import(self.mach, "importer_site", base_path=tmpdir)
1098
+ finally:
1099
+ os.chdir(original_cwd)
1100
+ sys.stdout = sys.__stdout__
1101
+
1102
+ stdout_value = captured_output.getvalue()
1103
+ self.assertIn("Site package module loaded!", stdout_value)
1104
+
1105
+ def test_import_from_jacpath(self) -> None:
1106
+ """Test importing a Jac module from JACPATH."""
1107
+ with tempfile.TemporaryDirectory() as tmpdir:
1108
+ # Simulate JACPATH directory
1109
+ jacpath_dir = os.path.join(tmpdir, "jaclibs")
1110
+ os.makedirs(jacpath_dir)
1111
+
1112
+ # Create a module in the JACPATH directory
1113
+ jacpath_mod_content = 'with entry { "JACPATH module loaded!" |> print; }'
1114
+ self.create_temp_jac_file(
1115
+ jacpath_mod_content, jacpath_dir, "jacpath_mod.jac"
1116
+ )
1117
+
1118
+ # Create the importing script in a different location
1119
+ script_dir = os.path.join(tmpdir, "scripts")
1120
+ os.makedirs(script_dir)
1121
+ importer_content = "import jacpath_mod;"
1122
+ _ = self.create_temp_jac_file(importer_content, script_dir, "importer.jac")
1123
+
1124
+ # Set JACPATH environment variable and run
1125
+ original_jacpath = os.environ.get("JACPATH")
1126
+ os.environ["JACPATH"] = jacpath_dir
1127
+ captured_output = io.StringIO()
1128
+ sys.stdout = captured_output
1129
+ original_cwd = os.getcwd()
1130
+ os.chdir(script_dir)
1131
+ try:
1132
+ cli.run("importer.jac")
1133
+ finally:
1134
+ os.chdir(original_cwd)
1135
+ sys.stdout = sys.__stdout__
1136
+ # Clean up environment variable
1137
+ if original_jacpath is None:
1138
+ if "JACPATH" in os.environ:
1139
+ del os.environ["JACPATH"]
1140
+ else:
1141
+ os.environ["JACPATH"] = original_jacpath
1142
+
1143
+ stdout_value = captured_output.getvalue()
1144
+ self.assertIn("JACPATH module loaded!", stdout_value)
1145
+
1146
+ def test_obj_hasvar_initialization(self) -> None:
1147
+ """Basic test for pass."""
1148
+ (out := JacProgram()).compile(
1149
+ self.fixture_abs_path("uninitialized_hasvars.jac")
1150
+ )
1151
+ self.assertTrue(out.errors_had)
1152
+
1153
+ expected_stdout_values = (
1154
+ "Non default attribute 'var3' follows default attribute",
1155
+ " 4 | has var1: int;",
1156
+ " 5 | has var2: int = 42;",
1157
+ " 6 | has var3: int; # <-- This should be syntax error.",
1158
+ " | ^^^^",
1159
+ " 7 | }",
1160
+ 'Missing "postinit" method required by un initialized attribute(s).',
1161
+ " 11 | obj Test2 {",
1162
+ " 12 | has var1: str;",
1163
+ " 13 | has var2: int by postinit;",
1164
+ " | ^^^^",
1165
+ " 14 | }",
1166
+ "Non default attribute 'var4' follows default attribute",
1167
+ " 19 | has var2: int = 42;",
1168
+ " 20 | has var3: int by postinit; # <-- This is fine.",
1169
+ " 21 | has var4: int; # <-- This should be syntax error.",
1170
+ " | ^^^^",
1171
+ " 22 |",
1172
+ " 23 | def postinit() {",
1173
+ )
1174
+
1175
+ errors_output = ""
1176
+ for error in out.errors_had:
1177
+ errors_output += error.pretty_print() + "\n"
1178
+
1179
+ for exp in expected_stdout_values:
1180
+ self.assertIn(exp, errors_output)
1181
+
1182
+ def test_async_walker(self) -> None:
1183
+ """Test async walker."""
1184
+ captured_output = io.StringIO()
1185
+ sys.stdout = captured_output
1186
+ Jac.jac_import(self.mach, "async_walker", base_path=self.fixture_abs_path("./"))
1187
+ sys.stdout = sys.__stdout__
1188
+ stdout_value = captured_output.getvalue().split("\n")
1189
+ self.assertNotIn("It is non blocking", stdout_value[4])
1190
+ self.assertIn("W(num=8)", stdout_value[5])
1191
+
1192
+ def test_async_ability(self) -> None:
1193
+ """Test async ability."""
1194
+ captured_output = io.StringIO()
1195
+ sys.stdout = captured_output
1196
+ Jac.jac_import(
1197
+ self.mach, "async_ability", base_path=self.fixture_abs_path("./")
1198
+ )
1199
+ sys.stdout = sys.__stdout__
1200
+ stdout_value = captured_output.getvalue().split("\n")
1201
+ self.assertIn("Hello", stdout_value[0])
1202
+ self.assertIn("Hello", stdout_value[1])
1203
+ self.assertIn("World!", stdout_value[2])
1204
+
1205
+ def test_concurrency(self) -> None:
1206
+ """Test concurrency in jaclang."""
1207
+ captured_output = io.StringIO()
1208
+ sys.stdout = captured_output
1209
+ Jac.jac_import(self.mach, "concurrency", base_path=self.fixture_abs_path("./"))
1210
+ sys.stdout = sys.__stdout__
1211
+ stdout_value = captured_output.getvalue().split("\n")
1212
+ self.assertIn("Started", stdout_value[0])
1213
+ self.assertIn("B(name='Hi')", stdout_value[8])
1214
+ self.assertIn("11", stdout_value[9])
1215
+ self.assertIn("13", stdout_value[10])
1216
+
1217
+ def test_import_jac_from_py(self) -> None:
1218
+ """Parse micro jac file."""
1219
+ captured_output = io.StringIO()
1220
+ sys.stdout = captured_output
1221
+ from .fixtures import jac_from_py
1222
+
1223
+ sys.stdout = sys.__stdout__
1224
+ stdout_value = captured_output.getvalue()
1225
+ self.assertEqual(
1226
+ stdout_value,
1227
+ "Value: -1\nValue: 0\nValue: 1\nValue: 2\nValue: 3\nValue: 4"
1228
+ "\nValue: 5\nValue: 6\nValue: 7\nFinal Value: 8\nDone walking.\n",
1229
+ )
1230
+
1231
+ def test_py_namedexpr(self) -> None:
1232
+ """Ensure NamedExpr nodes are converted to AtomUnit."""
1233
+ from jaclang.compiler.passes.main import PyastBuildPass
1234
+ import jaclang.compiler.unitree as uni
1235
+ import ast as py_ast
1236
+
1237
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py_namedexpr.py")
1238
+ with open(py_out_path) as f:
1239
+ file_source = f.read()
1240
+ output = PyastBuildPass(
1241
+ ir_in=uni.PythonModuleAst(
1242
+ py_ast.parse(file_source),
1243
+ orig_src=uni.Source(file_source, py_out_path),
1244
+ ),
1245
+ prog=JacProgram(),
1246
+ ).ir_out.unparse()
1247
+ self.assertIn("(x := 10)", output)
1248
+
1249
+ def test_py_bool_parentheses(self) -> None:
1250
+ """Ensure boolean expressions preserve parentheses during conversion."""
1251
+ from jaclang.compiler.passes.main import PyastBuildPass
1252
+ import jaclang.compiler.unitree as uni
1253
+ import ast as py_ast
1254
+
1255
+ py_out_path = os.path.join(self.fixture_abs_path("./"), "py_bool_expr.py")
1256
+ with open(py_out_path) as f:
1257
+ file_source = f.read()
1258
+ output = PyastBuildPass(
1259
+ ir_in=uni.PythonModuleAst(
1260
+ py_ast.parse(file_source),
1261
+ orig_src=uni.Source(file_source, py_out_path),
1262
+ ),
1263
+ prog=JacProgram(),
1264
+ ).ir_out.unparse()
1265
+ self.assertIn("(prev_token_index is None)", output)
1266
+ self.assertIn("(next_token_index is None)", output)
1267
+ self.assertIn("(tok[ 0 ] > change_end_line)", output)
1268
+ self.assertIn("(tok[ 0 ] == change_end_line)", output)
1269
+ self.assertIn("(tok[ 1 ] > change_end_char)", output)