jaclang 0.3.2__tar.gz → 0.3.3__tar.gz

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 (426) hide show
  1. {jaclang-0.3.2 → jaclang-0.3.3}/PKG-INFO +1 -1
  2. jaclang-0.3.3/jaclang/cli/__init__.py +8 -0
  3. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/core/__init__.py +1 -4
  4. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/core/__jac_gen__/corelib.py +243 -27
  5. jaclang-0.3.2/jaclang/core/corelib_impl.jac → jaclang-0.3.3/jaclang/core/corelib.jac +142 -28
  6. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/__jac_gen__/jac_parser.py +1 -1
  7. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang.egg-info/PKG-INFO +1 -1
  8. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang.egg-info/SOURCES.txt +0 -4
  9. {jaclang-0.3.2 → jaclang-0.3.3}/setup.py +1 -3
  10. jaclang-0.3.2/jaclang/cli/__init__.py +0 -11
  11. jaclang-0.3.2/jaclang/core/__jac_gen__/corelib_impl.py +0 -220
  12. jaclang-0.3.2/jaclang/core/corelib.jac +0 -115
  13. jaclang-0.3.2/jaclang/jac/tests/fixtures/__jac_gen__/hello_world.py +0 -5
  14. jaclang-0.3.2/jaclang/vendor/mypyc/transform/__init__.py +0 -0
  15. {jaclang-0.3.2 → jaclang-0.3.3}/README.md +0 -0
  16. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/__init__.py +0 -0
  17. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/__jac_gen__/__init__.py +0 -0
  18. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/__jac_gen__/cli.py +0 -0
  19. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/__jac_gen__/cli_impl.py +0 -0
  20. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/__jac_gen__/cmds.py +0 -0
  21. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/__jac_gen__/cmds_impl.py +0 -0
  22. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/cli.jac +0 -0
  23. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/cli_impl.jac +0 -0
  24. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/cmds.jac +0 -0
  25. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/cli/cmds_impl.jac +0 -0
  26. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/core/__jac_gen__/__init__.py +0 -0
  27. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/__init__.py +0 -0
  28. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/__jac_gen__/__init__.py +0 -0
  29. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/absyntree.py +0 -0
  30. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/codeloc.py +0 -0
  31. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/constant.py +0 -0
  32. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/importer.py +0 -0
  33. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/parser.py +0 -0
  34. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/__init__.py +0 -0
  35. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/ir_pass.py +0 -0
  36. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/__init__.py +0 -0
  37. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/def_impl_match_pass.py +0 -0
  38. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/def_use_pass.py +0 -0
  39. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/import_pass.py +0 -0
  40. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/pyast_gen_pass.py +0 -0
  41. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/pyast_load_pass.py +0 -0
  42. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/pyout_pass.py +0 -0
  43. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/schedules.py +0 -0
  44. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/sub_node_tab_pass.py +0 -0
  45. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/sym_tab_build_pass.py +0 -0
  46. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/__init__.py +0 -0
  47. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_decl_def_match_pass.py +0 -0
  48. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_def_use_pass.py +0 -0
  49. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_import_pass.py +0 -0
  50. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_jac_format_pass.py +0 -0
  51. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_pyast_build_pass.py +0 -0
  52. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_pyast_gen_pass.py +0 -0
  53. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_sub_node_pass.py +0 -0
  54. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_sym_tab_build_pass.py +0 -0
  55. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/tests/test_type_check_pass.py +0 -0
  56. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/main/type_check_pass.py +0 -0
  57. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/__init__.py +0 -0
  58. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/ast_printer_pass.py +0 -0
  59. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/fuse_comments_pass.py +0 -0
  60. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/jac_formatter_pass.py +0 -0
  61. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/schedules.py +0 -0
  62. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/sym_tab_printer_pass.py +0 -0
  63. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/tests/__init__.py +0 -0
  64. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/tests/test_ast_print_pass.py +0 -0
  65. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/tests/test_fuse_comments_pass.py +0 -0
  66. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/tool/tests/test_symtab_print_pass.py +0 -0
  67. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/transform.py +0 -0
  68. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/utils/__init__.py +0 -0
  69. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/passes/utils/mypy_ast_build.py +0 -0
  70. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/__init__.py +0 -0
  71. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/default.py +0 -0
  72. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/feature.py +0 -0
  73. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/spec.py +0 -0
  74. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/tests/__init__.py +0 -0
  75. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/plugin/tests/test_features.py +0 -0
  76. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/symtable.py +0 -0
  77. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/__init__.py +0 -0
  78. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/__init__.py +0 -0
  79. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/activity.py +0 -0
  80. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/fam.jac +0 -0
  81. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/hello_world.jac +0 -0
  82. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/kwesc.jac +0 -0
  83. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/mod_doc_test.jac +0 -0
  84. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/fixtures/stuff.jac +0 -0
  85. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/test_importer.py +0 -0
  86. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/test_parser.py +0 -0
  87. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/tests/test_workspace.py +0 -0
  88. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/transpiler.py +0 -0
  89. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/jac/workspace.py +0 -0
  90. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/__init__.py +0 -0
  91. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/helpers.py +0 -0
  92. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/lang_tools.py +0 -0
  93. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/log.py +0 -0
  94. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/test.py +0 -0
  95. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/tests/__init__.py +0 -0
  96. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/tests/test_lang_tools.py +0 -0
  97. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/utils/treeprinter.py +0 -0
  98. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/__init__.py +0 -0
  99. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/__init__.py +0 -0
  100. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/__pyinstaller/__init__.py +0 -0
  101. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/__pyinstaller/hook-lark.py +0 -0
  102. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/ast_utils.py +0 -0
  103. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/common.py +0 -0
  104. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/exceptions.py +0 -0
  105. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/grammar.py +0 -0
  106. {jaclang-0.3.2/jaclang/jac/tests/fixtures/__jac_gen__ → jaclang-0.3.3/jaclang/vendor/lark/grammars}/__init__.py +0 -0
  107. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/indenter.py +0 -0
  108. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/lark.py +0 -0
  109. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/lexer.py +0 -0
  110. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/load_grammar.py +0 -0
  111. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parse_tree_builder.py +0 -0
  112. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parser_frontends.py +0 -0
  113. {jaclang-0.3.2/jaclang/vendor/lark/grammars → jaclang-0.3.3/jaclang/vendor/lark/parsers}/__init__.py +0 -0
  114. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/cyk.py +0 -0
  115. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/earley.py +0 -0
  116. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/earley_common.py +0 -0
  117. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/earley_forest.py +0 -0
  118. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/grammar_analysis.py +0 -0
  119. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/lalr_analysis.py +0 -0
  120. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/lalr_interactive_parser.py +0 -0
  121. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/lalr_parser.py +0 -0
  122. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/lalr_parser_state.py +0 -0
  123. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/parsers/xearley.py +0 -0
  124. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/py.typed +0 -0
  125. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/reconstruct.py +0 -0
  126. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tools/__init__.py +0 -0
  127. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tools/nearley.py +0 -0
  128. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tools/serialize.py +0 -0
  129. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tools/standalone.py +0 -0
  130. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tree.py +0 -0
  131. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tree_matcher.py +0 -0
  132. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/tree_templates.py +0 -0
  133. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/utils.py +0 -0
  134. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/lark/visitors.py +0 -0
  135. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/__init__.py +0 -0
  136. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/__main__.py +0 -0
  137. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/api.py +0 -0
  138. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/applytype.py +0 -0
  139. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/argmap.py +0 -0
  140. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/binder.py +0 -0
  141. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/bogus_type.py +0 -0
  142. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/build.py +0 -0
  143. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/checker.py +0 -0
  144. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/checkexpr.py +0 -0
  145. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/checkmember.py +0 -0
  146. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/checkpattern.py +0 -0
  147. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/checkstrformat.py +0 -0
  148. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/config_parser.py +0 -0
  149. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/constant_fold.py +0 -0
  150. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/constraints.py +0 -0
  151. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/copytype.py +0 -0
  152. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/defaults.py +0 -0
  153. {jaclang-0.3.2/jaclang/vendor/lark/parsers → jaclang-0.3.3/jaclang/vendor/mypy/dmypy}/__init__.py +0 -0
  154. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/dmypy/__main__.py +0 -0
  155. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/dmypy/client.py +0 -0
  156. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/dmypy_os.py +0 -0
  157. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/dmypy_server.py +0 -0
  158. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/dmypy_util.py +0 -0
  159. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/erasetype.py +0 -0
  160. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/errorcodes.py +0 -0
  161. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/errors.py +0 -0
  162. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/evalexpr.py +0 -0
  163. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/expandtype.py +0 -0
  164. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/exprtotype.py +0 -0
  165. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/fastparse.py +0 -0
  166. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/find_sources.py +0 -0
  167. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/fixup.py +0 -0
  168. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/freetree.py +0 -0
  169. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/fscache.py +0 -0
  170. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/fswatcher.py +0 -0
  171. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/gclogger.py +0 -0
  172. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/git.py +0 -0
  173. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/graph_utils.py +0 -0
  174. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/indirection.py +0 -0
  175. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/infer.py +0 -0
  176. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/inspections.py +0 -0
  177. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/ipc.py +0 -0
  178. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/join.py +0 -0
  179. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/literals.py +0 -0
  180. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/lookup.py +0 -0
  181. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/main.py +0 -0
  182. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/maptype.py +0 -0
  183. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/meet.py +0 -0
  184. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/memprofile.py +0 -0
  185. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/message_registry.py +0 -0
  186. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/messages.py +0 -0
  187. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/metastore.py +0 -0
  188. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/mixedtraverser.py +0 -0
  189. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/modulefinder.py +0 -0
  190. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/moduleinspect.py +0 -0
  191. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/mro.py +0 -0
  192. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/nodes.py +0 -0
  193. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/operators.py +0 -0
  194. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/options.py +0 -0
  195. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/parse.py +0 -0
  196. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/partially_defined.py +0 -0
  197. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/patterns.py +0 -0
  198. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugin.py +0 -0
  199. {jaclang-0.3.2/jaclang/vendor/mypy/dmypy → jaclang-0.3.3/jaclang/vendor/mypy/plugins}/__init__.py +0 -0
  200. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/attrs.py +0 -0
  201. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/common.py +0 -0
  202. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/ctypes.py +0 -0
  203. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/dataclasses.py +0 -0
  204. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/default.py +0 -0
  205. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/enums.py +0 -0
  206. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/functools.py +0 -0
  207. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/proper_plugin.py +0 -0
  208. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/plugins/singledispatch.py +0 -0
  209. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/py.typed +0 -0
  210. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/pyinfo.py +0 -0
  211. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/reachability.py +0 -0
  212. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/refinfo.py +0 -0
  213. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/renaming.py +0 -0
  214. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/report.py +0 -0
  215. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/scope.py +0 -0
  216. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal.py +0 -0
  217. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_classprop.py +0 -0
  218. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_enum.py +0 -0
  219. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_infer.py +0 -0
  220. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_main.py +0 -0
  221. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_namedtuple.py +0 -0
  222. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_newtype.py +0 -0
  223. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_pass1.py +0 -0
  224. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_shared.py +0 -0
  225. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_typeargs.py +0 -0
  226. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/semanal_typeddict.py +0 -0
  227. {jaclang-0.3.2/jaclang/vendor/mypy/plugins → jaclang-0.3.3/jaclang/vendor/mypy/server}/__init__.py +0 -0
  228. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/astdiff.py +0 -0
  229. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/astmerge.py +0 -0
  230. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/aststrip.py +0 -0
  231. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/deps.py +0 -0
  232. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/mergecheck.py +0 -0
  233. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/objgraph.py +0 -0
  234. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/subexpr.py +0 -0
  235. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/target.py +0 -0
  236. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/trigger.py +0 -0
  237. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/server/update.py +0 -0
  238. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/sharedparse.py +0 -0
  239. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/solve.py +0 -0
  240. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/split_namespace.py +0 -0
  241. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/state.py +0 -0
  242. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stats.py +0 -0
  243. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/strconv.py +0 -0
  244. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubdoc.py +0 -0
  245. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubgen.py +0 -0
  246. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubgenc.py +0 -0
  247. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubinfo.py +0 -0
  248. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubtest.py +0 -0
  249. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/stubutil.py +0 -0
  250. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/subtypes.py +0 -0
  251. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/suggestions.py +0 -0
  252. {jaclang-0.3.2/jaclang/vendor/mypy/server → jaclang-0.3.3/jaclang/vendor/mypy/test}/__init__.py +0 -0
  253. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/config.py +0 -0
  254. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/data.py +0 -0
  255. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/helpers.py +0 -0
  256. {jaclang-0.3.2/jaclang/vendor/mypy/test → jaclang-0.3.3/jaclang/vendor/mypy/test/meta}/__init__.py +0 -0
  257. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/meta/_pytest.py +0 -0
  258. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/meta/test_diff_helper.py +0 -0
  259. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/meta/test_parse_data.py +0 -0
  260. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/meta/test_update_data.py +0 -0
  261. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/test_find_sources.py +0 -0
  262. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/test_ref_info.py +0 -0
  263. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testapi.py +0 -0
  264. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testargs.py +0 -0
  265. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testcheck.py +0 -0
  266. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testcmdline.py +0 -0
  267. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testconstraints.py +0 -0
  268. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testdaemon.py +0 -0
  269. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testdeps.py +0 -0
  270. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testdiff.py +0 -0
  271. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testerrorstream.py +0 -0
  272. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testfinegrained.py +0 -0
  273. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testfinegrainedcache.py +0 -0
  274. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testformatter.py +0 -0
  275. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testfscache.py +0 -0
  276. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testgraph.py +0 -0
  277. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testinfer.py +0 -0
  278. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testipc.py +0 -0
  279. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testmerge.py +0 -0
  280. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testmodulefinder.py +0 -0
  281. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testmypyc.py +0 -0
  282. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testparse.py +0 -0
  283. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testpep561.py +0 -0
  284. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testpythoneval.py +0 -0
  285. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testreports.py +0 -0
  286. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testsemanal.py +0 -0
  287. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testsolve.py +0 -0
  288. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/teststubgen.py +0 -0
  289. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/teststubinfo.py +0 -0
  290. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/teststubtest.py +0 -0
  291. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testsubtypes.py +0 -0
  292. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testtransform.py +0 -0
  293. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testtypegen.py +0 -0
  294. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testtypes.py +0 -0
  295. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/testutil.py +0 -0
  296. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/typefixture.py +0 -0
  297. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/update_data.py +0 -0
  298. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/test/visitors.py +0 -0
  299. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/traverser.py +0 -0
  300. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/treetransform.py +0 -0
  301. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/tvar_scope.py +0 -0
  302. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/type_visitor.py +0 -0
  303. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typeanal.py +0 -0
  304. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typeops.py +0 -0
  305. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/types.py +0 -0
  306. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/types_utils.py +0 -0
  307. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typestate.py +0 -0
  308. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typetraverser.py +0 -0
  309. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typevars.py +0 -0
  310. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/typevartuples.py +0 -0
  311. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/util.py +0 -0
  312. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/version.py +0 -0
  313. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy/visitor.py +0 -0
  314. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypy_extensions.py +0 -0
  315. {jaclang-0.3.2/jaclang/vendor/mypy/test/meta → jaclang-0.3.3/jaclang/vendor/mypyc}/__init__.py +0 -0
  316. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/__main__.py +0 -0
  317. {jaclang-0.3.2/jaclang/vendor/mypyc → jaclang-0.3.3/jaclang/vendor/mypyc/analysis}/__init__.py +0 -0
  318. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/analysis/attrdefined.py +0 -0
  319. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/analysis/blockfreq.py +0 -0
  320. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/analysis/dataflow.py +0 -0
  321. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/analysis/ircheck.py +0 -0
  322. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/analysis/selfleaks.py +0 -0
  323. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/build.py +0 -0
  324. {jaclang-0.3.2/jaclang/vendor/mypyc/analysis → jaclang-0.3.3/jaclang/vendor/mypyc/codegen}/__init__.py +0 -0
  325. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/cstring.py +0 -0
  326. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/emit.py +0 -0
  327. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/emitclass.py +0 -0
  328. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/emitfunc.py +0 -0
  329. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/emitmodule.py +0 -0
  330. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/emitwrapper.py +0 -0
  331. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/codegen/literals.py +0 -0
  332. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/common.py +0 -0
  333. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/crash.py +0 -0
  334. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/errors.py +0 -0
  335. {jaclang-0.3.2/jaclang/vendor/mypyc/codegen → jaclang-0.3.3/jaclang/vendor/mypyc/ir}/__init__.py +0 -0
  336. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/class_ir.py +0 -0
  337. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/func_ir.py +0 -0
  338. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/module_ir.py +0 -0
  339. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/ops.py +0 -0
  340. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/pprint.py +0 -0
  341. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/ir/rtypes.py +0 -0
  342. {jaclang-0.3.2/jaclang/vendor/mypyc/ir → jaclang-0.3.3/jaclang/vendor/mypyc/irbuild}/__init__.py +0 -0
  343. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/ast_helpers.py +0 -0
  344. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/builder.py +0 -0
  345. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/callable_class.py +0 -0
  346. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/classdef.py +0 -0
  347. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/constant_fold.py +0 -0
  348. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/context.py +0 -0
  349. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/env_class.py +0 -0
  350. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/expression.py +0 -0
  351. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/for_helpers.py +0 -0
  352. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +0 -0
  353. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/function.py +0 -0
  354. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/generator.py +0 -0
  355. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/ll_builder.py +0 -0
  356. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/main.py +0 -0
  357. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/mapper.py +0 -0
  358. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/match.py +0 -0
  359. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +0 -0
  360. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +0 -0
  361. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/prepare.py +0 -0
  362. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/specialize.py +0 -0
  363. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/statement.py +0 -0
  364. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/targets.py +0 -0
  365. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/util.py +0 -0
  366. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/visitor.py +0 -0
  367. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/irbuild/vtable.py +0 -0
  368. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/namegen.py +0 -0
  369. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/options.py +0 -0
  370. {jaclang-0.3.2/jaclang/vendor/mypyc/irbuild → jaclang-0.3.3/jaclang/vendor/mypyc/primitives}/__init__.py +0 -0
  371. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/bytes_ops.py +0 -0
  372. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/dict_ops.py +0 -0
  373. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/exc_ops.py +0 -0
  374. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/float_ops.py +0 -0
  375. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/generic_ops.py +0 -0
  376. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/int_ops.py +0 -0
  377. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/list_ops.py +0 -0
  378. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/misc_ops.py +0 -0
  379. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/registry.py +0 -0
  380. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/set_ops.py +0 -0
  381. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/str_ops.py +0 -0
  382. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/primitives/tuple_ops.py +0 -0
  383. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/rt_subtype.py +0 -0
  384. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/sametype.py +0 -0
  385. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/subtype.py +0 -0
  386. {jaclang-0.3.2/jaclang/vendor/mypyc/primitives → jaclang-0.3.3/jaclang/vendor/mypyc/test}/__init__.py +0 -0
  387. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/config.py +0 -0
  388. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_alwaysdefined.py +0 -0
  389. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_analysis.py +0 -0
  390. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_cheader.py +0 -0
  391. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_commandline.py +0 -0
  392. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_emit.py +0 -0
  393. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_emitclass.py +0 -0
  394. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_emitfunc.py +0 -0
  395. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_emitwrapper.py +0 -0
  396. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_exceptions.py +0 -0
  397. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_external.py +0 -0
  398. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_irbuild.py +0 -0
  399. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_ircheck.py +0 -0
  400. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_literals.py +0 -0
  401. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_namegen.py +0 -0
  402. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_pprint.py +0 -0
  403. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_rarray.py +0 -0
  404. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_refcount.py +0 -0
  405. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_run.py +0 -0
  406. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_serialization.py +0 -0
  407. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_struct.py +0 -0
  408. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_tuplename.py +0 -0
  409. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/test_typeops.py +0 -0
  410. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/test/testutil.py +0 -0
  411. {jaclang-0.3.2/jaclang/vendor/mypyc/test → jaclang-0.3.3/jaclang/vendor/mypyc/transform}/__init__.py +0 -0
  412. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/transform/exceptions.py +0 -0
  413. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/transform/refcount.py +0 -0
  414. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/mypyc/transform/uninit.py +0 -0
  415. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/__init__.py +0 -0
  416. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/_callers.py +0 -0
  417. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/_hooks.py +0 -0
  418. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/_manager.py +0 -0
  419. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/_result.py +0 -0
  420. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/_tracing.py +0 -0
  421. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/pluggy/py.typed +0 -0
  422. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang/vendor/typing_extensions.py +0 -0
  423. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang.egg-info/dependency_links.txt +0 -0
  424. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang.egg-info/entry_points.txt +0 -0
  425. {jaclang-0.3.2 → jaclang-0.3.3}/jaclang.egg-info/top_level.txt +0 -0
  426. {jaclang-0.3.2 → jaclang-0.3.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaclang
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Home-page: https://github.com/Jaseci-Labs/jaclang
5
5
  Author: Jason Mars
6
6
  Author-email: jason@jaseci.org
@@ -0,0 +1,8 @@
1
+ """CLI for jaclang."""
2
+ from jaclang import jac_import
3
+
4
+
5
+ cli = jac_import("cli")
6
+ cmds = jac_import("cmds")
7
+
8
+ cli.cmd_registry = cmds.cmd_reg # type: ignore
@@ -1,10 +1,7 @@
1
1
  """Core primitives for Jaseci."""
2
2
  from jaclang import jac_import
3
3
 
4
- try:
5
- from jaclang.core.__jac_gen__ import corelib
6
- except Exception:
7
- corelib = jac_import("corelib")
4
+ corelib = jac_import("corelib")
8
5
  if not corelib:
9
6
  raise ImportError("Could not import primitives, internal jaseci error")
10
7
 
@@ -1,15 +1,11 @@
1
1
  """Jac's Key Elemental Abstractions"""
2
2
  from __future__ import annotations
3
3
  from enum import Enum as __jac_Enum__, auto as __jac_auto__
4
- from jaclang import jac_import as __jac_import__
5
4
  from jaclang.jac.plugin.feature import JacFeature as _JacFeature
6
5
  from datetime import datetime
7
6
  from uuid import UUID, uuid4
8
7
  from jaclang.jac.constant import EdgeDir
9
8
  from jaclang.jac.plugin import Architype, AbsRootHook, hookimpl
10
- __jac_import__(target='corelib_impl', base_path=__file__)
11
- from corelib_impl import *
12
- import corelib_impl
13
9
 
14
10
  class AccessMode(__jac_Enum__):
15
11
  READ_ONLY = __jac_auto__()
@@ -74,6 +70,7 @@ exec_ctx = ExecutionContext()
74
70
 
75
71
  @_JacFeature.make_architype('obj')
76
72
  class ElementInterface:
73
+ ob: object
77
74
  (jid): UUID = uuid4()
78
75
  (timestamp): datetime = datetime.now()
79
76
  (persist): bool = False
@@ -167,7 +164,7 @@ class NodeInterface(DataSpatialInterface):
167
164
  return ret_nodes
168
165
 
169
166
  def __call__(self, walk: Walker) -> None:
170
- if not isinstance(walk, Walker):
167
+ if not isinstance(walk._jac_, WalkerInterface):
171
168
  raise TypeError('Argument must be a Walker instance')
172
169
  walk(self)
173
170
 
@@ -227,63 +224,282 @@ class WalkerInterface(DataSpatialInterface):
227
224
  self.disengaged = True
228
225
 
229
226
  def __call__(self, nd: Node) -> None:
230
- self._jac_.path = []
231
- self._jac_.next = [nd]
227
+ self.path = []
228
+ self.next = [nd]
232
229
  walker_type = self.__class__.__name__
233
- while len(self._jac_.next):
234
- nd = self._jac_.next.pop(0)
230
+ while len(self.next):
231
+ nd = self.next.pop(0)
235
232
  node_type = nd.__class__.__name__
236
- for i in nd._jac_ds_.ds_entry_funcs:
233
+ for i in nd.ds_entry_funcs:
237
234
  if i['func'].__qualname__.split('.')[0] == node_type and type(self) in i['types']:
238
235
  i['func'](nd, self)
239
- if self._jac_.disengaged:
236
+ if self.disengaged:
240
237
  return
241
- for i in self._jac_ds_.ds_entry_funcs:
238
+ for i in self.ds_entry_funcs:
242
239
  if i['func'].__qualname__.split('.')[0] == walker_type and (type(nd) in i['types'] or nd in i['types']):
243
240
  i['func'](self, nd)
244
- if self._jac_.disengaged:
241
+ if self.disengaged:
245
242
  return
246
- for i in self._jac_ds_.ds_exit_funcs:
243
+ for i in self.ds_exit_funcs:
247
244
  if i['func'].__qualname__.split('.')[0] == walker_type and (type(nd) in i['types'] or nd in i['types']):
248
245
  i['func'](self, nd)
249
- if self._jac_.disengaged:
246
+ if self.disengaged:
250
247
  return
251
- for i in nd._jac_ds_.ds_exit_funcs:
248
+ for i in nd.ds_exit_funcs:
252
249
  if i['func'].__qualname__.split('.')[0] == node_type and type(self) in i['types']:
253
250
  i['func'](nd, self)
254
- if self._jac_.disengaged:
251
+ if self.disengaged:
255
252
  return
256
- self._jac_.path.append(nd)
257
- self._jac_.ignores = []
253
+ self.path.append(nd)
254
+ self.ignores = []
258
255
 
259
256
  @_JacFeature.make_architype('obj')
260
257
  class Root(AbsRootHook):
261
- _jac_: NodeInterface
262
258
  RootType: type
259
+ (_jac_): NodeInterface | None = None
260
+
261
+ def __post_init__(self) -> None:
262
+ self._jac_ = NodeInterface(self)
263
263
 
264
264
  @_JacFeature.make_architype('obj')
265
265
  class Master:
266
- (_jac_): ElementInterface = ElementInterface()
267
- (root_node): Root = Root(NodeInterface(), Root)
266
+ (_jac_): ElementInterface | None = None
267
+ (root_node): Root = Root(Root)
268
+
269
+ def __post_init__(self) -> None:
270
+ self._jac_ = ElementInterface(self)
268
271
 
269
272
  @_JacFeature.make_architype('obj')
270
273
  class JacPlugin:
271
274
 
272
275
  @staticmethod
276
+ @hookimpl
273
277
  def bind_architype(arch: AT, arch_type: str) -> bool:
274
278
  match arch_type:
275
279
  case 'obj':
276
- arch._jac_ = ObjectInterface()
280
+ arch._jac_ = ObjectInterface(arch)
277
281
  case 'node':
278
- arch._jac_ = NodeInterface()
282
+ arch._jac_ = NodeInterface(arch)
279
283
  case 'edge':
280
- arch._jac_ = EdgeInterface()
284
+ arch._jac_ = EdgeInterface(arch)
281
285
  case 'walker':
282
- arch._jac_ = WalkerInterface()
286
+ arch._jac_ = WalkerInterface(arch)
283
287
  case _:
284
288
  raise TypeError('Invalid archetype type')
285
289
  return True
286
290
 
287
291
  @staticmethod
292
+ @hookimpl
288
293
  def get_root() -> Architype:
289
- return exec_ctx.get_root()
294
+ return exec_ctx.get_root()
295
+
296
+ def o_Memory_c_get_obj(self, caller_id: UUID, item_id: UUID, override: bool=False) -> Element:
297
+ ret = self.index.get(item_id)
298
+ if override or ret.__is_readable(ret is not None and caller_id):
299
+ return ret
300
+
301
+ def o_Memory_c_has_obj(self, item_id: UUID) -> bool:
302
+ return item_id in self.index
303
+
304
+ def o_Memory_c_save_obj(self, caller_id: UUID, item: Element) -> None:
305
+ if item.is_writable(caller_id):
306
+ self.index[item.id] = item
307
+ if item._persist:
308
+ self.save_obj_list.add(item)
309
+ self.mem[item.id] = item
310
+ if item._persist:
311
+ self.save_obj_list.add(item)
312
+
313
+ def o_Memory_c_del_obj(self, caller_id: UUID, item: Element) -> None:
314
+ if item.is_writable(caller_id):
315
+ self.index.pop(item.id)
316
+ if item._persist:
317
+ self.save_obj_list.remove(item)
318
+
319
+ def o_Memory_c_get_object_distribution(self) -> dict:
320
+ dist = {}
321
+ for i in self.index.keys():
322
+ t = type(self.index[i])
323
+ if t in dist:
324
+ dist[t] += 1
325
+ else:
326
+ dist[t] = 1
327
+ return dist
328
+
329
+ def o_Memory_c_get_mem_size(self) -> float:
330
+ return sys.getsizeof(self.index) / 1024.0
331
+
332
+ def o_ExecutionContext_c_get_root(self) -> None:
333
+ if type(self.master) == UUID:
334
+ self.master = Master()
335
+ return self.master.root_node
336
+
337
+ def o_ExecutionContext_c_reset(self) -> None:
338
+ self.__init__()
339
+
340
+ class e_AccessMode(__jac_Enum__):
341
+ READ_ONLY = __jac_auto__()
342
+ READ_WRITE = __jac_auto__()
343
+ PRIVATE = __jac_auto__()
344
+
345
+ def o_ElementInterface_c_make_public_ro(self) -> None:
346
+ self.__jinfo.access_mode = AccessMode.READ_ONLY
347
+
348
+ def o_ElementInterface_c_make_public_rw(self) -> None:
349
+ self.__jinfo.access_mode = AccessMode.READ_WRITE
350
+
351
+ def o_ElementInterface_c_make_private(self) -> None:
352
+ self.__jinfo.access_mode = AccessMode.PRIVATE
353
+
354
+ def o_ElementInterface_c_is_public_ro(self) -> bool:
355
+ return self.__jinfo.access_mode == AccessMode.READ_ONLY
356
+
357
+ def o_ElementInterface_c_is_public_rw(self) -> bool:
358
+ return self.__jinfo.access_mode == AccessMode.READ_WRITE
359
+
360
+ def o_ElementInterface_c_is_private(self) -> bool:
361
+ return self.__jinfo.access_mode == AccessMode.PRIVATE
362
+
363
+ def o_ElementInterface_c_is_readable(self, caller_id: UUID) -> bool:
364
+ return caller_id == self.owner_id or (self.is_public_read() or (caller_id in self.ro_access or caller_id in self.rw_access))
365
+
366
+ def o_ElementInterface_c_is_writable(self, caller_id: UUID) -> bool:
367
+ return caller_id == self.owner_id or (self.is_public_write() or caller_id in self.rw_access)
368
+
369
+ def o_ElementInterface_c_give_access(self, caller_id: UUID, read_write: bool=False) -> None:
370
+ if read_write:
371
+ self.rw_access.add(caller_id)
372
+ else:
373
+ add.ro_access.self(caller_id)
374
+
375
+ def o_ElementInterface_c_revoke_access(self, caller_id: UUID) -> None:
376
+ self.ro_access.discard(caller_id)
377
+ self.rw_access.discard(caller_id)
378
+
379
+ def o_DataSpatialInterface_c_on_entry(cls: type, triggers: list) -> None:
380
+
381
+ def decorator(func: callable) -> callable:
382
+ cls.ds_entry_funcs.append({'types': triggers, 'func': func})
383
+
384
+ def wrapper(*args: list, **kwargs: dict) -> callable:
385
+ return func(*args, **kwargs)
386
+ return wrapper
387
+ return decorator
388
+
389
+ def o_DataSpatialInterface_c_on_exit(cls: type, triggers: list) -> None:
390
+
391
+ def decorator(func: callable) -> callable:
392
+ cls.ds_exit_funcs.append({'types': triggers, 'func': func})
393
+
394
+ def wrapper(*args: list, **kwargs: dict) -> callable:
395
+ return func(*args, **kwargs)
396
+ return wrapper
397
+ return decorator
398
+
399
+ def o_NodeInterface_c_connect_node(self, nd: Node, edg: Edge) -> Node:
400
+ edg.attach(self.py_obj, nd)
401
+ return self
402
+
403
+ def o_NodeInterface_c_edges_to_nodes(self, dir: EdgeDir) -> list[Node]:
404
+ ret_nodes = []
405
+ if dir in [EdgeDir.OUT, EdgeDir.ANY]:
406
+ for i in self.edges[EdgeDir.OUT]:
407
+ ret_nodes.append(i.target)
408
+ elif dir in [EdgeDir.IN, EdgeDir.ANY]:
409
+ for i in self.edges[EdgeDir.IN]:
410
+ ret_nodes.append(i.source)
411
+ return ret_nodes
412
+
413
+ def o_EdgeInterface_c_apply_dir(self, dir: EdgeDir) -> Edge:
414
+ self.dir = dir
415
+ return self
416
+
417
+ def o_EdgeInterface_c_attach(self, src: Node, trg: Node) -> Edge:
418
+ if self.dir == EdgeDir.IN:
419
+ self.source = trg
420
+ self.target = src
421
+ src._jac_.edges[EdgeDir.IN].append(self)
422
+ trg._jac_.edges[EdgeDir.OUT].append(self)
423
+ else:
424
+ self.source = src
425
+ self.target = trg
426
+ src._jac_.edges[EdgeDir.OUT].append(self)
427
+ trg._jac_.edges[EdgeDir.IN].append(self)
428
+ return self
429
+
430
+ def o_WalkerInterface_c_visit_node(self, nds: list[Node] | (list[Edge] | (Node | Edge))) -> None:
431
+ if isinstance(nds, list):
432
+ for i in nds:
433
+ if i not in self.ignores:
434
+ self.next.append(i)
435
+ elif nds not in self.ignores:
436
+ self.next.append(nds)
437
+ return len(nds) if isinstance(nds, list) else 1
438
+
439
+ def o_WalkerInterface_c_ignore_node(self, nds: list[Node] | (list[Edge] | (Node | Edge))) -> None:
440
+ if isinstance(nds, list):
441
+ for i in nds:
442
+ self.ignores.append(i)
443
+ else:
444
+ self.ignores.append(nds)
445
+
446
+ def o_WalkerInterface_c_disengage_now(self) -> None:
447
+ self.next = []
448
+ self.disengaged = True
449
+
450
+ def o_NodeInterface_c___call__(self, walk: object) -> None:
451
+ if not isinstance(walk._jac_, WalkerInterface):
452
+ raise TypeError('Argument must be a Walker instance')
453
+ walk(self)
454
+
455
+ def o_EdgeInterface_c___call__(self, walk: Walker) -> None:
456
+ if not isinstance(walk, Walker):
457
+ raise TypeError('Argument must be a Walker instance')
458
+ walk(self._jac_.target)
459
+
460
+ def o_WalkerInterface_c___call__(self, nd: Node) -> None:
461
+ self.path = []
462
+ self.next = [nd]
463
+ walker_type = self.__class__.__name__
464
+ while len(self.next):
465
+ nd = self.next.pop(0)
466
+ node_type = nd.__class__.__name__
467
+ for i in nd.ds_entry_funcs:
468
+ if i['func'].__qualname__.split('.')[0] == node_type and type(self) in i['types']:
469
+ i['func'](nd, self)
470
+ if self.disengaged:
471
+ return
472
+ for i in self.ds_entry_funcs:
473
+ if i['func'].__qualname__.split('.')[0] == walker_type and (type(nd) in i['types'] or nd in i['types']):
474
+ i['func'](self, nd)
475
+ if self.disengaged:
476
+ return
477
+ for i in self.ds_exit_funcs:
478
+ if i['func'].__qualname__.split('.')[0] == walker_type and (type(nd) in i['types'] or nd in i['types']):
479
+ i['func'](self, nd)
480
+ if self.disengaged:
481
+ return
482
+ for i in nd.ds_exit_funcs:
483
+ if i['func'].__qualname__.split('.')[0] == node_type and type(self) in i['types']:
484
+ i['func'](nd, self)
485
+ if self.disengaged:
486
+ return
487
+ self.path.append(nd)
488
+ self.ignores = []
489
+
490
+ def o_JacPlugin_c_bind_architype(arch: AT, arch_type: str) -> bool:
491
+ match arch_type:
492
+ case 'obj':
493
+ arch._jac_ = ObjectInterface(arch)
494
+ case 'node':
495
+ arch._jac_ = NodeInterface(arch)
496
+ case 'edge':
497
+ arch._jac_ = EdgeInterface(arch)
498
+ case 'walker':
499
+ arch._jac_ = WalkerInterface(arch)
500
+ case _:
501
+ raise TypeError('Invalid archetype type')
502
+ return True
503
+
504
+ def o_JacPlugin_c_get_root() -> None:
505
+ return exec_ctx.get_root()
@@ -1,9 +1,124 @@
1
1
  """Jac's Key Elemental Abstractions"""
2
2
 
3
- import:py sys;
3
+ import:py from datetime, datetime;
4
4
  import:py from uuid, UUID, uuid4;
5
5
  import:py from jaclang.jac.constant, EdgeDir;
6
- import:py from jaclang.jac.plugin, hookimpl;
6
+ import:py from jaclang.jac.plugin, Architype, AbsRootHook, hookimpl;
7
+
8
+ enum AccessMode;
9
+
10
+ obj Memory {
11
+ has index: dict[UUID, Element] = {},
12
+ save_queue: list[Element] = [];
13
+
14
+ #* Main Accessors *#
15
+ can get_obj(caller_id: UUID, item_id: UUID,
16
+ override: bool = False) -> Element;
17
+ can has_obj(item_id: UUID) -> bool;
18
+ can save_obj(caller_id: UUID, item: Element);
19
+ can del_obj(caller_id: UUID, item: Element);
20
+
21
+ #* Utility Functions *#
22
+ can get_object_distribution -> dict;
23
+ can get_mem_size -> float;
24
+ }
25
+
26
+ obj ExecutionContext {
27
+ has master: Master = :>uuid4,
28
+ memory: Memory = Memory();
29
+
30
+ can reset;
31
+ can get_root() -> Node;
32
+ }
33
+
34
+ "Global Execution Context, should be monkey patched by the user."
35
+ glob exec_ctx = ExecutionContext();
36
+
37
+ obj ElementInterface {
38
+ has ob: object,
39
+ jid: UUID = :>uuid4,
40
+ timestamp: datetime = :>datetime.now,
41
+ persist: bool = False,
42
+ access_mode: AccessMode = AccessMode.PRIVATE,
43
+ rw_access: set = :>set,
44
+ ro_access: set = :>set,
45
+ owner_id: UUID = exec_ctx.master,
46
+ mem: Memory = exec_ctx.memory;
47
+
48
+ can make_public_ro;
49
+ can make_public_rw;
50
+ can make_private;
51
+ can is_public_ro -> bool;
52
+ can is_public_rw -> bool;
53
+ can is_private -> bool;
54
+ can is_readable(caller_id: UUID) -> bool;
55
+ can is_writable(caller_id: UUID) -> bool;
56
+ can give_access(caller_id: UUID, read_write: bool = False);
57
+ can revoke_access(caller_id: UUID);
58
+ }
59
+
60
+ obj ObjectInterface:ElementInterface: {}
61
+
62
+ obj DataSpatialInterface:ObjectInterface: {
63
+ static has ds_entry_funcs: list[dict]=[],
64
+ ds_exit_funcs: list[dict]=[];
65
+
66
+ static can on_entry(cls: type, triggers: list[type]);
67
+ static can on_exit(cls: type, triggers: list[type]);
68
+ }
69
+
70
+ obj NodeInterface:DataSpatialInterface: {
71
+ has edges: dict[EdgeDir, list[Edge]]
72
+ = {EdgeDir.IN: [], EdgeDir.OUT: []};
73
+
74
+ can connect_node(nd: Node, edg: Edge) -> Node;
75
+ can edges_to_nodes(dir: EdgeDir) -> list[Node];
76
+ can __call__(walk: Walker);
77
+ }
78
+
79
+ obj EdgeInterface:DataSpatialInterface: {
80
+ has source: Node = None,
81
+ target: Node = None,
82
+ dir: EdgeDir = None;
83
+
84
+ can apply_dir(dir: EdgeDir) -> Edge;
85
+ can attach(src: Node, trg: Node) -> Edge;
86
+ can __call__(walk: Walker);
87
+ }
88
+
89
+ obj WalkerInterface:DataSpatialInterface: {
90
+ has path: list[Node] = [],
91
+ next: list[Node] = [],
92
+ ignores: list[Node] = [],
93
+ disengaged: bool = False;
94
+
95
+ can visit_node(nds: list[Node]|list[Edge]|Node|Edge);
96
+ can ignore_node(nds: list[Node]|list[Edge]|Node|Edge);
97
+ can disengage_now;
98
+ can __call__(nd: Node);
99
+ }
100
+ obj Root:AbsRootHook: {
101
+ has RootType: type;
102
+ has _jac_: NodeInterface|None = None;
103
+ can <pi> {
104
+ <self>._jac_ = NodeInterface(<self>);
105
+ }
106
+ }
107
+
108
+ obj Master {
109
+ has _jac_: ElementInterface|None = None;
110
+ has root_node: Root = Root(Root);
111
+ can <pi> {
112
+ <self>._jac_ = ElementInterface(<self>);
113
+ }
114
+ }
115
+
116
+ obj JacPlugin {
117
+ @hookimpl
118
+ static can bind_architype(arch: AT, arch_type: str) -> bool;
119
+ @hookimpl
120
+ static can get_root() -> Architype;
121
+ }
7
122
 
8
123
  :obj:Memory:can:get_obj
9
124
  (caller_id: UUID, item_id: UUID, override: bool = False) -> Element {
@@ -234,11 +349,11 @@ import:py from jaclang.jac.plugin, hookimpl;
234
349
 
235
350
 
236
351
  :obj:NodeInterface:can:__call__
237
- (walk: Walker) {
238
- if not (walk, Walker) :> isinstance {
239
- raise ("Argument must be a Walker instance") :> TypeError;
352
+ (walk: object) {
353
+ if not isinstance(walk._jac_, WalkerInterface) {
354
+ raise TypeError("Argument must be a Walker instance");
240
355
  }
241
- <self> :> walk;
356
+ walk(<self>);
242
357
  }
243
358
 
244
359
 
@@ -252,65 +367,64 @@ import:py from jaclang.jac.plugin, hookimpl;
252
367
 
253
368
  :obj:WalkerInterface:can:__call__
254
369
  (nd: Node) {
255
- <self>._jac_.path = [];
256
- <self>._jac_.next = [nd];
370
+ <self>.path = [];
371
+ <self>.next = [nd];
257
372
  walker_type = <self>.__class__.__name__;
258
- while <self>._jac_.next :> len {
259
- nd = 0 :> <self>._jac_.next.pop;
373
+ while <self>.next :> len {
374
+ nd = 0 :> <self>.next.pop;
260
375
  node_type = nd.__class__.__name__;
261
376
 
262
- for i in nd._jac_ds_.ds_entry_funcs {
377
+ for i in nd.ds_entry_funcs {
263
378
  if i['func'].__qualname__.split(".")[0] == node_type and
264
379
  <self>:>type in i['types'] {
265
380
  (nd, <self>) :> i['func'];
266
381
  }
267
- if <self>._jac_.disengaged {return;}
382
+ if <self>.disengaged {return;}
268
383
  }
269
- for i in <self>._jac_ds_.ds_entry_funcs {
384
+ for i in <self>.ds_entry_funcs {
270
385
  if i['func'].__qualname__.split(".")[0] == walker_type and
271
386
  (nd:>type in i['types'] or nd in i['types']) { # if nd==root direct chec
272
- (<self>, nd) :> i['func'];
387
+ i['func'](<self>, nd);
273
388
  }
274
- if <self>._jac_.disengaged {return;}
389
+ if <self>.disengaged {return;}
275
390
  }
276
- for i in <self>._jac_ds_.ds_exit_funcs {
391
+ for i in <self>.ds_exit_funcs {
277
392
  if i['func'].__qualname__.split(".")[0] == walker_type and
278
393
  (nd:>type in i['types'] or nd in i['types']) {
279
- (<self>, nd) :> i['func'];
394
+ i['func'](<self>, nd);
280
395
  }
281
- if <self>._jac_.disengaged {return;}
396
+ if <self>.disengaged {return;}
282
397
  }
283
- for i in nd._jac_ds_.ds_exit_funcs {
398
+ for i in nd.ds_exit_funcs {
284
399
  if i['func'].__qualname__.split(".")[0] == node_type and
285
400
  <self>:>type in i['types'] {
286
401
  (nd, <self>) :> i['func'];
287
402
  }
288
- if <self>._jac_.disengaged {return;}
403
+ if <self>.disengaged {return;}
289
404
  }
290
- nd :> <self>._jac_.path.append;
405
+ nd :> <self>.path.append;
291
406
  }
292
- <self>._jac_.ignores=[];
407
+ <self>.ignores=[];
293
408
  }
294
409
 
295
- @hookimpl
410
+
296
411
  :obj:JacPlugin:can:bind_architype
297
412
  (arch: AT, arch_type: str) -> bool {
298
413
  match arch_type {
299
414
  case 'obj':
300
- arch._jac_ = ObjectInterface();
415
+ arch._jac_ = ObjectInterface(arch);
301
416
  case 'node':
302
- arch._jac_ = NodeInterface();
417
+ arch._jac_ = NodeInterface(arch);
303
418
  case 'edge':
304
- arch._jac_ = EdgeInterface();
419
+ arch._jac_ = EdgeInterface(arch);
305
420
  case 'walker':
306
- arch._jac_ = WalkerInterface();
421
+ arch._jac_ = WalkerInterface(arch);
307
422
  case _:
308
423
  raise ("Invalid archetype type") :> TypeError;
309
424
  }
310
425
  return True;
311
426
  }
312
427
 
313
- @hookimpl
314
428
  :obj:JacPlugin:can:get_root
315
429
  () -> None {
316
430
  return exec_ctx.get_root();