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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (1348) hide show
  1. jaclang/__init__.py +1 -9
  2. jaclang/cli/.gitignore +3 -0
  3. jaclang/cli/cli.md +190 -0
  4. jaclang/cli/cli.py +115 -7
  5. jaclang/cli/cmdreg.py +18 -6
  6. jaclang/compiler/.gitignore +1 -0
  7. jaclang/compiler/__init__.py +1 -0
  8. jaclang/compiler/absyntree.py +8 -9
  9. jaclang/compiler/compile.py +4 -4
  10. jaclang/compiler/jac.lark +1 -0
  11. jaclang/compiler/parser.py +16 -3
  12. jaclang/compiler/passes/main/def_impl_match_pass.py +8 -1
  13. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +20 -8
  14. jaclang/compiler/passes/main/import_pass.py +78 -47
  15. jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
  16. jaclang/compiler/passes/main/pyast_load_pass.py +33 -6
  17. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
  18. jaclang/compiler/passes/main/schedules.py +2 -0
  19. jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
  20. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  21. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  22. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  23. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  24. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  25. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  26. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  27. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  28. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  29. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  30. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  31. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  32. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  33. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  34. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  35. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  36. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  37. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  38. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  39. jaclang/compiler/passes/main/tests/fixtures/type_info.jac +31 -0
  40. jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
  41. jaclang/compiler/passes/main/tests/test_type_check_pass.py +15 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  64. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  65. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  66. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  67. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  68. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  69. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  70. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  71. jaclang/compiler/passes/utils/mypy_ast_build.py +8 -0
  72. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  73. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  74. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  75. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  76. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  77. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  78. jaclang/core/aott.py +10 -1
  79. jaclang/core/construct.py +157 -21
  80. jaclang/core/importer.py +6 -2
  81. jaclang/core/memory.py +48 -0
  82. jaclang/core/shelve_storage.py +55 -0
  83. jaclang/langserve/__init__.py +1 -0
  84. jaclang/langserve/server.py +108 -0
  85. jaclang/langserve/tests/__init__.py +1 -0
  86. jaclang/langserve/tests/defaults.py +226 -0
  87. jaclang/langserve/tests/fixtures/hello.jac +1 -0
  88. jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +2 -0
  89. jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +37 -0
  90. jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +294 -0
  91. jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +114 -0
  92. jaclang/langserve/tests/pylsp_jsonrpc/streams.py +113 -0
  93. jaclang/langserve/tests/session.py +255 -0
  94. jaclang/langserve/tests/test_server.py +36 -0
  95. jaclang/langserve/utils.py +53 -0
  96. jaclang/plugin/__init__.py +1 -2
  97. jaclang/plugin/builtin.py +1 -1
  98. jaclang/plugin/default.py +97 -4
  99. jaclang/plugin/feature.py +28 -9
  100. jaclang/plugin/spec.py +45 -10
  101. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  102. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  103. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  104. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  105. jaclang/plugin/tests/test_jaseci.py +219 -0
  106. jaclang/settings.py +5 -0
  107. jaclang/tests/fixtures/abc.jac +73 -0
  108. jaclang/tests/fixtures/access_checker.jac +19 -0
  109. jaclang/tests/fixtures/access_modifier.jac +49 -0
  110. jaclang/tests/fixtures/aott_raise.jac +25 -0
  111. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  112. jaclang/tests/fixtures/assign_compr.jac +15 -0
  113. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  114. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  115. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  116. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  117. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  118. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  119. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  120. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  121. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  122. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  123. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  124. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  125. jaclang/tests/fixtures/deep_convert.jac +5 -0
  126. jaclang/tests/fixtures/deep_convo.py +6 -0
  127. jaclang/tests/fixtures/deep_import.jac +7 -0
  128. jaclang/tests/fixtures/deferred_field.jac +13 -0
  129. jaclang/tests/fixtures/disconn.jac +29 -0
  130. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  131. jaclang/tests/fixtures/edge_ops.jac +45 -0
  132. jaclang/tests/fixtures/edges_walk.jac +38 -0
  133. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  134. jaclang/tests/fixtures/err.jac +5 -0
  135. jaclang/tests/fixtures/err2.jac +5 -0
  136. jaclang/tests/fixtures/game1.jac +15 -0
  137. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  138. jaclang/tests/fixtures/guess_game.jac +47 -0
  139. jaclang/tests/fixtures/has_goodness.jac +15 -0
  140. jaclang/tests/fixtures/hashcheck.jac +12 -0
  141. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  142. jaclang/tests/fixtures/hello.jac +5 -0
  143. jaclang/tests/fixtures/hello_nc.jac +5 -0
  144. jaclang/tests/fixtures/ignore.jac +43 -0
  145. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  146. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  147. jaclang/tests/fixtures/impl_grab.jac +2 -0
  148. jaclang/tests/fixtures/inherit_check.jac +33 -0
  149. jaclang/tests/fixtures/jacsamp.jac +6 -0
  150. jaclang/tests/fixtures/jp_importer.jac +17 -0
  151. jaclang/tests/fixtures/lambda.jac +6 -0
  152. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  153. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  154. jaclang/tests/fixtures/mtest.jac +6 -0
  155. jaclang/tests/fixtures/needs_import.jac +18 -0
  156. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  157. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  158. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  159. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  160. jaclang/tests/fixtures/package_import.jac +6 -0
  161. jaclang/tests/fixtures/pyfunc.py +11 -0
  162. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  163. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  164. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  165. jaclang/tests/fixtures/random_check.jac +62 -0
  166. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  167. jaclang/tests/fixtures/registry.jac +37 -0
  168. jaclang/tests/fixtures/run_test.jac +5 -0
  169. jaclang/tests/fixtures/semstr.jac +33 -0
  170. jaclang/tests/fixtures/simple_archs.jac +26 -0
  171. jaclang/tests/fixtures/slice_vals.jac +7 -0
  172. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  173. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  174. jaclang/tests/fixtures/try_finally.jac +34 -0
  175. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  176. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  177. jaclang/tests/fixtures/type_info.jac +15 -0
  178. jaclang/tests/fixtures/with_context.jac +30 -0
  179. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  180. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  181. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  182. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  183. jaclang/tests/test_cli.py +239 -0
  184. jaclang/tests/test_language.py +831 -0
  185. jaclang/tests/test_man_code.py +148 -0
  186. jaclang/tests/test_reference.py +95 -0
  187. jaclang/tests/test_settings.py +46 -0
  188. jaclang/utils/helpers.py +11 -0
  189. jaclang/utils/tests/test_lang_tools.py +17 -0
  190. jaclang/utils/treeprinter.py +17 -4
  191. jaclang/vendor/__init__.py +12 -1
  192. jaclang/vendor/attr/__init__.py +134 -0
  193. jaclang/vendor/attr/__init__.pyi +555 -0
  194. jaclang/vendor/attr/_cmp.py +150 -0
  195. jaclang/vendor/attr/_cmp.pyi +13 -0
  196. jaclang/vendor/attr/_compat.py +87 -0
  197. jaclang/vendor/attr/_config.py +31 -0
  198. jaclang/vendor/attr/_funcs.py +483 -0
  199. jaclang/vendor/attr/_make.py +3119 -0
  200. jaclang/vendor/attr/_next_gen.py +229 -0
  201. jaclang/vendor/attr/_typing_compat.pyi +15 -0
  202. jaclang/vendor/attr/_version_info.py +86 -0
  203. jaclang/vendor/attr/_version_info.pyi +9 -0
  204. jaclang/vendor/attr/converters.py +144 -0
  205. jaclang/vendor/attr/converters.pyi +13 -0
  206. jaclang/vendor/attr/exceptions.py +95 -0
  207. jaclang/vendor/attr/exceptions.pyi +17 -0
  208. jaclang/vendor/attr/filters.py +66 -0
  209. jaclang/vendor/attr/filters.pyi +6 -0
  210. jaclang/vendor/attr/setters.py +73 -0
  211. jaclang/vendor/attr/setters.pyi +19 -0
  212. jaclang/vendor/attr/validators.py +681 -0
  213. jaclang/vendor/attr/validators.pyi +88 -0
  214. jaclang/vendor/attrs/__init__.py +65 -0
  215. jaclang/vendor/attrs/__init__.pyi +67 -0
  216. jaclang/vendor/attrs/converters.py +3 -0
  217. jaclang/vendor/attrs/exceptions.py +3 -0
  218. jaclang/vendor/attrs/filters.py +3 -0
  219. jaclang/vendor/attrs/py.typed +0 -0
  220. jaclang/vendor/attrs/setters.py +3 -0
  221. jaclang/vendor/attrs/validators.py +3 -0
  222. jaclang/vendor/attrs-23.2.0.dist-info/METADATA +202 -0
  223. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +35 -0
  224. jaclang/vendor/attrs-23.2.0.dist-info/WHEEL +4 -0
  225. jaclang/vendor/attrs-23.2.0.dist-info/licenses/LICENSE +21 -0
  226. jaclang/vendor/cattr/__init__.py +25 -0
  227. jaclang/vendor/cattr/converters.py +8 -0
  228. jaclang/vendor/cattr/disambiguators.py +3 -0
  229. jaclang/vendor/cattr/dispatch.py +3 -0
  230. jaclang/vendor/cattr/errors.py +15 -0
  231. jaclang/vendor/cattr/gen.py +21 -0
  232. jaclang/vendor/cattr/preconf/__init__.py +3 -0
  233. jaclang/vendor/cattr/preconf/bson.py +4 -0
  234. jaclang/vendor/cattr/preconf/json.py +4 -0
  235. jaclang/vendor/cattr/preconf/msgpack.py +4 -0
  236. jaclang/vendor/cattr/preconf/orjson.py +4 -0
  237. jaclang/vendor/cattr/preconf/pyyaml.py +4 -0
  238. jaclang/vendor/cattr/preconf/tomlkit.py +4 -0
  239. jaclang/vendor/cattr/preconf/ujson.py +4 -0
  240. jaclang/vendor/cattr/py.typed +0 -0
  241. jaclang/vendor/cattrs/__init__.py +55 -0
  242. jaclang/vendor/cattrs/_compat.py +465 -0
  243. jaclang/vendor/cattrs/_generics.py +22 -0
  244. jaclang/vendor/cattrs/converters.py +1101 -0
  245. jaclang/vendor/cattrs/disambiguators.py +132 -0
  246. jaclang/vendor/cattrs/dispatch.py +164 -0
  247. jaclang/vendor/cattrs/errors.py +129 -0
  248. jaclang/vendor/cattrs/fns.py +17 -0
  249. jaclang/vendor/cattrs/gen/__init__.py +890 -0
  250. jaclang/vendor/cattrs/gen/_consts.py +19 -0
  251. jaclang/vendor/cattrs/gen/_generics.py +43 -0
  252. jaclang/vendor/cattrs/gen/_lc.py +28 -0
  253. jaclang/vendor/cattrs/gen/_shared.py +51 -0
  254. jaclang/vendor/cattrs/gen/typeddicts.py +624 -0
  255. jaclang/vendor/cattrs/preconf/__init__.py +7 -0
  256. jaclang/vendor/cattrs/preconf/bson.py +107 -0
  257. jaclang/vendor/cattrs/preconf/cbor2.py +47 -0
  258. jaclang/vendor/cattrs/preconf/json.py +52 -0
  259. jaclang/vendor/cattrs/preconf/msgpack.py +51 -0
  260. jaclang/vendor/cattrs/preconf/orjson.py +82 -0
  261. jaclang/vendor/cattrs/preconf/pyyaml.py +60 -0
  262. jaclang/vendor/cattrs/preconf/tomlkit.py +85 -0
  263. jaclang/vendor/cattrs/preconf/ujson.py +52 -0
  264. jaclang/vendor/cattrs/py.typed +0 -0
  265. jaclang/vendor/cattrs/strategies/__init__.py +11 -0
  266. jaclang/vendor/cattrs/strategies/_class_methods.py +64 -0
  267. jaclang/vendor/cattrs/strategies/_subclasses.py +224 -0
  268. jaclang/vendor/cattrs/strategies/_unions.py +235 -0
  269. jaclang/vendor/cattrs/v.py +111 -0
  270. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +221 -0
  271. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +48 -0
  272. jaclang/vendor/cattrs-23.2.3.dist-info/WHEEL +4 -0
  273. jaclang/vendor/cattrs-23.2.3.dist-info/licenses/LICENSE +11 -0
  274. jaclang/vendor/lark/__init__.py +38 -38
  275. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -7
  276. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  277. jaclang/vendor/lark/ast_utils.py +59 -70
  278. jaclang/vendor/lark/common.py +89 -113
  279. jaclang/vendor/lark/exceptions.py +292 -352
  280. jaclang/vendor/lark/grammar.py +130 -158
  281. jaclang/vendor/lark/grammars/common.lark +59 -59
  282. jaclang/vendor/lark/grammars/lark.lark +62 -62
  283. jaclang/vendor/lark/grammars/python.lark +302 -302
  284. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  285. jaclang/vendor/lark/indenter.py +112 -118
  286. jaclang/vendor/lark/lark.py +661 -800
  287. jaclang/vendor/lark/lexer.py +678 -829
  288. jaclang/vendor/lark/load_grammar.py +1428 -1673
  289. jaclang/vendor/lark/parse_tree_builder.py +391 -466
  290. jaclang/vendor/lark/parser_frontends.py +257 -305
  291. jaclang/vendor/lark/parsers/cyk.py +340 -391
  292. jaclang/vendor/lark/parsers/earley.py +308 -385
  293. jaclang/vendor/lark/parsers/earley_common.py +42 -59
  294. jaclang/vendor/lark/parsers/earley_forest.py +810 -923
  295. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -239
  296. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -378
  297. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +157 -171
  298. jaclang/vendor/lark/parsers/lalr_parser.py +122 -145
  299. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -141
  300. jaclang/vendor/lark/parsers/xearley.py +165 -209
  301. jaclang/vendor/lark/reconstruct.py +107 -131
  302. jaclang/vendor/lark/tools/__init__.py +71 -93
  303. jaclang/vendor/lark/tools/nearley.py +202 -240
  304. jaclang/vendor/lark/tools/serialize.py +32 -35
  305. jaclang/vendor/lark/tools/standalone.py +196 -225
  306. jaclang/vendor/lark/tree.py +272 -302
  307. jaclang/vendor/lark/tree_matcher.py +186 -194
  308. jaclang/vendor/lark/tree_templates.py +18 -26
  309. jaclang/vendor/lark/utils.py +361 -393
  310. jaclang/vendor/lark/visitors.py +593 -645
  311. jaclang/vendor/lark-1.1.9.dist-info/LICENSE +18 -0
  312. jaclang/vendor/lark-1.1.9.dist-info/METADATA +47 -0
  313. jaclang/vendor/lark-1.1.9.dist-info/RECORD +46 -0
  314. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +5 -0
  315. jaclang/vendor/lark-1.1.9.dist-info/entry_points.txt +2 -0
  316. jaclang/vendor/lark-1.1.9.dist-info/top_level.txt +1 -0
  317. jaclang/vendor/lsprotocol/__init__.py +2 -0
  318. jaclang/vendor/lsprotocol/_hooks.py +1237 -0
  319. jaclang/vendor/lsprotocol/converters.py +17 -0
  320. jaclang/vendor/lsprotocol/py.typed +0 -0
  321. jaclang/vendor/lsprotocol/types.py +12898 -0
  322. jaclang/vendor/lsprotocol/validators.py +47 -0
  323. jaclang/vendor/lsprotocol-2023.0.1.dist-info/LICENSE +21 -0
  324. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +65 -0
  325. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +10 -0
  326. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +4 -0
  327. jaclang/vendor/mypy/api.py +1 -3
  328. jaclang/vendor/mypy/applytype.py +24 -24
  329. jaclang/vendor/mypy/argmap.py +5 -9
  330. jaclang/vendor/mypy/binder.py +11 -42
  331. jaclang/vendor/mypy/build.py +78 -260
  332. jaclang/vendor/mypy/checker.py +394 -930
  333. jaclang/vendor/mypy/checkexpr.py +210 -640
  334. jaclang/vendor/mypy/checkmember.py +44 -94
  335. jaclang/vendor/mypy/checkpattern.py +32 -104
  336. jaclang/vendor/mypy/checkstrformat.py +38 -131
  337. jaclang/vendor/mypy/config_parser.py +8 -31
  338. jaclang/vendor/mypy/constant_fold.py +1 -3
  339. jaclang/vendor/mypy/constraints.py +94 -253
  340. jaclang/vendor/mypy/copytype.py +3 -13
  341. jaclang/vendor/mypy/defaults.py +2 -4
  342. jaclang/vendor/mypy/dmypy/client.py +30 -102
  343. jaclang/vendor/mypy/dmypy_server.py +31 -118
  344. jaclang/vendor/mypy/erasetype.py +6 -18
  345. jaclang/vendor/mypy/errorcodes.py +26 -64
  346. jaclang/vendor/mypy/errors.py +23 -117
  347. jaclang/vendor/mypy/evalexpr.py +1 -3
  348. jaclang/vendor/mypy/expandtype.py +37 -40
  349. jaclang/vendor/mypy/exprtotype.py +14 -27
  350. jaclang/vendor/mypy/fastparse.py +66 -215
  351. jaclang/vendor/mypy/find_sources.py +4 -14
  352. jaclang/vendor/mypy/fixup.py +5 -10
  353. jaclang/vendor/mypy/indirection.py +1 -3
  354. jaclang/vendor/mypy/infer.py +2 -6
  355. jaclang/vendor/mypy/inspections.py +3 -13
  356. jaclang/vendor/mypy/ipc.py +7 -28
  357. jaclang/vendor/mypy/join.py +20 -39
  358. jaclang/vendor/mypy/literals.py +2 -10
  359. jaclang/vendor/mypy/main.py +39 -138
  360. jaclang/vendor/mypy/maptype.py +2 -6
  361. jaclang/vendor/mypy/meet.py +23 -77
  362. jaclang/vendor/mypy/message_registry.py +33 -88
  363. jaclang/vendor/mypy/messages.py +146 -447
  364. jaclang/vendor/mypy/metastore.py +2 -6
  365. jaclang/vendor/mypy/modulefinder.py +29 -76
  366. jaclang/vendor/mypy/moduleinspect.py +5 -17
  367. jaclang/vendor/mypy/mro.py +1 -3
  368. jaclang/vendor/mypy/nodes.py +35 -119
  369. jaclang/vendor/mypy/operators.py +2 -11
  370. jaclang/vendor/mypy/options.py +3 -9
  371. jaclang/vendor/mypy/parse.py +1 -3
  372. jaclang/vendor/mypy/plugin.py +25 -75
  373. jaclang/vendor/mypy/plugins/attrs.py +53 -119
  374. jaclang/vendor/mypy/plugins/common.py +9 -29
  375. jaclang/vendor/mypy/plugins/ctypes.py +5 -15
  376. jaclang/vendor/mypy/plugins/dataclasses.py +42 -107
  377. jaclang/vendor/mypy/plugins/default.py +26 -45
  378. jaclang/vendor/mypy/plugins/enums.py +4 -17
  379. jaclang/vendor/mypy/plugins/functools.py +2 -11
  380. jaclang/vendor/mypy/plugins/proper_plugin.py +2 -6
  381. jaclang/vendor/mypy/plugins/singledispatch.py +7 -33
  382. jaclang/vendor/mypy/reachability.py +2 -8
  383. jaclang/vendor/mypy/refinfo.py +1 -3
  384. jaclang/vendor/mypy/report.py +23 -52
  385. jaclang/vendor/mypy/semanal.py +385 -693
  386. jaclang/vendor/mypy/semanal_classprop.py +9 -34
  387. jaclang/vendor/mypy/semanal_enum.py +7 -19
  388. jaclang/vendor/mypy/semanal_infer.py +1 -3
  389. jaclang/vendor/mypy/semanal_main.py +5 -25
  390. jaclang/vendor/mypy/semanal_namedtuple.py +17 -56
  391. jaclang/vendor/mypy/semanal_newtype.py +8 -27
  392. jaclang/vendor/mypy/semanal_pass1.py +2 -6
  393. jaclang/vendor/mypy/semanal_shared.py +9 -27
  394. jaclang/vendor/mypy/semanal_typeargs.py +12 -41
  395. jaclang/vendor/mypy/semanal_typeddict.py +18 -59
  396. jaclang/vendor/mypy/server/astdiff.py +9 -34
  397. jaclang/vendor/mypy/server/astmerge.py +2 -6
  398. jaclang/vendor/mypy/server/deps.py +22 -71
  399. jaclang/vendor/mypy/server/mergecheck.py +1 -3
  400. jaclang/vendor/mypy/server/objgraph.py +2 -8
  401. jaclang/vendor/mypy/server/update.py +18 -54
  402. jaclang/vendor/mypy/solve.py +4 -17
  403. jaclang/vendor/mypy/split_namespace.py +1 -3
  404. jaclang/vendor/mypy/stats.py +6 -24
  405. jaclang/vendor/mypy/strconv.py +8 -31
  406. jaclang/vendor/mypy/stubdoc.py +8 -38
  407. jaclang/vendor/mypy/stubgen.py +79 -144
  408. jaclang/vendor/mypy/stubgenc.py +22 -69
  409. jaclang/vendor/mypy/stubtest.py +62 -167
  410. jaclang/vendor/mypy/stubutil.py +45 -61
  411. jaclang/vendor/mypy/subtypes.py +57 -133
  412. jaclang/vendor/mypy/suggestions.py +19 -53
  413. jaclang/vendor/mypy/test/data.py +13 -40
  414. jaclang/vendor/mypy/test/helpers.py +18 -43
  415. jaclang/vendor/mypy/test/meta/_pytest.py +2 -13
  416. jaclang/vendor/mypy/test/meta/test_parse_data.py +5 -9
  417. jaclang/vendor/mypy/test/meta/test_update_data.py +1 -3
  418. jaclang/vendor/mypy/test/test_find_sources.py +14 -32
  419. jaclang/vendor/mypy/test/test_ref_info.py +3 -9
  420. jaclang/vendor/mypy/test/testargs.py +1 -4
  421. jaclang/vendor/mypy/test/testcheck.py +14 -47
  422. jaclang/vendor/mypy/test/testcmdline.py +3 -14
  423. jaclang/vendor/mypy/test/testconstraints.py +8 -26
  424. jaclang/vendor/mypy/test/testdaemon.py +2 -9
  425. jaclang/vendor/mypy/test/testdeps.py +4 -12
  426. jaclang/vendor/mypy/test/testdiff.py +2 -6
  427. jaclang/vendor/mypy/test/testerrorstream.py +1 -3
  428. jaclang/vendor/mypy/test/testfinegrained.py +18 -56
  429. jaclang/vendor/mypy/test/testgraph.py +3 -18
  430. jaclang/vendor/mypy/test/testinfer.py +13 -55
  431. jaclang/vendor/mypy/test/testipc.py +3 -9
  432. jaclang/vendor/mypy/test/testmerge.py +5 -17
  433. jaclang/vendor/mypy/test/testmodulefinder.py +8 -30
  434. jaclang/vendor/mypy/test/testmypyc.py +1 -3
  435. jaclang/vendor/mypy/test/testparse.py +1 -3
  436. jaclang/vendor/mypy/test/testpep561.py +4 -13
  437. jaclang/vendor/mypy/test/testpythoneval.py +2 -6
  438. jaclang/vendor/mypy/test/testreports.py +1 -2
  439. jaclang/vendor/mypy/test/testsemanal.py +3 -10
  440. jaclang/vendor/mypy/test/testsolve.py +5 -15
  441. jaclang/vendor/mypy/test/teststubgen.py +69 -210
  442. jaclang/vendor/mypy/test/teststubtest.py +123 -163
  443. jaclang/vendor/mypy/test/testsubtypes.py +14 -34
  444. jaclang/vendor/mypy/test/testtransform.py +2 -8
  445. jaclang/vendor/mypy/test/testtypegen.py +2 -8
  446. jaclang/vendor/mypy/test/testtypes.py +77 -253
  447. jaclang/vendor/mypy/test/testutil.py +1 -3
  448. jaclang/vendor/mypy/test/typefixture.py +11 -38
  449. jaclang/vendor/mypy/test/update_data.py +4 -15
  450. jaclang/vendor/mypy/test/visitors.py +1 -9
  451. jaclang/vendor/mypy/treetransform.py +8 -25
  452. jaclang/vendor/mypy/tvar_scope.py +23 -3
  453. jaclang/vendor/mypy/type_visitor.py +3 -10
  454. jaclang/vendor/mypy/typeanal.py +183 -309
  455. jaclang/vendor/mypy/typeops.py +27 -73
  456. jaclang/vendor/mypy/types.py +77 -185
  457. jaclang/vendor/mypy/types_utils.py +7 -20
  458. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +309 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +591 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +133 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +566 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +33 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +35 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +147 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +34 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +33 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +803 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +59 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +121 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +55 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +255 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +51 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +595 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +92 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +277 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +580 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +165 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +153 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +497 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +94 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +196 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +85 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +90 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +43 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +36 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +1936 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +31 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +208 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +118 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +32 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +36 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +45 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +33 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +285 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +485 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +126 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +208 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +63 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +22 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +62 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +1 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +22 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +11 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +315 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +295 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +41 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +37 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +144 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +31 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +46 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +165 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +38 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +70 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +320 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +127 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +57 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +213 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +150 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +213 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +37 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +169 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +160 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +167 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +17 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +38 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +259 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +285 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +49 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +56 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +632 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +238 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +273 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +40 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  735. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
  736. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
  737. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  738. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  739. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  740. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  741. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  742. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  743. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  744. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  745. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  746. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  747. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  748. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  749. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  750. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  751. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  752. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  753. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  754. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  755. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  756. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  757. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  758. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  759. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  760. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  761. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  762. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  763. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  764. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  765. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  766. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  767. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  768. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  769. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  770. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  771. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  772. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  773. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  774. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  775. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  776. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  777. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  778. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  779. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  780. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  781. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  782. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  783. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  784. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  785. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
  786. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  787. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  788. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  789. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  790. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
  791. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  792. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
  793. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  794. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  795. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
  796. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
  797. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  798. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
  799. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  800. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
  801. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
  802. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
  803. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
  804. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +658 -0
  805. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +134 -0
  806. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
  807. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
  808. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
  809. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
  810. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
  811. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +125 -0
  812. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +46 -0
  813. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +113 -0
  814. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +66 -0
  815. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
  816. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
  817. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  818. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  819. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  820. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
  821. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
  822. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +189 -0
  823. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
  824. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
  825. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
  826. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
  827. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
  828. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
  829. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  830. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  831. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  832. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  833. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  834. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
  835. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +90 -0
  836. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  837. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  838. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
  839. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +107 -0
  840. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
  841. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
  842. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +98 -0
  843. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
  844. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  845. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
  846. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +111 -0
  847. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  848. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  849. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +209 -0
  850. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +59 -0
  851. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  852. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +255 -0
  853. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1157 -0
  854. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  855. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  856. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +24 -0
  857. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +232 -0
  858. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
  859. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +271 -0
  860. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
  861. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  862. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +53 -0
  863. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +42 -0
  864. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +113 -0
  865. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
  866. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +361 -0
  867. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
  868. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +112 -0
  869. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
  870. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +80 -0
  871. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +19 -0
  872. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
  873. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +34 -0
  874. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +74 -0
  875. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
  876. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  877. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  878. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +85 -0
  879. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  880. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  881. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +66 -0
  882. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
  883. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +138 -0
  884. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +290 -0
  885. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
  886. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  887. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +94 -0
  888. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  889. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
  890. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
  891. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
  892. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +155 -0
  893. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +67 -0
  894. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +46 -0
  895. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +63 -0
  896. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +185 -0
  897. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +188 -0
  898. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +27 -0
  899. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
  900. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
  901. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  902. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +825 -0
  903. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
  904. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
  905. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  906. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +551 -0
  907. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  908. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
  909. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +104 -0
  910. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +537 -0
  911. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  912. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +132 -0
  913. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +83 -0
  914. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  915. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
  916. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2615 -0
  917. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  918. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  919. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +58 -0
  920. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
  921. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
  922. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +48 -0
  923. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +46 -0
  924. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
  925. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +441 -0
  926. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +122 -0
  927. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +477 -0
  928. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
  929. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
  930. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  931. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +187 -0
  932. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +108 -0
  933. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
  934. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3654 -0
  935. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
  936. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
  937. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  938. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
  939. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  940. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
  941. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
  942. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
  943. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +9 -0
  944. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  945. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
  946. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1204 -0
  947. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  948. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +177 -0
  949. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
  950. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +79 -0
  951. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +262 -0
  952. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
  953. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  954. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
  955. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +614 -0
  956. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +976 -0
  957. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +509 -0
  958. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +73 -0
  959. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
  960. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
  961. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
  962. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +342 -0
  963. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
  964. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
  965. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
  966. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +47 -0
  967. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
  968. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  969. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
  970. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
  971. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  972. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
  973. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
  974. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +400 -0
  975. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +43 -0
  976. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  977. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
  978. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  979. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
  980. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +85 -0
  981. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +149 -0
  982. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
  983. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +132 -0
  984. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  985. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  986. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
  987. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
  988. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
  989. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
  990. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
  991. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
  992. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
  993. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  994. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  995. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
  996. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
  997. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
  998. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  999. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
  1000. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
  1001. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
  1002. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
  1003. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
  1004. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +327 -0
  1005. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1006. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  1008. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  1009. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  1010. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  1011. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
  1012. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
  1013. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
  1014. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
  1015. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
  1016. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1017. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
  1018. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
  1019. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  1020. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  1021. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
  1022. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
  1023. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +32 -0
  1024. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
  1025. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
  1026. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
  1027. jaclang/vendor/mypy/typestate.py +5 -15
  1028. jaclang/vendor/mypy/typetraverser.py +9 -3
  1029. jaclang/vendor/mypy/typevars.py +2 -8
  1030. jaclang/vendor/mypy/util.py +14 -45
  1031. jaclang/vendor/mypy/version.py +1 -19
  1032. jaclang/vendor/mypy/visitor.py +3 -9
  1033. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  1034. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  1035. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  1036. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  1037. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +229 -0
  1038. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +48 -0
  1039. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +1241 -0
  1040. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +6 -0
  1041. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +6 -0
  1042. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +3 -0
  1043. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +27 -0
  1044. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +29 -0
  1045. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +6 -0
  1046. jaclang/vendor/mypy_extensions-1.0.0.dist-info/WHEEL +5 -0
  1047. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +1 -0
  1048. jaclang/vendor/mypy_extensions.py +21 -40
  1049. jaclang/vendor/mypyc/README.md +133 -0
  1050. jaclang/vendor/mypyc/__main__.py +1 -3
  1051. jaclang/vendor/mypyc/analysis/attrdefined.py +6 -22
  1052. jaclang/vendor/mypyc/analysis/dataflow.py +5 -3
  1053. jaclang/vendor/mypyc/analysis/ircheck.py +13 -26
  1054. jaclang/vendor/mypyc/analysis/selfleaks.py +4 -0
  1055. jaclang/vendor/mypyc/build.py +6 -19
  1056. jaclang/vendor/mypyc/codegen/emit.py +20 -73
  1057. jaclang/vendor/mypyc/codegen/emitclass.py +22 -72
  1058. jaclang/vendor/mypyc/codegen/emitfunc.py +20 -62
  1059. jaclang/vendor/mypyc/codegen/emitmodule.py +50 -117
  1060. jaclang/vendor/mypyc/codegen/emitwrapper.py +22 -78
  1061. jaclang/vendor/mypyc/codegen/literals.py +1 -3
  1062. jaclang/vendor/mypyc/common.py +1 -3
  1063. jaclang/vendor/mypyc/doc/Makefile +20 -0
  1064. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  1065. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  1066. jaclang/vendor/mypyc/doc/conf.py +59 -0
  1067. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  1068. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  1069. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  1070. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  1071. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  1072. jaclang/vendor/mypyc/doc/future.md +42 -0
  1073. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  1074. jaclang/vendor/mypyc/doc/index.rst +61 -0
  1075. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  1076. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  1077. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  1078. jaclang/vendor/mypyc/doc/make.bat +35 -0
  1079. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  1080. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  1081. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  1082. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  1083. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  1084. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  1085. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  1086. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  1087. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  1088. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  1089. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  1090. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  1091. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  1092. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  1093. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  1094. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  1095. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  1096. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  1097. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  1098. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  1099. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  1100. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1101. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  1102. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  1103. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  1104. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  1105. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  1106. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  1107. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  1108. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  1109. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  1110. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  1111. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  1112. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  1113. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  1114. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  1115. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  1116. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  1117. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  1118. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  1119. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  1120. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  1121. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  1122. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  1123. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  1124. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  1125. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  1126. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  1127. jaclang/vendor/mypyc/ir/class_ir.py +8 -24
  1128. jaclang/vendor/mypyc/ir/func_ir.py +3 -16
  1129. jaclang/vendor/mypyc/ir/module_ir.py +2 -6
  1130. jaclang/vendor/mypyc/ir/ops.py +103 -66
  1131. jaclang/vendor/mypyc/ir/pprint.py +35 -55
  1132. jaclang/vendor/mypyc/ir/rtypes.py +16 -48
  1133. jaclang/vendor/mypyc/irbuild/ast_helpers.py +4 -1
  1134. jaclang/vendor/mypyc/irbuild/builder.py +46 -148
  1135. jaclang/vendor/mypyc/irbuild/callable_class.py +5 -19
  1136. jaclang/vendor/mypyc/irbuild/classdef.py +27 -83
  1137. jaclang/vendor/mypyc/irbuild/env_class.py +3 -9
  1138. jaclang/vendor/mypyc/irbuild/expression.py +42 -100
  1139. jaclang/vendor/mypyc/irbuild/for_helpers.py +56 -105
  1140. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +1 -4
  1141. jaclang/vendor/mypyc/irbuild/function.py +40 -132
  1142. jaclang/vendor/mypyc/irbuild/generator.py +14 -49
  1143. jaclang/vendor/mypyc/irbuild/ll_builder.py +197 -426
  1144. jaclang/vendor/mypyc/irbuild/mapper.py +2 -13
  1145. jaclang/vendor/mypyc/irbuild/match.py +11 -36
  1146. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +2 -7
  1147. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +1 -4
  1148. jaclang/vendor/mypyc/irbuild/prepare.py +25 -83
  1149. jaclang/vendor/mypyc/irbuild/specialize.py +22 -72
  1150. jaclang/vendor/mypyc/irbuild/statement.py +30 -96
  1151. jaclang/vendor/mypyc/irbuild/targets.py +1 -3
  1152. jaclang/vendor/mypyc/irbuild/util.py +2 -8
  1153. jaclang/vendor/mypyc/irbuild/vtable.py +1 -3
  1154. jaclang/vendor/mypyc/lib-rt/CPy.h +638 -0
  1155. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  1156. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  1157. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  1158. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  1159. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  1160. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  1161. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  1162. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  1163. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  1164. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  1165. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  1166. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  1167. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  1168. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  1169. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +533 -0
  1170. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  1171. jaclang/vendor/mypyc/lib-rt/setup.py +70 -0
  1172. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  1173. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  1174. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  1175. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1176. jaclang/vendor/mypyc/lower/int_ops.py +113 -0
  1177. jaclang/vendor/mypyc/lower/list_ops.py +45 -0
  1178. jaclang/vendor/mypyc/lower/misc_ops.py +12 -0
  1179. jaclang/vendor/mypyc/lower/registry.py +26 -0
  1180. jaclang/vendor/mypyc/options.py +1 -3
  1181. jaclang/vendor/mypyc/primitives/dict_ops.py +1 -4
  1182. jaclang/vendor/mypyc/primitives/exc_ops.py +3 -12
  1183. jaclang/vendor/mypyc/primitives/int_ops.py +22 -32
  1184. jaclang/vendor/mypyc/primitives/list_ops.py +10 -0
  1185. jaclang/vendor/mypyc/primitives/misc_ops.py +28 -22
  1186. jaclang/vendor/mypyc/primitives/registry.py +56 -19
  1187. jaclang/vendor/mypyc/primitives/set_ops.py +1 -3
  1188. jaclang/vendor/mypyc/rt_subtype.py +1 -2
  1189. jaclang/vendor/mypyc/sametype.py +2 -5
  1190. jaclang/vendor/mypyc/subtype.py +3 -12
  1191. jaclang/vendor/mypyc/test/test_alwaysdefined.py +2 -6
  1192. jaclang/vendor/mypyc/test/test_analysis.py +8 -24
  1193. jaclang/vendor/mypyc/test/test_cheader.py +12 -4
  1194. jaclang/vendor/mypyc/test/test_emit.py +4 -14
  1195. jaclang/vendor/mypyc/test/test_emitclass.py +1 -8
  1196. jaclang/vendor/mypyc/test/test_emitfunc.py +30 -77
  1197. jaclang/vendor/mypyc/test/test_emitwrapper.py +1 -3
  1198. jaclang/vendor/mypyc/test/test_exceptions.py +4 -12
  1199. jaclang/vendor/mypyc/test/test_external.py +1 -5
  1200. jaclang/vendor/mypyc/test/test_irbuild.py +2 -6
  1201. jaclang/vendor/mypyc/test/test_ircheck.py +6 -17
  1202. jaclang/vendor/mypyc/test/test_literals.py +1 -4
  1203. jaclang/vendor/mypyc/test/test_lowering.py +56 -0
  1204. jaclang/vendor/mypyc/test/test_namegen.py +1 -4
  1205. jaclang/vendor/mypyc/test/test_optimizations.py +68 -0
  1206. jaclang/vendor/mypyc/test/test_refcount.py +3 -9
  1207. jaclang/vendor/mypyc/test/test_run.py +12 -38
  1208. jaclang/vendor/mypyc/test/test_serialization.py +1 -3
  1209. jaclang/vendor/mypyc/test/test_struct.py +3 -11
  1210. jaclang/vendor/mypyc/test/test_tuplename.py +4 -13
  1211. jaclang/vendor/mypyc/test/test_typeops.py +1 -4
  1212. jaclang/vendor/mypyc/test/testutil.py +2 -6
  1213. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  1214. jaclang/vendor/mypyc/test-data/analysis.test +470 -0
  1215. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  1216. jaclang/vendor/mypyc/test-data/driver/driver.py +48 -0
  1217. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  1218. jaclang/vendor/mypyc/test-data/exceptions.test +699 -0
  1219. jaclang/vendor/mypyc/test-data/fixtures/ir.py +373 -0
  1220. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +103 -0
  1221. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +169 -0
  1222. jaclang/vendor/mypyc/test-data/irbuild-any.test +236 -0
  1223. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3399 -0
  1224. jaclang/vendor/mypyc/test-data/irbuild-bool.test +424 -0
  1225. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +181 -0
  1226. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1302 -0
  1227. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  1228. jaclang/vendor/mypyc/test-data/irbuild-dict.test +584 -0
  1229. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +215 -0
  1230. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  1231. jaclang/vendor/mypyc/test-data/irbuild-generics.test +150 -0
  1232. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  1233. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  1234. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  1235. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2144 -0
  1236. jaclang/vendor/mypyc/test-data/irbuild-int.test +194 -0
  1237. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  1238. jaclang/vendor/mypyc/test-data/irbuild-lists.test +513 -0
  1239. jaclang/vendor/mypyc/test-data/irbuild-match.test +1717 -0
  1240. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  1241. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  1242. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  1243. jaclang/vendor/mypyc/test-data/irbuild-set.test +806 -0
  1244. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  1245. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1060 -0
  1246. jaclang/vendor/mypyc/test-data/irbuild-str.test +312 -0
  1247. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  1248. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  1249. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +386 -0
  1250. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  1251. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  1252. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  1253. jaclang/vendor/mypyc/test-data/lowering-int.test +377 -0
  1254. jaclang/vendor/mypyc/test-data/lowering-list.test +33 -0
  1255. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +400 -0
  1256. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +296 -0
  1257. jaclang/vendor/mypyc/test-data/refcount.test +1482 -0
  1258. jaclang/vendor/mypyc/test-data/run-async.test +173 -0
  1259. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  1260. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  1261. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  1262. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  1263. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  1264. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  1265. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  1266. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  1267. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  1268. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  1269. jaclang/vendor/mypyc/test-data/run-generators.test +682 -0
  1270. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  1271. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  1272. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  1273. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  1274. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  1275. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  1276. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  1277. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  1278. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  1279. jaclang/vendor/mypyc/test-data/run-misc.test +1170 -0
  1280. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  1281. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  1282. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  1283. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  1284. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  1285. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  1286. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  1287. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  1288. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  1289. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  1290. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  1291. jaclang/vendor/mypyc/transform/copy_propagation.py +94 -0
  1292. jaclang/vendor/mypyc/transform/exceptions.py +1 -5
  1293. jaclang/vendor/mypyc/transform/flag_elimination.py +108 -0
  1294. jaclang/vendor/mypyc/transform/ir_transform.py +368 -0
  1295. jaclang/vendor/mypyc/transform/lower.py +33 -0
  1296. jaclang/vendor/mypyc/transform/refcount.py +7 -30
  1297. jaclang/vendor/mypyc/transform/uninit.py +4 -15
  1298. jaclang/vendor/pluggy/__init__.py +15 -11
  1299. jaclang/vendor/pluggy/_callers.py +34 -5
  1300. jaclang/vendor/pluggy/_hooks.py +35 -7
  1301. jaclang/vendor/pluggy/_manager.py +26 -3
  1302. jaclang/vendor/pluggy/_result.py +0 -15
  1303. jaclang/vendor/pluggy/_version.py +16 -0
  1304. jaclang/vendor/pluggy/_warnings.py +27 -0
  1305. jaclang/vendor/pluggy-1.5.0.dist-info/LICENSE +21 -0
  1306. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +155 -0
  1307. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +14 -0
  1308. jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +1 -0
  1309. jaclang/vendor/pygls/__init__.py +25 -0
  1310. jaclang/vendor/pygls/capabilities.py +460 -0
  1311. jaclang/vendor/pygls/client.py +176 -0
  1312. jaclang/vendor/pygls/constants.py +26 -0
  1313. jaclang/vendor/pygls/exceptions.py +215 -0
  1314. jaclang/vendor/pygls/feature_manager.py +244 -0
  1315. jaclang/vendor/pygls/lsp/__init__.py +139 -0
  1316. jaclang/vendor/pygls/lsp/client.py +1961 -0
  1317. jaclang/vendor/pygls/progress.py +79 -0
  1318. jaclang/vendor/pygls/protocol/__init__.py +78 -0
  1319. jaclang/vendor/pygls/protocol/json_rpc.py +560 -0
  1320. jaclang/vendor/pygls/protocol/language_server.py +569 -0
  1321. jaclang/vendor/pygls/protocol/lsp_meta.py +51 -0
  1322. jaclang/vendor/pygls/py.typed +2 -0
  1323. jaclang/vendor/pygls/server.py +616 -0
  1324. jaclang/vendor/pygls/uris.py +184 -0
  1325. jaclang/vendor/pygls/workspace/__init__.py +97 -0
  1326. jaclang/vendor/pygls/workspace/position_codec.py +206 -0
  1327. jaclang/vendor/pygls/workspace/text_document.py +238 -0
  1328. jaclang/vendor/pygls/workspace/workspace.py +323 -0
  1329. jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +201 -0
  1330. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +105 -0
  1331. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +24 -0
  1332. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +4 -0
  1333. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
  1334. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
  1335. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +5 -0
  1336. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
  1337. jaclang/vendor/typing_extensions.py +1209 -641
  1338. jaclang-0.6.5.dist-info/METADATA +106 -0
  1339. jaclang-0.6.5.dist-info/RECORD +1476 -0
  1340. jaclang-0.6.5.dist-info/WHEEL +4 -0
  1341. jaclang-0.6.5.dist-info/entry_points.txt +3 -0
  1342. jaclang/compiler/generated/jac_parser.py +0 -4069
  1343. jaclang-0.6.0.dist-info/METADATA +0 -17
  1344. jaclang-0.6.0.dist-info/RECORD +0 -426
  1345. jaclang-0.6.0.dist-info/entry_points.txt +0 -2
  1346. jaclang-0.6.0.dist-info/top_level.txt +0 -1
  1347. /jaclang/{compiler/generated/__init__.py → vendor/attr/py.typed} +0 -0
  1348. {jaclang-0.6.0.dist-info → jaclang/vendor/pluggy-1.5.0.dist-info}/WHEEL +0 -0
jaclang/__init__.py CHANGED
@@ -1,19 +1,11 @@
1
1
  """The Jac Programming Language."""
2
2
 
3
- import os
4
- import sys
5
-
6
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "vendor"))
7
-
8
3
  from jaclang.plugin.default import ( # noqa: E402
9
4
  JacBuiltin,
10
5
  JacCmdDefaults,
11
6
  JacFeatureDefaults,
12
7
  )
13
8
  from jaclang.plugin.feature import JacFeature, pm # noqa: E402
14
- from jaclang.vendor import lark # noqa: E402
15
- from jaclang.vendor import mypy # noqa: E402
16
- from jaclang.vendor import pluggy # noqa: E402
17
9
 
18
10
  jac_import = JacFeature.jac_import
19
11
 
@@ -22,4 +14,4 @@ pm.register(JacBuiltin)
22
14
  pm.register(JacCmdDefaults)
23
15
  pm.load_setuptools_entrypoints("jac")
24
16
 
25
- __all__ = ["jac_import", "lark", "mypy", "pluggy"]
17
+ __all__ = ["jac_import"]
jaclang/cli/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ jac_cli.py
2
+ build.py
3
+ run.py
jaclang/cli/cli.md ADDED
@@ -0,0 +1,190 @@
1
+ # **Jac Language Command Line Interface (CLI)**
2
+
3
+ Jac Language CLI is with a variety of commands to facilitate users. Additionally, Jac language offers users the ability to define custom CLI commands through plugins. This document aims to provide an overview of each command along with clear usage instructions.
4
+
5
+ > [!TIP]
6
+ > Type "help" on Jac CLI and see!
7
+
8
+ ### Click one of the default commands below and see the usage.
9
+ - [tool](#tool) , [run](#run) , [clean](#clean) , [format](#format) , [check](#check) , [build](#build) , [enter](#enter) , [test](#test)
10
+
11
+
12
+
13
+ # 1. Command `tool`:
14
+ ### tool
15
+ Jac Language offers language tools to perform various tasks efficiently. The `tool` command is utilized to execute specific language tools along with any optional arguments as needed. This command enables users to interact with language-specific command line tools designed to manage the language effectively.
16
+ ### Usage:
17
+ ```bash
18
+ $ jac tool <jac_tool> <args>
19
+ ```
20
+ Parameters to execute the tool command:
21
+ - `jac_tool`: The name of the language tool to execute.
22
+ - `ir`, `pass_template`, `py_ast_nodes`, `md_doc`, `automate_ref` are the jac_tools used to handle (Usage instruction is below)
23
+ - `args`: Optional arguments for the specific language tool.
24
+
25
+
26
+ ## 1. jac_tool `ir`:
27
+ `ir` tool generates an Abstract Syntax Tree (AST) and SymbolTable tree for a .jac file, or a Python AST for a .py file. `ir` tool is used with `tool` cli command.
28
+ ### Usage
29
+ ```bash
30
+ $ jac tool ir <output_type> <file_path>
31
+ ```
32
+
33
+ ### Parameters to use the ir tool:
34
+ - `output_type`: Choose one of the following options:
35
+ - `sym`: Provides the symbol table of the specified .jac file.
36
+ - `sym.`: Generates a dot graph representation of the symbol table for the specified .jac file.
37
+ - `ast`: Displays the Abstract Syntax Tree (AST) of the specified .jac file.
38
+ - `ast.`: Generates a dot graph representation of the AST for the specified .jac file.
39
+ - `pyast`: Generates the Python AST for a .py file or the relevant Python AST for the generated Python code from a .jac file.
40
+ - `py`: Displays the relevant generated Python code for the respective Jac code in a .jac file.
41
+ - `file_path`: Path to the .jac or .py file.
42
+
43
+ ### Examples
44
+ >To get the symbol table tree of a Jac file:
45
+ >```bash
46
+ >$ jac tool ir sym <file_path>
47
+ >```
48
+ >To generate a dot graph of the symbol table tree for a Jac file:
49
+ >```bash
50
+ >$ jac tool ir sym. <file_path>
51
+ >```
52
+ >To view the AST tree of a Jac file:
53
+ >```bash
54
+ >$ jac tool ir ast <file_path>
55
+ >```
56
+
57
+
58
+ ## 2. jac_tool `pass_template`:
59
+ `pass_template` tool generates pass template for jac.
60
+ ```bash
61
+ $ jac tool pass_template
62
+ ```
63
+ No Parameters needed to use the pass_template tool
64
+
65
+
66
+ ## 3. jac_tool `py_ast_nodes`:
67
+ `py_ast_nodes` tool lists python ast nodes.
68
+ ```bash
69
+ $ jac tool py_ast_nodes
70
+ ```
71
+ No Parameters needed to use the py_ast_nodes tool
72
+
73
+
74
+ ## 4. jac_tool `md_doc`:
75
+ `md_doc` tool generate mermaid markdown doc.
76
+ ```bash
77
+ $ jac tool md_doc
78
+ ```
79
+ No Parameters needed to use the md_doc tool
80
+
81
+
82
+ ## 5. jac_tool `automate_ref`:
83
+ `automate_ref` tool automates the reference guide generation.
84
+ ```bash
85
+ $ jac tool automate_ref
86
+ ```
87
+ No Parameters needed to use the automate_ref tool
88
+
89
+
90
+
91
+ # 2. Command `run`:
92
+ ### run
93
+ The `run` command is utilized to run the specified .jac or .jir file.
94
+ ### Usage:
95
+ ```bash
96
+ $ jac run <file_path> [main] [cache]
97
+ ```
98
+ Parameters to execute the run command:
99
+ - `file_path`: Path of .jac or .jir file to run.
100
+ - `main`: (Optional, bool) A flag indicating whether the module being executed is the main module. Defaults to True
101
+ - `cache` :The cache flag to cache
102
+ ### Examples
103
+ >To run file_path Jac file:
104
+ >```bash
105
+ >$ jac run <file_path>
106
+ >```
107
+
108
+
109
+
110
+ # 3. Command `clean`:
111
+ ### clean
112
+ The `clean` command is utilized to remove the __jac_gen__ , __pycache__ folders from the current directory recursively.
113
+ ### Usage:
114
+ ```bash
115
+ $ jac clean
116
+ ```
117
+ No Parameters needed to execute the clean command
118
+
119
+
120
+
121
+ # 4. Command `format`:
122
+ ### format
123
+ The `format` command is utilized to run the specified .jac file or format all .jac files in a given directory.
124
+ ### Usage:
125
+ ```bash
126
+ $ jac format <file_path/directory_path> [outfile] [debug]
127
+ ```
128
+ Parameters to execute the format command:
129
+ - `file_path/directory_path`: The path to the .jac file or directory containing .jac files.
130
+ - `outfile`: (Optional) The output file path (only applies when formatting a single file).
131
+ - `debug` :(Optional) If True, print debug information. Defaults to False
132
+ ### Examples
133
+ >To format all .jac files from walking through current located directory:
134
+ >```bash
135
+ >$ jac format .
136
+ >```
137
+
138
+
139
+
140
+ # 5. Command `check`:
141
+ ### check
142
+ The `check` command is utilized to run type checker for a specified .jac file.
143
+ ### Usage:
144
+ ```bash
145
+ $ jac check <file_path>
146
+ ```
147
+ Parameters to execute the check command:
148
+ - `file_path`: Path of .jac file to run type checker.
149
+
150
+
151
+
152
+ # 6. Command `build`:
153
+ ### build
154
+ The `build` command is utilized to build the specified .jac file.
155
+ ### Usage:
156
+ ```bash
157
+ $ jac build <file_path>
158
+ ```
159
+ Parameters to execute the build command:
160
+ - `file_path`: Path of .jac file to build.
161
+
162
+
163
+
164
+ # 7. Command `enter`:
165
+ ### enter
166
+ The `enter` command is utilized to run the specified entrypoint function in the given .jac file.
167
+ ### Usage:
168
+ ```bash
169
+ $ jac enter <file_path> <entrypoint> <args>
170
+ ```
171
+ Parameters to execute the enter command:
172
+ - `file_path`: The path to the .jac file.
173
+ - `entrypoint`: The name of the entrypoint function.
174
+ - `args`: Arguments to pass to the entrypoint function.
175
+ ### Examples
176
+ >To enter file_path Jac file
177
+ >```bash
178
+ >$ jac enter <file_path>
179
+ >```
180
+
181
+
182
+
183
+ # 8. Command `test`:
184
+ ### test
185
+ The `test` command is utilized to run the test suite in the specified .jac file.
186
+ ```bash
187
+ $ jac test <file_path>
188
+ ```
189
+ Parameters to execute the test command:
190
+ - `file_path`: The path to the .jac file.
jaclang/cli/cli.py CHANGED
@@ -2,12 +2,14 @@
2
2
 
3
3
  import ast as ast3
4
4
  import importlib
5
+ import inspect
5
6
  import marshal
6
7
  import os
7
8
  import pickle
8
9
  import shutil
9
10
  import types
10
11
  from typing import Optional
12
+ from uuid import UUID
11
13
 
12
14
  import jaclang.compiler.absyntree as ast
13
15
  from jaclang import jac_import
@@ -17,6 +19,7 @@ from jaclang.compiler.constant import Constants
17
19
  from jaclang.compiler.passes.main.pyast_load_pass import PyastBuildPass
18
20
  from jaclang.compiler.passes.main.schedules import py_code_gen_typed
19
21
  from jaclang.compiler.passes.tool.schedules import format_pass
22
+ from jaclang.core.construct import Architype
20
23
  from jaclang.plugin.builtin import dotgen
21
24
  from jaclang.plugin.feature import JacCmd as Cmd
22
25
  from jaclang.plugin.feature import JacFeature as Jac
@@ -63,13 +66,33 @@ def format(path: str, outfile: str = "", debug: bool = False) -> None:
63
66
 
64
67
 
65
68
  @cmd_registry.register
66
- def run(filename: str, main: bool = True, cache: bool = True) -> None:
69
+ def run(
70
+ filename: str,
71
+ session: str = "",
72
+ main: bool = True,
73
+ cache: bool = True,
74
+ walker: str = "",
75
+ node: str = "",
76
+ ) -> None:
67
77
  """Run the specified .jac file."""
78
+ # if no session specified, check if it was defined when starting the command shell
79
+ # otherwise default to jaclang.session
80
+ if session == "":
81
+ session = (
82
+ cmd_registry.args.session
83
+ if hasattr(cmd_registry, "args")
84
+ and hasattr(cmd_registry.args, "session")
85
+ and cmd_registry.args.session
86
+ else ""
87
+ )
88
+
89
+ Jac.context().init_memory(session)
90
+
68
91
  base, mod = os.path.split(filename)
69
92
  base = base if base else "./"
70
93
  mod = mod[:-4]
71
94
  if filename.endswith(".jac"):
72
- jac_import(
95
+ loaded_mod = jac_import(
73
96
  target=mod,
74
97
  base_path=base,
75
98
  cachable=cache,
@@ -78,7 +101,7 @@ def run(filename: str, main: bool = True, cache: bool = True) -> None:
78
101
  elif filename.endswith(".jir"):
79
102
  with open(filename, "rb") as f:
80
103
  ir = pickle.load(f)
81
- jac_import(
104
+ loaded_mod = jac_import(
82
105
  target=mod,
83
106
  base_path=base,
84
107
  cachable=cache,
@@ -87,6 +110,49 @@ def run(filename: str, main: bool = True, cache: bool = True) -> None:
87
110
  )
88
111
  else:
89
112
  print("Not a .jac file.")
113
+ return
114
+
115
+ if not node or node == "root":
116
+ entrypoint: Architype = Jac.get_root()
117
+ else:
118
+ obj = Jac.context().get_obj(UUID(node))
119
+ if obj is None:
120
+ print(f"Entrypoint {node} not found.")
121
+ return
122
+ entrypoint = obj
123
+
124
+ # TODO: handle no override name
125
+ if walker:
126
+ walker_module = dict(inspect.getmembers(loaded_mod)).get(walker)
127
+ if walker_module:
128
+ Jac.spawn_call(entrypoint, walker_module())
129
+ else:
130
+ print(f"Walker {walker} not found.")
131
+
132
+ Jac.reset_context()
133
+
134
+
135
+ @cmd_registry.register
136
+ def get_object(id: str, session: str = "") -> dict:
137
+ """Get the object with the specified id."""
138
+ if session == "":
139
+ session = cmd_registry.args.session if "session" in cmd_registry.args else ""
140
+
141
+ Jac.context().init_memory(session)
142
+
143
+ if id == "root":
144
+ id_uuid = UUID(int=0)
145
+ else:
146
+ id_uuid = UUID(id)
147
+
148
+ obj = Jac.context().get_obj(id_uuid)
149
+ if obj is None:
150
+ print(f"Object with id {id} not found.")
151
+ Jac.reset_context()
152
+ return {}
153
+ else:
154
+ Jac.reset_context()
155
+ return obj.__getstate__()
90
156
 
91
157
 
92
158
  @cmd_registry.register
@@ -127,6 +193,14 @@ def check(filename: str, print_errs: bool = True) -> None:
127
193
  print("Not a .jac file.")
128
194
 
129
195
 
196
+ @cmd_registry.register
197
+ def lsp() -> None:
198
+ """Run Jac Language Server Protocol."""
199
+ from jaclang.langserve.server import run_lang_server
200
+
201
+ run_lang_server()
202
+
203
+
130
204
  @cmd_registry.register
131
205
  def enter(filename: str, entrypoint: str, args: list) -> None:
132
206
  """Run the specified entrypoint function in the given .jac file.
@@ -242,6 +316,7 @@ def debug(filename: str, main: bool = True, cache: bool = False) -> None:
242
316
  @cmd_registry.register
243
317
  def dot(
244
318
  filename: str,
319
+ session: str = "",
245
320
  initial: str = "",
246
321
  depth: int = -1,
247
322
  traverse: bool = False,
@@ -263,6 +338,17 @@ def dot(
263
338
  :param node_limit: The maximum number of nodes allowed in the graph.
264
339
  :param saveto: Path to save the generated graph.
265
340
  """
341
+ if session == "":
342
+ session = (
343
+ cmd_registry.args.session
344
+ if hasattr(cmd_registry, "args")
345
+ and hasattr(cmd_registry.args, "session")
346
+ and cmd_registry.args.session
347
+ else ""
348
+ )
349
+
350
+ Jac.context().init_memory(session)
351
+
266
352
  base, mod = os.path.split(filename)
267
353
  base = base if base else "./"
268
354
  mod = mod[:-4]
@@ -286,6 +372,10 @@ def dot(
286
372
  )
287
373
  except Exception as e:
288
374
  print(f"Error while generating graph: {e}")
375
+ import traceback
376
+
377
+ traceback.print_exc()
378
+ Jac.reset_context()
289
379
  return
290
380
  file_name = saveto if saveto else f"{mod}.dot"
291
381
  with open(file_name, "w") as file:
@@ -294,24 +384,39 @@ def dot(
294
384
  else:
295
385
  print("Not a .jac file.")
296
386
 
387
+ Jac.reset_context()
388
+
297
389
 
298
390
  @cmd_registry.register
299
- def py_to_jac(filename: str, tree: bool = False) -> None:
391
+ def py2jac(filename: str) -> None:
300
392
  """Convert a Python file to Jac.
301
393
 
302
394
  :param filename: The path to the .py file.
303
- :param tree: Flag to show the AST tree.(Default-False).
304
395
  """
305
396
  if filename.endswith(".py"):
306
397
  with open(filename, "r") as f:
307
- mod = PyastBuildPass(
398
+ code = PyastBuildPass(
308
399
  input_ir=ast.PythonModuleAst(ast3.parse(f.read()), mod_path=filename),
309
400
  ).ir.unparse()
310
- print(mod)
401
+ print(code)
311
402
  else:
312
403
  print("Not a .py file.")
313
404
 
314
405
 
406
+ @cmd_registry.register
407
+ def jac2py(filename: str) -> None:
408
+ """Convert a Jac file to Python.
409
+
410
+ :param filename: The path to the .jac file.
411
+ """
412
+ if filename.endswith(".jac"):
413
+ with open(filename, "r"):
414
+ code = jac_file_to_pass(file_path=filename).ir.gen.py
415
+ print(code)
416
+ else:
417
+ print("Not a .jac file.")
418
+
419
+
315
420
  def start_cli() -> None:
316
421
  """
317
422
  Start the command line interface.
@@ -321,10 +426,13 @@ def start_cli() -> None:
321
426
  """
322
427
  parser = cmd_registry.parser
323
428
  args = parser.parse_args()
429
+ cmd_registry.args = args
324
430
  command = cmd_registry.get(args.command)
325
431
  if command:
326
432
  args_dict = vars(args)
327
433
  args_dict.pop("command")
434
+ if command not in ["run"]:
435
+ args_dict.pop("session")
328
436
  ret = command.call(**args_dict)
329
437
  if ret:
330
438
  print(ret)
jaclang/cli/cmdreg.py CHANGED
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import argparse
6
6
  import cmd
7
7
  import inspect
8
+ import pprint
8
9
  from typing import Callable, Optional
9
10
 
10
11
 
@@ -30,12 +31,17 @@ class CommandRegistry:
30
31
  registry: dict[str, Command]
31
32
  sub_parsers: argparse._SubParsersAction
32
33
  parser: argparse.ArgumentParser
34
+ args: argparse.Namespace
33
35
 
34
36
  def __init__(self) -> None:
35
37
  """Initialize a CommandRegistry instance."""
36
38
  self.registry = {}
37
- self.parser = argparse.ArgumentParser(prog="CLI")
39
+ self.parser = argparse.ArgumentParser(prog="jac")
40
+ self.parser.add_argument(
41
+ "--session", help="Session file path", nargs="?", default=""
42
+ )
38
43
  self.sub_parsers = self.parser.add_subparsers(title="commands", dest="command")
44
+ self.args = argparse.Namespace()
39
45
 
40
46
  def register(self, func: Callable) -> Callable:
41
47
  """Register a command in the registry."""
@@ -48,6 +54,11 @@ class CommandRegistry:
48
54
  first = True
49
55
  for param_name, param in cmd.sig.parameters.items():
50
56
  arg_msg = f"type: {param.annotation.__name__}"
57
+ # shorthand is first character by default,
58
+ # If already taken, use the first 2 characters
59
+ shorthand = param_name[:1]
60
+ if f"-{shorthand}" in cmd_parser._option_string_actions:
61
+ shorthand = param_name[:2]
51
62
  if param_name == "args":
52
63
  cmd_parser.add_argument("args", nargs=argparse.REMAINDER, help=arg_msg)
53
64
  elif param_name == "filepath":
@@ -76,7 +87,7 @@ class CommandRegistry:
76
87
  )
77
88
  else:
78
89
  cmd_parser.add_argument(
79
- f"-{param_name[:1]}",
90
+ f"-{shorthand}",
80
91
  f"--{param_name}",
81
92
  required=True,
82
93
  type=(
@@ -99,14 +110,14 @@ class CommandRegistry:
99
110
  arg_msg += f", default: {param.default}"
100
111
  if param.annotation == bool:
101
112
  cmd_parser.add_argument(
102
- f"-{param_name[:1]}",
113
+ f"-{shorthand}",
103
114
  f"--{param_name}",
104
115
  default=param.default,
105
116
  action="store_true",
106
117
  help=arg_msg,
107
118
  )
108
119
  cmd_parser.add_argument(
109
- f"-n{param_name[:1]}",
120
+ f"-n{shorthand}",
110
121
  f"--no-{param_name}",
111
122
  dest=param_name,
112
123
  action="store_false",
@@ -114,7 +125,7 @@ class CommandRegistry:
114
125
  )
115
126
  else:
116
127
  cmd_parser.add_argument(
117
- f"-{param_name[:1]}",
128
+ f"-{shorthand}",
118
129
  f"--{param_name}",
119
130
  default=param.default,
120
131
  help=arg_msg,
@@ -168,7 +179,8 @@ class CommandShell(cmd.Cmd):
168
179
  args.pop("command")
169
180
  ret = command.call(**args)
170
181
  if ret:
171
- self.stdout.write(ret + "\n")
182
+ ret_str = pprint.pformat(ret, indent=2)
183
+ self.stdout.write(f"{ret_str}\n")
172
184
  except Exception as e:
173
185
  print(e)
174
186
 
@@ -0,0 +1 @@
1
+ generated
@@ -104,6 +104,7 @@ TOKEN_MAP.update(
104
104
  "BW_NOT_EQ": "~=",
105
105
  "LSHIFT_EQ": "<<=",
106
106
  "RSHIFT_EQ": ">>=",
107
+ "ELLIPSIS": "...",
107
108
  }
108
109
  )
109
110
 
@@ -391,7 +391,6 @@ class Module(AstDocNode):
391
391
  body: Sequence[ElementStmt | String | EmptyToken],
392
392
  is_imported: bool,
393
393
  kid: Sequence[AstNode],
394
- impl_mod: Optional[Module] = None,
395
394
  test_mod: Optional[Module] = None,
396
395
  registry: Optional[SemRegistry] = None,
397
396
  ) -> None:
@@ -400,7 +399,7 @@ class Module(AstDocNode):
400
399
  self.source = source
401
400
  self.body = body
402
401
  self.is_imported = is_imported
403
- self.impl_mod = impl_mod
402
+ self.impl_mod: list[Module] = []
404
403
  self.test_mod = test_mod
405
404
  self.mod_deps: dict[str, Module] = {}
406
405
  self.registry = registry
@@ -661,6 +660,13 @@ class ModulePath(AstSymbolNode):
661
660
  sym_type=SymbolType.MODULE,
662
661
  )
663
662
 
663
+ @property
664
+ def path_str(self) -> str:
665
+ """Get path string."""
666
+ return ("." * self.level) + ".".join(
667
+ [p.value for p in self.path] if self.path else ""
668
+ )
669
+
664
670
  def normalize(self, deep: bool = False) -> bool:
665
671
  """Normalize module path node."""
666
672
  res = True
@@ -685,13 +691,6 @@ class ModulePath(AstSymbolNode):
685
691
  self.set_kids(nodes=new_kid)
686
692
  return res
687
693
 
688
- @property
689
- def path_str(self) -> str:
690
- """Get path string."""
691
- return ("." * self.level) + ".".join(
692
- [p.value for p in self.path] if self.path else ""
693
- )
694
-
695
694
 
696
695
  class ModuleItem(AstSymbolNode):
697
696
  """ModuleItem node type for Jac Ast."""
@@ -46,14 +46,14 @@ def jac_str_to_pass(
46
46
  ) -> Pass:
47
47
  """Convert a Jac file to an AST."""
48
48
  if not target:
49
- target = schedule[-1]
49
+ target = schedule[-1] if schedule else None
50
50
  source = ast.JacSource(jac_str, mod_path=file_path)
51
51
  ast_ret: Pass = JacParser(input_ir=source)
52
52
  for i in schedule:
53
53
  if i == target:
54
54
  break
55
55
  ast_ret = i(input_ir=ast_ret.ir, prior=ast_ret)
56
- ast_ret = target(input_ir=ast_ret.ir, prior=ast_ret)
56
+ ast_ret = target(input_ir=ast_ret.ir, prior=ast_ret) if target else ast_ret
57
57
  return ast_ret
58
58
 
59
59
 
@@ -64,13 +64,13 @@ def jac_pass_to_pass(
64
64
  ) -> Pass:
65
65
  """Convert a Jac file to an AST."""
66
66
  if not target:
67
- target = schedule[-1]
67
+ target = schedule[-1] if schedule else None
68
68
  ast_ret = in_pass
69
69
  for i in schedule:
70
70
  if i == target:
71
71
  break
72
72
  ast_ret = i(input_ir=ast_ret.ir, prior=ast_ret)
73
- ast_ret = target(input_ir=ast_ret.ir, prior=ast_ret)
73
+ ast_ret = target(input_ir=ast_ret.ir, prior=ast_ret) if target else ast_ret
74
74
  return ast_ret
75
75
 
76
76
 
jaclang/compiler/jac.lark CHANGED
@@ -219,6 +219,7 @@ return_stmt: KW_RETURN expression?
219
219
 
220
220
  // Yield statements
221
221
  yield_expr: KW_YIELD KW_FROM? expression
222
+ | KW_YIELD
222
223
 
223
224
  // Raise statements
224
225
  raise_stmt: KW_RAISE (expression (KW_FROM expression)?)?
@@ -140,7 +140,7 @@ class JacParser(Pass):
140
140
  body = kid[1:] if doc else kid
141
141
  body = [i for i in body if isinstance(i, ast.ElementStmt)]
142
142
  mod = ast.Module(
143
- name=self.parse_ref.mod_path.split(os.path.sep)[-1].split(".")[0],
143
+ name=self.parse_ref.mod_path.split(os.path.sep)[-1].rstrip(".jac"),
144
144
  source=self.parse_ref.source,
145
145
  doc=doc,
146
146
  body=body,
@@ -2454,8 +2454,8 @@ class JacParser(Pass):
2454
2454
  """Grammar rule.
2455
2455
 
2456
2456
  yield_expr:
2457
- | KW_YIELD KW_FROM expression
2458
- | KW_YIELD expression
2457
+ | KW_YIELD KW_FROM? expression
2458
+ | KW_YIELD
2459
2459
  """
2460
2460
  if isinstance(kid[-1], ast.Expr):
2461
2461
  return self.nu(
@@ -2465,6 +2465,19 @@ class JacParser(Pass):
2465
2465
  kid=kid,
2466
2466
  )
2467
2467
  )
2468
+ elif (
2469
+ len(kid) == 1
2470
+ and isinstance(kid[0], ast.Token)
2471
+ and kid[0].name == Tok.KW_YIELD
2472
+ ):
2473
+ return self.nu(
2474
+ ast.YieldExpr(
2475
+ expr=None,
2476
+ with_from=False,
2477
+ kid=kid,
2478
+ )
2479
+ )
2480
+
2468
2481
  else:
2469
2482
  raise self.ice()
2470
2483
 
@@ -43,6 +43,10 @@ class DeclDefMatchPass(Pass):
43
43
  # currently strips the type info from impls
44
44
  arch_refs = [x[3:] for x in sym.sym_name.split(".")]
45
45
  lookup = sym_tab.lookup(arch_refs[0])
46
+ # Below may need to be a while instead of if to skip over local
47
+ # import name collisions (see test: test_impl_decl_resolution_fix)
48
+ if lookup and not isinstance(lookup.decl, ast.AstImplNeedingNode):
49
+ lookup = sym_tab.parent.lookup(arch_refs[0])
46
50
  decl_node = (
47
51
  self.defn_lookup(lookup)
48
52
  if len(arch_refs) == 1 and lookup
@@ -72,7 +76,10 @@ class DeclDefMatchPass(Pass):
72
76
  continue
73
77
  decl_node.body = sym.decl # type: ignore
74
78
  sym.decl.decl_link = decl_node # type: ignore
75
- decl_node.add_kids_right([sym.decl], pos_update=False) # type: ignore
79
+ source_node = sym.decl.parent
80
+ decl_node.add_kids_right([sym.decl]) # type: ignore
81
+ if source_node and sym.decl in source_node.kid:
82
+ source_node.kid.remove(sym.decl)
76
83
  decl_node.sym_tab.tab = sym.decl.sym_tab.tab # type: ignore
77
84
  for i in sym_tab.kid:
78
85
  self.connect_def_impl(i)