jaclang 0.6.0__py3-none-any.whl → 0.6.2__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.
Files changed (913) hide show
  1. jaclang/cli/.gitignore +3 -0
  2. jaclang/cli/cli.md +190 -0
  3. jaclang/cli/cli.py +90 -3
  4. jaclang/cli/cmdreg.py +18 -6
  5. jaclang/compiler/.gitignore +1 -0
  6. jaclang/compiler/absyntree.py +1 -2
  7. jaclang/compiler/parser.py +1 -1
  8. jaclang/compiler/passes/main/def_impl_match_pass.py +4 -1
  9. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +10 -7
  10. jaclang/compiler/passes/main/import_pass.py +39 -22
  11. jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
  12. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
  13. jaclang/compiler/passes/main/schedules.py +2 -0
  14. jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
  15. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  16. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  17. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  18. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  19. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  20. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  21. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  22. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  23. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  24. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  25. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  26. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  27. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  28. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  29. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  30. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  31. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  32. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  33. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  34. jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
  35. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  36. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  37. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  64. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  65. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  66. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  67. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  68. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  69. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  70. jaclang/core/aott.py +10 -1
  71. jaclang/core/construct.py +157 -21
  72. jaclang/core/importer.py +6 -2
  73. jaclang/core/memory.py +48 -0
  74. jaclang/core/shelve_storage.py +55 -0
  75. jaclang/plugin/__init__.py +1 -2
  76. jaclang/plugin/builtin.py +1 -1
  77. jaclang/plugin/default.py +97 -4
  78. jaclang/plugin/feature.py +28 -9
  79. jaclang/plugin/spec.py +45 -10
  80. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  81. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  82. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  83. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  84. jaclang/plugin/tests/test_jaseci.py +219 -0
  85. jaclang/tests/fixtures/abc.jac +73 -0
  86. jaclang/tests/fixtures/access_checker.jac +19 -0
  87. jaclang/tests/fixtures/access_modifier.jac +49 -0
  88. jaclang/tests/fixtures/aott_raise.jac +25 -0
  89. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  90. jaclang/tests/fixtures/assign_compr.jac +15 -0
  91. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  92. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  93. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  94. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  95. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  96. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  97. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  98. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  99. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  100. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  101. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  102. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  103. jaclang/tests/fixtures/deep_import.jac +7 -0
  104. jaclang/tests/fixtures/deferred_field.jac +13 -0
  105. jaclang/tests/fixtures/disconn.jac +29 -0
  106. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  107. jaclang/tests/fixtures/edge_ops.jac +45 -0
  108. jaclang/tests/fixtures/edges_walk.jac +38 -0
  109. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  110. jaclang/tests/fixtures/err.jac +5 -0
  111. jaclang/tests/fixtures/err2.jac +5 -0
  112. jaclang/tests/fixtures/game1.jac +15 -0
  113. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  114. jaclang/tests/fixtures/guess_game.jac +47 -0
  115. jaclang/tests/fixtures/has_goodness.jac +15 -0
  116. jaclang/tests/fixtures/hashcheck.jac +12 -0
  117. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  118. jaclang/tests/fixtures/hello.jac +5 -0
  119. jaclang/tests/fixtures/hello_nc.jac +5 -0
  120. jaclang/tests/fixtures/ignore.jac +43 -0
  121. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  122. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  123. jaclang/tests/fixtures/impl_grab.jac +2 -0
  124. jaclang/tests/fixtures/inherit_check.jac +33 -0
  125. jaclang/tests/fixtures/jacsamp.jac +6 -0
  126. jaclang/tests/fixtures/jp_importer.jac +17 -0
  127. jaclang/tests/fixtures/lambda.jac +6 -0
  128. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  129. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  130. jaclang/tests/fixtures/mtest.jac +6 -0
  131. jaclang/tests/fixtures/needs_import.jac +18 -0
  132. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  133. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  134. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  135. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  136. jaclang/tests/fixtures/package_import.jac +6 -0
  137. jaclang/tests/fixtures/pyfunc.py +11 -0
  138. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  139. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  140. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  141. jaclang/tests/fixtures/random_check.jac +70 -0
  142. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  143. jaclang/tests/fixtures/registry.jac +37 -0
  144. jaclang/tests/fixtures/run_test.jac +5 -0
  145. jaclang/tests/fixtures/semstr.jac +33 -0
  146. jaclang/tests/fixtures/simple_archs.jac +26 -0
  147. jaclang/tests/fixtures/slice_vals.jac +7 -0
  148. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  149. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  150. jaclang/tests/fixtures/try_finally.jac +34 -0
  151. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  152. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  153. jaclang/tests/fixtures/type_info.jac +19 -0
  154. jaclang/tests/fixtures/with_context.jac +30 -0
  155. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  156. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  157. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  158. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  159. jaclang/tests/test_cli.py +239 -0
  160. jaclang/tests/test_language.py +807 -0
  161. jaclang/tests/test_man_code.py +148 -0
  162. jaclang/tests/test_reference.py +95 -0
  163. jaclang/tests/test_settings.py +46 -0
  164. jaclang/utils/treeprinter.py +7 -2
  165. jaclang/vendor/LICENSE +18 -0
  166. jaclang/vendor/mypy/stubgen.py +0 -0
  167. jaclang/vendor/mypy/stubgenc.py +0 -0
  168. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  169. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +308 -0
  170. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +41 -0
  171. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  172. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +632 -0
  173. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +106 -0
  174. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  175. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +198 -0
  176. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  177. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  178. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  179. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  180. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +219 -0
  181. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +600 -0
  182. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +316 -0
  183. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +43 -0
  184. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +185 -0
  185. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  186. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +32 -0
  187. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  188. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  189. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  190. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  191. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +172 -0
  192. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +55 -0
  193. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
  194. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +17 -0
  195. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  196. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  197. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +18 -0
  198. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +851 -0
  199. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  200. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +63 -0
  201. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  202. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +120 -0
  203. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  204. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/README.md +34 -0
  205. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +374 -0
  206. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +45 -0
  207. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +51 -0
  208. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +13 -0
  209. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +65 -0
  210. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +45 -0
  211. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  212. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +275 -0
  213. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +61 -0
  214. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +99 -0
  215. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  216. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +675 -0
  217. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +111 -0
  218. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +287 -0
  219. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  220. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  221. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +519 -0
  222. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +21 -0
  223. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +71 -0
  224. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +13 -0
  225. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  226. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +32 -0
  227. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +669 -0
  228. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  229. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +26 -0
  230. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +61 -0
  231. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +131 -0
  232. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  233. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  234. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +72 -0
  235. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +40 -0
  236. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +49 -0
  237. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +44 -0
  238. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  239. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +189 -0
  240. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +13 -0
  241. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +172 -0
  242. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +234 -0
  243. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +36 -0
  244. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +566 -0
  245. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +11 -0
  246. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +22 -0
  247. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +64 -0
  248. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +140 -0
  249. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +268 -0
  250. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +108 -0
  251. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +59 -0
  252. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +99 -0
  253. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +14 -0
  254. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +50 -0
  255. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +76 -0
  256. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +133 -0
  257. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +45 -0
  258. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +47 -0
  259. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  260. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +2310 -0
  261. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +177 -0
  262. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +49 -0
  263. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +248 -0
  264. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +122 -0
  265. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +44 -0
  266. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +26 -0
  267. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +38 -0
  268. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +52 -0
  269. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +46 -0
  270. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +344 -0
  271. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +17 -0
  272. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +571 -0
  273. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  274. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +20 -0
  275. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  276. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  277. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +137 -0
  278. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +272 -0
  279. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +86 -0
  280. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +449 -0
  281. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +274 -0
  282. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +67 -0
  283. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  284. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +32 -0
  285. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  286. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  287. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +211 -0
  288. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +29 -0
  289. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  290. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  291. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +25 -0
  292. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
  293. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
  294. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +25 -0
  295. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +15 -0
  296. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +323 -0
  297. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +334 -0
  298. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +98 -0
  299. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +34 -0
  300. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +44 -0
  301. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +40 -0
  302. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +5 -0
  303. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +169 -0
  304. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +190 -0
  305. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  306. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +22 -0
  307. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  308. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +183 -0
  309. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +88 -0
  310. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  311. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  312. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  313. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  314. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  315. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  316. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +21 -0
  317. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  318. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  319. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  320. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  321. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  322. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  323. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  324. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +91 -0
  325. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  326. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  327. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  328. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  329. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  330. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  331. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  332. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  333. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  334. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  335. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +59 -0
  336. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  337. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  338. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  339. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +21 -0
  340. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +155 -0
  341. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  342. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  343. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +37 -0
  344. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  345. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +78 -0
  346. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  347. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  348. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +4 -0
  349. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +24 -0
  350. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +23 -0
  351. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  352. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +50 -0
  353. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  354. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +282 -0
  355. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  356. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +37 -0
  357. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  358. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  359. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +22 -0
  360. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +39 -0
  361. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  362. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  363. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  364. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +31 -0
  365. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +42 -0
  366. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +41 -0
  367. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +214 -0
  368. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +19 -0
  369. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +220 -0
  370. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  371. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  372. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  373. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +15 -0
  374. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  375. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +10 -0
  376. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  377. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  378. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +14 -0
  379. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +44 -0
  380. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +51 -0
  381. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +30 -0
  382. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +84 -0
  383. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  384. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +25 -0
  385. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +28 -0
  386. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  387. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +347 -0
  388. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  389. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +20 -0
  390. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +155 -0
  391. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +62 -0
  392. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +246 -0
  393. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  394. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +92 -0
  395. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +152 -0
  396. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +214 -0
  397. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +261 -0
  398. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +39 -0
  399. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +62 -0
  400. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +15 -0
  401. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  402. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +200 -0
  403. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +50 -0
  404. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  405. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  406. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +162 -0
  407. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +191 -0
  408. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +36 -0
  409. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +45 -0
  410. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  411. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  412. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +40 -0
  413. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  414. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +283 -0
  415. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +206 -0
  416. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +67 -0
  417. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +93 -0
  418. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +221 -0
  419. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  420. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +75 -0
  421. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  422. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  423. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +195 -0
  424. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +214 -0
  425. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +310 -0
  426. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
  427. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  428. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +66 -0
  429. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  430. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  431. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +55 -0
  432. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +16 -0
  433. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +57 -0
  434. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +709 -0
  435. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +222 -0
  436. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +229 -0
  437. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +394 -0
  438. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +69 -0
  439. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +34 -0
  440. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +38 -0
  441. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  442. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  443. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  444. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +32 -0
  445. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +44 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +18 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +46 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +40 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +36 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +52 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +98 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +142 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +122 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +29 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +165 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +685 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +161 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +315 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +213 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +306 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +15 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +35 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +134 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +50 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +126 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +84 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +237 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +107 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +94 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +94 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +235 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +83 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +50 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +36 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +38 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +270 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +137 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +43 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +118 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +44 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +140 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +34 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +66 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +83 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +28 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +151 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +114 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +154 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +68 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +290 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1317 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +28 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +282 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +223 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +286 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +173 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +61 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +56 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +176 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +78 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +363 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +171 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +122 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +43 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +85 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +21 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +36 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +40 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +97 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +309 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +94 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +62 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +17 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +160 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +376 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +40 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +116 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +31 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +56 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +24 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +162 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +85 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +64 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +47 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +239 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +208 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +33 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +102 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +223 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +881 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +195 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +43 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +519 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +132 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +110 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +559 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +151 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +112 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +43 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2638 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +63 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +396 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +54 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +52 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +48 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +18 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +486 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +129 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +521 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +273 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +107 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +212 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +122 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +46 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3950 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +28 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +16 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +21 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +173 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +148 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +60 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +395 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1276 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +185 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +12 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +114 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +297 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +142 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +830 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +647 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +1059 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +524 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +71 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +72 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +34 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +28 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +481 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +71 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +75 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +468 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +59 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +83 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +26 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +31 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +27 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +245 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +544 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +50 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +23 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +144 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +87 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +173 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +80 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +120 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +109 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +28 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +49 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +44 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +31 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +52 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +63 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +72 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +12 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +111 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +467 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +101 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +110 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +35 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +49 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +367 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +34 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +21 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +59 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +71 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +89 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +348 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +186 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +355 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +105 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +40 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +63 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +45 -0
  735. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
  736. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
  737. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +238 -0
  738. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  739. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  740. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  741. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  742. jaclang/vendor/mypyc/.readthedocs.yaml +18 -0
  743. jaclang/vendor/mypyc/README.md +133 -0
  744. jaclang/vendor/mypyc/doc/Makefile +20 -0
  745. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  746. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  747. jaclang/vendor/mypyc/doc/conf.py +59 -0
  748. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  749. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  750. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  751. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  752. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  753. jaclang/vendor/mypyc/doc/future.md +42 -0
  754. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  755. jaclang/vendor/mypyc/doc/index.rst +61 -0
  756. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  757. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  758. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  759. jaclang/vendor/mypyc/doc/make.bat +35 -0
  760. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  761. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  762. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  763. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  764. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  765. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  766. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  767. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  768. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  769. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  770. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  771. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  772. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  773. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  774. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  775. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  776. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  777. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  778. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  779. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  780. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  781. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  782. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  783. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  784. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  785. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  786. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  787. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  788. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  789. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  790. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  791. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  792. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  793. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  794. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  795. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  796. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  797. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  798. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  799. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  800. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  801. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  802. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  803. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  804. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  805. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  806. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  807. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  808. jaclang/vendor/mypyc/lib-rt/CPy.h +643 -0
  809. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  810. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  811. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  812. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  813. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  814. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  815. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  816. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  817. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  818. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  819. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  820. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  821. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  822. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  823. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +548 -0
  824. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  825. jaclang/vendor/mypyc/lib-rt/setup.py +76 -0
  826. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  827. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  828. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  829. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  830. jaclang/vendor/mypyc/test-data/analysis.test +603 -0
  831. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  832. jaclang/vendor/mypyc/test-data/driver/driver.py +50 -0
  833. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  834. jaclang/vendor/mypyc/test-data/exceptions.test +713 -0
  835. jaclang/vendor/mypyc/test-data/fixtures/ir.py +850 -0
  836. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +117 -0
  837. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +212 -0
  838. jaclang/vendor/mypyc/test-data/irbuild-any.test +238 -0
  839. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3690 -0
  840. jaclang/vendor/mypyc/test-data/irbuild-bool.test +463 -0
  841. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +184 -0
  842. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1303 -0
  843. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  844. jaclang/vendor/mypyc/test-data/irbuild-dict.test +585 -0
  845. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +223 -0
  846. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  847. jaclang/vendor/mypyc/test-data/irbuild-generics.test +151 -0
  848. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  849. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  850. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  851. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2164 -0
  852. jaclang/vendor/mypyc/test-data/irbuild-int.test +235 -0
  853. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  854. jaclang/vendor/mypyc/test-data/irbuild-lists.test +547 -0
  855. jaclang/vendor/mypyc/test-data/irbuild-match.test +1708 -0
  856. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  857. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  858. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  859. jaclang/vendor/mypyc/test-data/irbuild-set.test +838 -0
  860. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  861. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1149 -0
  862. jaclang/vendor/mypyc/test-data/irbuild-str.test +314 -0
  863. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  864. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  865. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +462 -0
  866. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  867. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  868. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  869. jaclang/vendor/mypyc/test-data/refcount.test +1588 -0
  870. jaclang/vendor/mypyc/test-data/run-async.test +145 -0
  871. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  872. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  873. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  874. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  875. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  876. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  877. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  878. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  879. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  880. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  881. jaclang/vendor/mypyc/test-data/run-generators.test +681 -0
  882. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  883. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  884. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  885. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  886. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  887. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  888. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  889. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  890. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  891. jaclang/vendor/mypyc/test-data/run-misc.test +1168 -0
  892. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  893. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  894. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  895. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  896. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  897. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  898. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  899. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  900. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  901. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  902. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  903. jaclang/vendor/pluggy/LICENSE +21 -0
  904. jaclang-0.6.2.dist-info/METADATA +110 -0
  905. jaclang-0.6.2.dist-info/RECORD +1305 -0
  906. {jaclang-0.6.0.dist-info → jaclang-0.6.2.dist-info}/WHEEL +1 -2
  907. jaclang-0.6.2.dist-info/entry_points.txt +3 -0
  908. jaclang/compiler/generated/jac_parser.py +0 -4069
  909. jaclang-0.6.0.dist-info/METADATA +0 -17
  910. jaclang-0.6.0.dist-info/RECORD +0 -426
  911. jaclang-0.6.0.dist-info/entry_points.txt +0 -2
  912. jaclang-0.6.0.dist-info/top_level.txt +0 -1
  913. /jaclang/{compiler/generated/__init__.py → vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi} +0 -0
@@ -19,8 +19,6 @@ T = TypeVar("T", bound=ast3.AST)
19
19
  class PyastGenPass(Pass):
20
20
  """Jac blue transpilation to python pass."""
21
21
 
22
- cout = 1
23
-
24
22
  @staticmethod
25
23
  def node_compilable_test(node: ast3.AST) -> None:
26
24
  """Convert any AST node to a compilable module node."""
@@ -214,25 +212,18 @@ class PyastGenPass(Pass):
214
212
  i.end_lineno = (
215
213
  jac_node.loc.last_line
216
214
  if jac_node.loc.last_line
215
+ and (jac_node.loc.last_line > jac_node.loc.first_line)
217
216
  else jac_node.loc.first_line
218
217
  )
219
218
  i.end_col_offset = (
220
219
  jac_node.loc.col_end
221
220
  if jac_node.loc.col_end
221
+ and (jac_node.loc.col_end > jac_node.loc.col_start)
222
222
  else jac_node.loc.col_start
223
223
  )
224
224
  i.jac_link: list[ast3.AST] = [jac_node] # type: ignore
225
225
  return py_node
226
226
 
227
- def link_jac_py_nodes(
228
- self, jac_node: ast.AstNode, py_nodes: list[ast3.AST]
229
- ) -> None:
230
- """Link jac name ast to py ast nodes."""
231
- jac_node.gen.py_ast = py_nodes
232
- for i in py_nodes:
233
- if isinstance(i.jac_link, list): # type: ignore
234
- i.jac_link.append(jac_node) # type: ignore
235
-
236
227
  def pyinline_sync(
237
228
  self,
238
229
  py_nodes: list[ast3.AST],
@@ -329,7 +320,10 @@ class PyastGenPass(Pass):
329
320
  is_imported: bool,
330
321
  """
331
322
  clean_body = [i for i in node.body if not isinstance(i, ast.AstImplOnlyNode)]
332
- pre_body = [*node.impl_mod.body, *clean_body] if node.impl_mod else clean_body
323
+ pre_body: list[ast.AstNode] = []
324
+ for pbody in node.impl_mod:
325
+ pre_body = [*pre_body, *pbody.body]
326
+ pre_body = [*pre_body, *clean_body]
333
327
  pre_body = [*pre_body, *node.test_mod.body] if node.test_mod else pre_body
334
328
  body = (
335
329
  [
@@ -648,8 +642,6 @@ class PyastGenPass(Pass):
648
642
  )
649
643
  )
650
644
  ]
651
- if node.alias:
652
- self.link_jac_py_nodes(jac_node=node.alias, py_nodes=node.gen.py_ast)
653
645
 
654
646
  def exit_module_item(self, node: ast.ModuleItem) -> None:
655
647
  """Sub objects.
@@ -776,9 +768,6 @@ class PyastGenPass(Pass):
776
768
  )
777
769
  )
778
770
  ]
779
- self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
780
- if isinstance(node.body, ast.ArchDef):
781
- self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
782
771
 
783
772
  def collect_events(
784
773
  self, node: ast.Architype
@@ -831,12 +820,6 @@ class PyastGenPass(Pass):
831
820
  doc: Optional[String],
832
821
  decorators: Optional[SubNodeList[ExprType]],
833
822
  """
834
- for i in node.target.archs:
835
- if i.sym_link:
836
- self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
837
- self.link_jac_py_nodes(
838
- jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
839
- )
840
823
 
841
824
  def exit_enum(self, node: ast.Enum) -> None:
842
825
  """Sub objects.
@@ -877,8 +860,6 @@ class PyastGenPass(Pass):
877
860
  )
878
861
  )
879
862
  ]
880
- if isinstance(node.body, ast.EnumDef):
881
- self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
882
863
 
883
864
  def exit_enum_def(self, node: ast.EnumDef) -> None:
884
865
  """Sub objects.
@@ -888,12 +869,6 @@ class PyastGenPass(Pass):
888
869
  doc: Optional[String],
889
870
  decorators: Optional[SubNodeList[ExprType]],
890
871
  """
891
- for i in node.target.archs:
892
- if i.sym_link:
893
- self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
894
- self.link_jac_py_nodes(
895
- jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
896
- )
897
872
 
898
873
  def exit_ability(self, node: ast.Ability) -> None:
899
874
  """Sub objects.
@@ -995,9 +970,6 @@ class PyastGenPass(Pass):
995
970
  )
996
971
  )
997
972
  ]
998
- self.link_jac_py_nodes(jac_node=node.name_ref, py_nodes=node.gen.py_ast)
999
- if isinstance(node.body, ast.AbilityDef):
1000
- self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
1001
973
 
1002
974
  def gen_llm_body(self, node: ast.Ability) -> list[ast3.AST]:
1003
975
  """Generate llm body."""
@@ -1291,15 +1263,6 @@ class PyastGenPass(Pass):
1291
1263
  doc: Optional[String],
1292
1264
  decorators: Optional[SubNodeList[ExprType]],
1293
1265
  """
1294
- for i in node.target.archs:
1295
- if i.sym_link:
1296
- self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
1297
- self.link_jac_py_nodes(
1298
- jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
1299
- )
1300
- if isinstance(node.parent, ast.Ability) and node.parent.signature:
1301
- # TODO: Here we need to do a link for each subnode to the original parent signature
1302
- pass
1303
1266
 
1304
1267
  def exit_func_signature(self, node: ast.FuncSignature) -> None:
1305
1268
  """Sub objects.
@@ -1464,7 +1427,6 @@ class PyastGenPass(Pass):
1464
1427
  )
1465
1428
  )
1466
1429
  ]
1467
- self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
1468
1430
 
1469
1431
  def exit_arch_has(self, node: ast.ArchHas) -> None:
1470
1432
  """Sub objects.
@@ -1720,8 +1682,6 @@ class PyastGenPass(Pass):
1720
1682
  )
1721
1683
  )
1722
1684
  ]
1723
- if node.name:
1724
- self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
1725
1685
 
1726
1686
  def exit_finally_stmt(self, node: ast.FinallyStmt) -> None:
1727
1687
  """Sub objects.
@@ -1829,9 +1789,6 @@ class PyastGenPass(Pass):
1829
1789
  )
1830
1790
  )
1831
1791
  ]
1832
- self.link_jac_py_nodes(jac_node=node.expr, py_nodes=node.gen.py_ast)
1833
- if node.alias:
1834
- self.link_jac_py_nodes(jac_node=node.alias, py_nodes=node.gen.py_ast)
1835
1792
 
1836
1793
  def exit_raise_stmt(self, node: ast.RaiseStmt) -> None:
1837
1794
  """Sub objects.
@@ -2089,7 +2046,6 @@ class PyastGenPass(Pass):
2089
2046
  jac_node=x,
2090
2047
  )
2091
2048
  )
2092
- self.link_jac_py_nodes(jac_node=x, py_nodes=[py_nodes[-1]])
2093
2049
  node.gen.py_ast = [*py_nodes]
2094
2050
 
2095
2051
  def exit_non_local_stmt(self, node: ast.NonLocalStmt) -> None:
@@ -2105,7 +2061,6 @@ class PyastGenPass(Pass):
2105
2061
  jac_node=x,
2106
2062
  )
2107
2063
  )
2108
- self.link_jac_py_nodes(jac_node=x, py_nodes=[py_nodes[-1]])
2109
2064
  node.gen.py_ast = [*py_nodes]
2110
2065
 
2111
2066
  def exit_assignment(self, node: ast.Assignment) -> None:
@@ -2647,8 +2602,6 @@ class PyastGenPass(Pass):
2647
2602
  )
2648
2603
  )
2649
2604
  ]
2650
- if node.key:
2651
- self.link_jac_py_nodes(jac_node=node.key, py_nodes=node.gen.py_ast)
2652
2605
 
2653
2606
  def exit_inner_compr(self, node: ast.InnerCompr) -> None:
2654
2607
  """Sub objects.
@@ -2758,9 +2711,6 @@ class PyastGenPass(Pass):
2758
2711
  )
2759
2712
  )
2760
2713
  ]
2761
- self.link_jac_py_nodes(
2762
- jac_node=node.right.sym_name_node, py_nodes=node.gen.py_ast
2763
- )
2764
2714
  else:
2765
2715
  self.error("Invalid attribute access")
2766
2716
  elif isinstance(node.right, ast.FilterCompr):
@@ -3025,7 +2975,6 @@ class PyastGenPass(Pass):
3025
2975
  for kw_pair in node.params.items
3026
2976
  if isinstance(kw_pair, ast.KWPair)
3027
2977
  ]
3028
- self.cout += 1
3029
2978
  else:
3030
2979
  inputs = []
3031
2980
 
@@ -0,0 +1,218 @@
1
+ """Jac to python ast link pass."""
2
+
3
+ import ast as ast3
4
+
5
+ import jaclang.compiler.absyntree as ast
6
+ from jaclang.compiler.passes import Pass
7
+
8
+
9
+ class PyJacAstLinkPass(Pass):
10
+ """Link jac ast to python ast nodes."""
11
+
12
+ def link_jac_py_nodes(
13
+ self, jac_node: ast.AstNode, py_nodes: list[ast3.AST]
14
+ ) -> None:
15
+ """Link jac name ast to py ast nodes."""
16
+ jac_node.gen.py_ast = py_nodes
17
+ for i in py_nodes:
18
+ if isinstance(i.jac_link, list): # type: ignore
19
+ i.jac_link.append(jac_node) # type: ignore
20
+
21
+ def exit_module_path(self, node: ast.ModulePath) -> None:
22
+ """Sub objects.
23
+
24
+ path: Sequence[Token],
25
+ alias: Optional[Name],
26
+ path_str: str,
27
+ """
28
+ if node.alias:
29
+ self.link_jac_py_nodes(jac_node=node.alias, py_nodes=node.gen.py_ast)
30
+
31
+ def exit_architype(self, node: ast.Architype) -> None:
32
+ """Sub objects.
33
+
34
+ name: Name,
35
+ arch_type: Token,
36
+ access: Optional[SubTag[Token]],
37
+ base_classes: Optional[SubNodeList[AtomType]],
38
+ body: Optional[SubNodeList[ArchBlockStmt] | ArchDef],
39
+ doc: Optional[String],
40
+ decorators: Optional[SubNodeList[ExprType]],
41
+ """
42
+ self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
43
+ if isinstance(node.body, ast.ArchDef):
44
+ self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
45
+
46
+ def exit_arch_def(self, node: ast.ArchDef) -> None:
47
+ """Sub objects.
48
+
49
+ target: ArchRefChain,
50
+ body: SubNodeList[ArchBlockStmt],
51
+ doc: Optional[String],
52
+ decorators: Optional[SubNodeList[ExprType]],
53
+ """
54
+ for i in node.target.archs:
55
+ if i.sym_link:
56
+ self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
57
+ self.link_jac_py_nodes(
58
+ jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
59
+ )
60
+
61
+ def exit_enum(self, node: ast.Enum) -> None:
62
+ """Sub objects.
63
+
64
+ name: Name,
65
+ access: Optional[SubTag[Token]],
66
+ base_classes: Optional[Optional[SubNodeList[AtomType]]],
67
+ body: Optional[SubNodeList[EnumBlockStmt] | EnumDef],
68
+ doc: Optional[String],
69
+ decorators: Optional[SubNodeList[ExprType]],
70
+ """
71
+ if isinstance(node.body, ast.EnumDef):
72
+ self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
73
+
74
+ def exit_enum_def(self, node: ast.EnumDef) -> None:
75
+ """Sub objects.
76
+
77
+ target: ArchRefChain,
78
+ body: SubNodeList[EnumBlockStmt],
79
+ doc: Optional[String],
80
+ decorators: Optional[SubNodeList[ExprType]],
81
+ """
82
+ for i in node.target.archs:
83
+ if i.sym_link:
84
+ self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
85
+ self.link_jac_py_nodes(
86
+ jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
87
+ )
88
+
89
+ def exit_ability(self, node: ast.Ability) -> None:
90
+ """Sub objects.
91
+
92
+ name_ref: NameType,
93
+ is_func: bool,
94
+ is_async: bool,
95
+ is_static: bool,
96
+ is_abstract: bool,
97
+ access: Optional[SubTag[Token]],
98
+ signature: Optional[FuncSignature | ExprType | EventSignature],
99
+ body: Optional[SubNodeList[CodeBlockStmt] | AbilityDef | FuncCall],
100
+ doc: Optional[String],
101
+ decorators: Optional[SubNodeList[ExprType]],
102
+ """
103
+ self.link_jac_py_nodes(jac_node=node.name_ref, py_nodes=node.gen.py_ast)
104
+ if isinstance(node.body, ast.AbilityDef):
105
+ self.link_jac_py_nodes(jac_node=node.body, py_nodes=node.gen.py_ast)
106
+
107
+ def exit_ability_def(self, node: ast.AbilityDef) -> None:
108
+ """Sub objects.
109
+
110
+ target: ArchRefChain,
111
+ signature: FuncSignature | EventSignature,
112
+ body: SubNodeList[CodeBlockStmt],
113
+ doc: Optional[String],
114
+ decorators: Optional[SubNodeList[ExprType]],
115
+ """
116
+ for i in node.target.archs:
117
+ if i.sym_link:
118
+ self.link_jac_py_nodes(jac_node=i, py_nodes=i.sym_link.decl.gen.py_ast)
119
+ self.link_jac_py_nodes(
120
+ jac_node=i.name_ref, py_nodes=i.sym_link.decl.gen.py_ast
121
+ )
122
+
123
+ if isinstance(node.parent, ast.Ability) and node.parent.signature:
124
+ if isinstance(node.signature, ast.FuncSignature) and node.signature.params:
125
+ for src_prm in node.signature.params.items:
126
+ if (
127
+ isinstance(node.parent.signature, ast.FuncSignature)
128
+ and node.parent.signature.params
129
+ ):
130
+ for trg_prm in node.parent.signature.params.items:
131
+ if src_prm.name.sym_name == trg_prm.name.sym_name:
132
+ self.link_jac_py_nodes(
133
+ jac_node=src_prm, py_nodes=trg_prm.gen.py_ast
134
+ )
135
+ self.link_jac_py_nodes(
136
+ jac_node=src_prm.name,
137
+ py_nodes=trg_prm.name.gen.py_ast,
138
+ )
139
+ if (
140
+ isinstance(node.signature, ast.FuncSignature)
141
+ and node.signature.return_type
142
+ ) and (
143
+ isinstance(node.parent.signature, ast.FuncSignature)
144
+ and node.parent.signature.return_type
145
+ ):
146
+ self.link_jac_py_nodes(
147
+ jac_node=node.signature.return_type,
148
+ py_nodes=node.parent.signature.return_type.gen.py_ast,
149
+ )
150
+
151
+ def exit_param_var(self, node: ast.ParamVar) -> None:
152
+ """Sub objects.
153
+
154
+ name: Name,
155
+ unpack: Optional[Token],
156
+ type_tag: SubTag[ExprType],
157
+ value: Optional[ExprType],
158
+ """
159
+ self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
160
+
161
+ def exit_except(self, node: ast.Except) -> None:
162
+ """Sub objects.
163
+
164
+ ex_type: ExprType,
165
+ name: Optional[Name],
166
+ body: SubNodeList[CodeBlockStmt],
167
+ """
168
+ if node.name:
169
+ self.link_jac_py_nodes(jac_node=node.name, py_nodes=node.gen.py_ast)
170
+
171
+ def exit_expr_as_item(self, node: ast.ExprAsItem) -> None:
172
+ """Sub objects.
173
+
174
+ expr: ExprType,
175
+ alias: Optional[ExprType],
176
+ """
177
+ self.link_jac_py_nodes(jac_node=node.expr, py_nodes=node.gen.py_ast)
178
+ if node.alias:
179
+ self.link_jac_py_nodes(jac_node=node.alias, py_nodes=node.gen.py_ast)
180
+
181
+ def exit_global_stmt(self, node: ast.GlobalStmt) -> None:
182
+ """Sub objects.
183
+
184
+ target: SubNodeList[NameType],
185
+ """
186
+ for x, y in enumerate(node.target.items):
187
+ self.link_jac_py_nodes(jac_node=y, py_nodes=[node.gen.py_ast[x]])
188
+
189
+ def exit_non_local_stmt(self, node: ast.NonLocalStmt) -> None:
190
+ """Sub objects.
191
+
192
+ target: SubNodeList[NameType],
193
+ """
194
+ for x, y in enumerate(node.target.items):
195
+ self.link_jac_py_nodes(jac_node=y, py_nodes=[node.gen.py_ast[x]])
196
+
197
+ def exit_k_w_pair(self, node: ast.KWPair) -> None:
198
+ """Sub objects.
199
+
200
+ key: NameType,
201
+ value: ExprType,
202
+ """
203
+ if node.key:
204
+ self.link_jac_py_nodes(jac_node=node.key, py_nodes=node.gen.py_ast)
205
+
206
+ def exit_atom_trailer(self, node: ast.AtomTrailer) -> None:
207
+ """Sub objects.
208
+
209
+ target: Expr,
210
+ right: AtomExpr | Expr,
211
+ is_attr: bool,
212
+ is_null_ok: bool,
213
+ is_genai: bool = False,
214
+ """
215
+ if node.is_attr and isinstance(node.right, ast.AstSymbolNode):
216
+ self.link_jac_py_nodes(
217
+ jac_node=node.right.sym_name_node, py_nodes=node.gen.py_ast
218
+ )
@@ -14,6 +14,7 @@ from .def_use_pass import DefUsePass # noqa: I100
14
14
  from .pyout_pass import PyOutPass # noqa: I100
15
15
  from .pybc_gen_pass import PyBytecodeGenPass # noqa: I100
16
16
  from .pyast_gen_pass import PyastGenPass # noqa: I100
17
+ from .pyjac_ast_link_pass import PyJacAstLinkPass # noqa: I100
17
18
  from .type_check_pass import JacTypeCheckPass # noqa: I100
18
19
  from .fuse_typeinfo_pass import FuseTypeInfoPass # noqa: I100
19
20
  from .registry_pass import RegistryPass # noqa: I100
@@ -28,6 +29,7 @@ py_code_gen = [
28
29
  DefUsePass,
29
30
  RegistryPass,
30
31
  PyastGenPass,
32
+ PyJacAstLinkPass,
31
33
  PyBytecodeGenPass,
32
34
  ]
33
35
 
@@ -217,9 +217,9 @@ class SymTabBuildPass(SymTabPass):
217
217
  else:
218
218
  self.cur_sym_tab.append(self.cur_scope().push_scope(name, key_node))
219
219
 
220
- def pop_scope(self) -> None:
220
+ def pop_scope(self) -> SymbolTable:
221
221
  """Pop scope."""
222
- self.cur_sym_tab.pop()
222
+ return self.cur_sym_tab.pop()
223
223
 
224
224
  def cur_scope(self) -> SymbolTable:
225
225
  """Return current scope."""
@@ -263,7 +263,13 @@ class SymTabBuildPass(SymTabPass):
263
263
  mod_path: str,
264
264
  is_imported: bool,
265
265
  """
266
- self.pop_scope()
266
+ s = self.pop_scope()
267
+ # If not the main module add all the other modules symbol table
268
+ # as a child to the current symbol table
269
+ if node != self.ir:
270
+ self.cur_scope().kid.append(s)
271
+ s.parent = self.cur_scope()
272
+
267
273
  if (
268
274
  isinstance(node.parent, ast.Module)
269
275
  and node
@@ -0,0 +1,3 @@
1
+ :can:baz {
2
+ print("baz");
3
+ }
@@ -0,0 +1,3 @@
1
+ :can:foo {
2
+ print("foo");
3
+ }
@@ -0,0 +1,9 @@
1
+ can foo;
2
+ can bar;
3
+ can baz;
4
+
5
+ with entry {
6
+ foo();
7
+ bar();
8
+ baz();
9
+ }
@@ -0,0 +1,3 @@
1
+ :can:bar {
2
+ print("bar");
3
+ }
@@ -0,0 +1,13 @@
1
+ """Test for base classes."""
2
+
3
+ import:jac from impl.imps, test_glob as mine;
4
+ include:jac impl.imps;
5
+
6
+ obj Test {
7
+ can init;
8
+ can say_hi;
9
+ }
10
+
11
+ with entry {
12
+ print(f"{mine}");
13
+ }
@@ -0,0 +1,14 @@
1
+ """Test for base classes."""
2
+
3
+ import:jac from impl.imps, test_glob as mine;
4
+
5
+ obj Test {
6
+ can init;
7
+ can say_hi;
8
+ }
9
+
10
+ with entry {
11
+ print(f"{mine}");
12
+ }
13
+
14
+ include:jac impl.imps;
@@ -0,0 +1,2 @@
1
+ can apple {
2
+ }
@@ -0,0 +1,31 @@
1
+ """Various samples to see code generated correctly"""
2
+
3
+ with entry {
4
+ a = (5 + 10) * 2;
5
+ {"name":"value" } |> (len |> print |> dump) |> say;
6
+ }
7
+
8
+ with entry {
9
+ a = (5 + 10) * 2;
10
+ {"name":"value" } |> (len |> print :> dump) |> say;
11
+ }
12
+
13
+ with entry {
14
+ len <| print <| print <| print <| {"name":"value" };
15
+ }
16
+
17
+ with entry {
18
+ (*args, **kwargs) |> self.func;
19
+ self.sig = func |> inspect.signature;
20
+ |> self.registry.items;
21
+ }
22
+
23
+ with entry {
24
+ with open("file.txt") as f, open("file2.txt") as f2 {}
25
+ }
26
+
27
+ enum Color {
28
+ RED=1,
29
+ GREEN,
30
+ BLUE=3
31
+ }
@@ -0,0 +1,10 @@
1
+ """Test for jac decls"""
2
+
3
+ include:jac impl.defs1;
4
+ include:jac impl.defs2;
5
+
6
+ obj MyObject {
7
+
8
+ can foo();
9
+ can bar();
10
+ }
@@ -0,0 +1,44 @@
1
+ """Separating Defs and Decls in a single File"""
2
+
3
+ # Declarations
4
+ can my_print(messag: str) -> str;
5
+
6
+ # Definitions
7
+ :can:my_print
8
+ (message: str) -> str {
9
+ output = f"from me: {message}";
10
+ print("from me: {message}");
11
+ return output;
12
+ }
13
+
14
+ # Declaration
15
+ obj MyPrinter {
16
+ has thing_to_print: str;
17
+ can my_print(messag: str) -> str; # method declaration
18
+ }
19
+
20
+ # Definition
21
+ :obj:MyPrinter:can:my_print
22
+ (message: str) -> str {
23
+ y = ".".join([i for i in range(10)]);
24
+ output = f"from me: {message} {y}";
25
+ print(f"from me: {output}");
26
+ return output;
27
+ }
28
+
29
+
30
+ # Decl/Def Combined
31
+ can your_print(messag: str) -> str {
32
+ output = f"from me: {message}";
33
+ print("from me: {message}");
34
+ return output;
35
+ }
36
+
37
+ # Decl/Def Combined
38
+ obj YourPrinter {
39
+ can your_print(messag: str) -> str {
40
+ output = f"from me: {messag}";
41
+ print("from me: {message}");
42
+ return output;
43
+ }
44
+ }
@@ -0,0 +1,4 @@
1
+ """Small test for fstrings."""
2
+
3
+
4
+ glob a=f"hello {40 + 2} wor{apple}ld ";
@@ -0,0 +1,18 @@
1
+ """Functions in Jac."""
2
+
3
+ import:jac from func2, factorial as factorial;
4
+
5
+ can factorial_recount(n: int) -> int {
6
+ count: str=0;
7
+ count+=1;
8
+ count |> print;
9
+ if n == 0 {
10
+ return 1;
11
+ } else {
12
+ return n * factorial(n - 1);
13
+ }
14
+ }
15
+
16
+ with entry {
17
+ print(factorial(3));
18
+ }
@@ -0,0 +1,8 @@
1
+ can factorial(n: int) -> str {
2
+ if n == 0 {
3
+ return 1;
4
+ } else {
5
+ return n * factorial(n - 1);
6
+ }
7
+ }
8
+
@@ -0,0 +1,15 @@
1
+ import:py random;
2
+ import:py from typing, Tuple;
3
+
4
+ obj Button {
5
+ can is_pressed(pos: tuple, pressed: str) -> bool {
6
+ return True;
7
+ }
8
+ }
9
+
10
+ can ttt() -> int {
11
+ b = Button();
12
+ a = random.randint(1, 10);
13
+ b.is_pressed((1, 2, 3), a);
14
+ return 0;
15
+ }
@@ -0,0 +1,8 @@
1
+ """Defs for test"""
2
+
3
+ :o:MyObject:c:foo() {
4
+ "hello" |> print;
5
+ }
6
+ :o:MyObject:c:bar() {
7
+ "hello" |> print;
8
+ }
@@ -0,0 +1,8 @@
1
+ """Defs for test"""
2
+
3
+ :o:MyObject:c:foo() {
4
+ "hello" |> print;
5
+ }
6
+ :o:MyObject:c:bar() {
7
+ "hello" |> print;
8
+ }
@@ -0,0 +1,11 @@
1
+ """Globals for test"""
2
+
3
+ glob test_glob = 56;
4
+
5
+ :o:Test:c:init {
6
+ "initializing" |> print;
7
+ }
8
+
9
+ :o:Test:c:say_hi {
10
+ "HI!" |> print;
11
+ }