jaclang 0.8.6__py3-none-any.whl → 0.8.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jaclang might be problematic. Click here for more details.
- jaclang/cli/cli.md +3 -3
- jaclang/cli/cli.py +37 -37
- jaclang/cli/cmdreg.py +45 -140
- jaclang/compiler/constant.py +0 -1
- jaclang/compiler/jac.lark +3 -6
- jaclang/compiler/larkparse/jac_parser.py +2 -2
- jaclang/compiler/parser.py +213 -34
- jaclang/compiler/passes/main/__init__.py +2 -4
- jaclang/compiler/passes/main/def_use_pass.py +0 -4
- jaclang/compiler/passes/main/predynamo_pass.py +221 -0
- jaclang/compiler/passes/main/pyast_gen_pass.py +83 -55
- jaclang/compiler/passes/main/pyast_load_pass.py +66 -40
- jaclang/compiler/passes/main/sym_tab_build_pass.py +1 -1
- jaclang/compiler/passes/main/tests/fixtures/checker/import_sym.jac +2 -0
- jaclang/compiler/passes/main/tests/fixtures/checker/import_sym_test.jac +6 -0
- jaclang/compiler/passes/main/tests/fixtures/checker/imported_sym.jac +5 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_arg_param_match.jac +37 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_arity.jac +18 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_binary_op.jac +21 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_call_expr_class.jac +12 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_cat_is_animal.jac +18 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_cyclic_symbol.jac +4 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_expr_call.jac +9 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_float.jac +7 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_import_missing_module.jac +13 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_magic_call.jac +17 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_mod_path.jac +8 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_param_types.jac +11 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_self_type.jac +9 -0
- jaclang/compiler/passes/main/tests/fixtures/checker_sym_inherit.jac +42 -0
- jaclang/compiler/passes/main/tests/fixtures/predynamo_fix3.jac +43 -0
- jaclang/compiler/passes/main/tests/fixtures/predynamo_where_assign.jac +13 -0
- jaclang/compiler/passes/main/tests/fixtures/predynamo_where_return.jac +11 -0
- jaclang/compiler/passes/main/tests/test_checker_pass.py +265 -0
- jaclang/compiler/passes/main/tests/test_predynamo_pass.py +57 -0
- jaclang/compiler/passes/main/type_checker_pass.py +36 -61
- jaclang/compiler/passes/tool/doc_ir_gen_pass.py +204 -44
- jaclang/compiler/passes/tool/jac_formatter_pass.py +119 -69
- jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +3 -3
- jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/triple_quoted_string.jac +4 -5
- jaclang/compiler/passes/tool/tests/fixtures/tagbreak.jac +171 -11
- jaclang/compiler/passes/transform.py +12 -8
- jaclang/compiler/program.py +14 -6
- jaclang/compiler/tests/fixtures/jac_import_py_files.py +4 -0
- jaclang/compiler/tests/fixtures/jac_module.jac +3 -0
- jaclang/compiler/tests/fixtures/multiple_syntax_errors.jac +10 -0
- jaclang/compiler/tests/fixtures/python_module.py +1 -0
- jaclang/compiler/tests/test_importer.py +39 -0
- jaclang/compiler/tests/test_parser.py +49 -0
- jaclang/compiler/type_system/operations.py +104 -0
- jaclang/compiler/type_system/type_evaluator.py +470 -47
- jaclang/compiler/type_system/type_utils.py +246 -0
- jaclang/compiler/type_system/types.py +58 -2
- jaclang/compiler/unitree.py +79 -94
- jaclang/langserve/engine.jac +253 -230
- jaclang/langserve/server.jac +46 -15
- jaclang/langserve/tests/fixtures/circle.jac +3 -3
- jaclang/langserve/tests/fixtures/circle_err.jac +3 -3
- jaclang/langserve/tests/fixtures/circle_pure.test.jac +3 -3
- jaclang/langserve/tests/fixtures/completion_test_err.jac +10 -0
- jaclang/langserve/tests/server_test/circle_template.jac +80 -0
- jaclang/langserve/tests/server_test/glob_template.jac +4 -0
- jaclang/langserve/tests/server_test/test_lang_serve.py +154 -312
- jaclang/langserve/tests/server_test/utils.py +153 -116
- jaclang/langserve/tests/test_dev_server.py +1 -1
- jaclang/langserve/tests/test_server.py +30 -86
- jaclang/langserve/utils.jac +56 -63
- jaclang/runtimelib/machine.py +7 -0
- jaclang/runtimelib/meta_importer.py +27 -1
- jaclang/runtimelib/tests/fixtures/custom_access_validation.jac +1 -1
- jaclang/runtimelib/tests/fixtures/savable_object.jac +2 -2
- jaclang/settings.py +18 -14
- jaclang/tests/fixtures/abc_check.jac +3 -3
- jaclang/tests/fixtures/arch_rel_import_creation.jac +12 -12
- jaclang/tests/fixtures/chandra_bugs2.jac +3 -3
- jaclang/tests/fixtures/create_dynamic_archetype.jac +13 -13
- jaclang/tests/fixtures/jac_run_py_bugs.py +18 -0
- jaclang/tests/fixtures/jac_run_py_import.py +13 -0
- jaclang/tests/fixtures/lambda_arg_annotation.jac +15 -0
- jaclang/tests/fixtures/lambda_self.jac +18 -0
- jaclang/tests/fixtures/maxfail_run_test.jac +4 -4
- jaclang/tests/fixtures/params/param_syntax_err.jac +9 -0
- jaclang/tests/fixtures/params/test_complex_params.jac +42 -0
- jaclang/tests/fixtures/params/test_failing_kwonly.jac +207 -0
- jaclang/tests/fixtures/params/test_failing_posonly.jac +116 -0
- jaclang/tests/fixtures/params/test_failing_varargs.jac +300 -0
- jaclang/tests/fixtures/params/test_kwonly_params.jac +29 -0
- jaclang/tests/fixtures/py2jac_params.py +8 -0
- jaclang/tests/fixtures/run_test.jac +4 -4
- jaclang/tests/test_cli.py +103 -18
- jaclang/tests/test_language.py +74 -16
- jaclang/utils/helpers.py +47 -2
- jaclang/utils/module_resolver.py +11 -1
- jaclang/utils/test.py +8 -0
- jaclang/utils/treeprinter.py +0 -18
- {jaclang-0.8.6.dist-info → jaclang-0.8.8.dist-info}/METADATA +3 -3
- {jaclang-0.8.6.dist-info → jaclang-0.8.8.dist-info}/RECORD +99 -62
- {jaclang-0.8.6.dist-info → jaclang-0.8.8.dist-info}/WHEEL +1 -1
- jaclang/compiler/passes/main/inheritance_pass.py +0 -131
- jaclang/langserve/dev_engine.jac +0 -645
- jaclang/langserve/dev_server.jac +0 -201
- jaclang/langserve/tests/server_test/code_test.py +0 -0
- {jaclang-0.8.6.dist-info → jaclang-0.8.8.dist-info}/entry_points.txt +0 -0
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
jaclang/__init__.py,sha256=Na5dttNt9pd93nNzi7xej7S_FAZ3_CTDZUv7tWEGw_c,490
|
|
2
2
|
jaclang/cli/.gitignore,sha256=NYuons2lzuCpCdefMnztZxeSMgtPVJF6R6zSgVDOV20,27
|
|
3
3
|
jaclang/cli/__init__.py,sha256=7aaPgYddIAHBvkdv36ngbfwsimMnfGaTDcaHYMg_vf4,23
|
|
4
|
-
jaclang/cli/cli.md,sha256=
|
|
5
|
-
jaclang/cli/cli.py,sha256=
|
|
6
|
-
jaclang/cli/cmdreg.py,sha256=
|
|
4
|
+
jaclang/cli/cli.md,sha256=l12Ev7jr29DFimpGAAoS9NLCLQlMQmM38-ogGFEdVSw,6072
|
|
5
|
+
jaclang/cli/cli.py,sha256=xL1w0KH9wUo8Xxp0xz4DUfKGf056EENQnaAXf90QRAw,22747
|
|
6
|
+
jaclang/cli/cmdreg.py,sha256=AjsIpIN1qlfIeGjshezeXEFrM5m5HgUoVBCWwkKCPg4,10541
|
|
7
7
|
jaclang/compiler/__init__.py,sha256=6huVTxA1YAjWViq_7vrbKNYi_Q9DMTMkmURlaetyooA,2526
|
|
8
8
|
jaclang/compiler/codeinfo.py,sha256=ZOSAp1m3dBA8UF-YUz6H6l3wDs1EcuY4xWp13XmgHCo,2332
|
|
9
|
-
jaclang/compiler/constant.py,sha256=
|
|
10
|
-
jaclang/compiler/jac.lark,sha256=
|
|
9
|
+
jaclang/compiler/constant.py,sha256=puxyRKme3lwKnBgxzh0a7JRQnuMgRGoWe6fmVO5OzAA,8166
|
|
10
|
+
jaclang/compiler/jac.lark,sha256=q84w_2VKCFlTmudVpTdXu2pxCHhhFasoFrxi24jyTRY,18247
|
|
11
11
|
jaclang/compiler/larkparse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
jaclang/compiler/larkparse/jac_parser.py,sha256=
|
|
13
|
-
jaclang/compiler/parser.py,sha256=
|
|
12
|
+
jaclang/compiler/larkparse/jac_parser.py,sha256=WATX9e77KNvzSdnPgHfTO8-vb_ELXgwE_6_IxeJvN6s,314110
|
|
13
|
+
jaclang/compiler/parser.py,sha256=wwL31ablE6vIH3phbCeL0zEAxsQ5zBWeDj212AGi3iU,113899
|
|
14
14
|
jaclang/compiler/passes/__init__.py,sha256=gQjeT9UTNAHTgOvRX9zeY20jC22cZVl2HhKuUKZo66M,100
|
|
15
|
-
jaclang/compiler/passes/main/__init__.py,sha256=
|
|
15
|
+
jaclang/compiler/passes/main/__init__.py,sha256=qdj1KsZ19rxzlj7W3Jj7DBID8bJqTNs5XZtAOb3paWc,1313
|
|
16
16
|
jaclang/compiler/passes/main/annex_pass.py,sha256=EcMmXTMg8H3VoOCkxHUnCSWzJJykE1U_5YRuKF1VpYw,3082
|
|
17
17
|
jaclang/compiler/passes/main/binder_pass.py,sha256=jSMpIGDYvb2AVp8qgvE6YTHbIwfwjD5oZxxXQ5ZDn_c,22000
|
|
18
18
|
jaclang/compiler/passes/main/cfg_build_pass.py,sha256=onp3dmcjkcQEuHkbb98CmxtK_4IbIBr_v-25VZYR5kw,12952
|
|
19
19
|
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=AYhqi5ZFzUQyrJVFAPa9H8Bf0FZj4wZau16pTpMBib4,10143
|
|
20
|
-
jaclang/compiler/passes/main/def_use_pass.py,sha256=
|
|
20
|
+
jaclang/compiler/passes/main/def_use_pass.py,sha256=MwjeL0OuCIjEUfZEr_bwYCsgU4nFAPlYQHjwVk0ss-A,4735
|
|
21
21
|
jaclang/compiler/passes/main/import_pass.py,sha256=nMoFbNIFzZ2sThnvapVvw6IZtoxeycuK7XaDx5AB3Uk,4696
|
|
22
|
-
jaclang/compiler/passes/main/
|
|
23
|
-
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=
|
|
24
|
-
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=
|
|
22
|
+
jaclang/compiler/passes/main/predynamo_pass.py,sha256=wfNT7ZYyrM0rzO5LJ8PGyTX-qb3R4agkHZSeNpm-afc,8737
|
|
23
|
+
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=k-V6w6X4yDbVLrM8Dmr3Jvwnrkc4H1v2ZSkh5hcf8ao,111948
|
|
24
|
+
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=Iw7w26V0LJT78_PJUDaiUonqSspdH-ROZVtomuKIiOI,86467
|
|
25
25
|
jaclang/compiler/passes/main/pybc_gen_pass.py,sha256=KUQ31396CBb_ib85rYL_QhvHY75ZxyJm8qSps8KYSyE,1876
|
|
26
26
|
jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=_4l6CLZ_UHDSD0aJyyGesAvY0BSgWtc4F7Deikqgbko,5584
|
|
27
27
|
jaclang/compiler/passes/main/sem_def_match_pass.py,sha256=txRK3RAtleQsR9sEVIxaWLqy_pTPJEhW3eE2wYKRBSc,2755
|
|
28
|
-
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=
|
|
28
|
+
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=SK2_rfE9bZ_lrfpy4V9EirbGH5S16UqgXDCHpVSdVnE,7941
|
|
29
29
|
jaclang/compiler/passes/main/sym_tab_link_pass.py,sha256=2sqSmgxFd4YQZT4CiPxcfRi4Nrlv-ETP82_tSnYuFGA,5497
|
|
30
30
|
jaclang/compiler/passes/main/tests/__init__.py,sha256=RgheAgh-SqGTa-4kBOY-V-oz8bzMmDWxavFqwlYjfgE,36
|
|
31
31
|
jaclang/compiler/passes/main/tests/fixtures/M1.jac,sha256=9nAwZ9zKuIWEsr9rne9zC2T1lssqiE6oTp8Ubt423LI,14
|
|
@@ -48,8 +48,25 @@ jaclang/compiler/passes/main/tests/fixtures/cfg_gen.jac,sha256=7dAM-0Lm60dnJXnpx
|
|
|
48
48
|
jaclang/compiler/passes/main/tests/fixtures/cfg_has_var.jac,sha256=WzaGKic1i66xxanDWHTLVb16WVyddv39VpgbtwrQdFg,233
|
|
49
49
|
jaclang/compiler/passes/main/tests/fixtures/cfg_if_no_else.jac,sha256=f0nIfUHs2adV_GL17IjcGTkm-WIIJFZHDCnzksXbS1U,180
|
|
50
50
|
jaclang/compiler/passes/main/tests/fixtures/cfg_return.jac,sha256=gGG8RgpR3qoRzS2RwoFndajN1lLQMqavpYPovS5QEBs,137
|
|
51
|
+
jaclang/compiler/passes/main/tests/fixtures/checker/import_sym.jac,sha256=1MWXmcPJyXG_tu4kXzsQmCk3xaeeZ6VFKPDhcPicdgs,33
|
|
52
|
+
jaclang/compiler/passes/main/tests/fixtures/checker/import_sym_test.jac,sha256=YLkNz7iEuY4CqmQ-Rd_28rvh_pk-7yaVdN6yn1ZlRbE,109
|
|
53
|
+
jaclang/compiler/passes/main/tests/fixtures/checker/imported_sym.jac,sha256=3A3rshp13rAvrx2z9TnAP7hEFBx7RQpRfQTdpOcxFXs,41
|
|
54
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_arg_param_match.jac,sha256=FW44dOYnQVFh14icQQDlRtPLTMxQtb2QymiZOkNWau8,1066
|
|
55
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_arity.jac,sha256=AlpKPlOcmEmABMOHlWdGTm73DBwiErpUmlzXfRlRJ_Y,404
|
|
56
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_binary_op.jac,sha256=4hS8q6UlavBdgl1Ut81yd25Z7jxKCZMhRRh7q3Qg3AQ,285
|
|
57
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_call_expr_class.jac,sha256=L9SOnDYfV4B8tleSWLV3aSHS2VGGySTe0JZDhEfK8HI,189
|
|
58
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_cat_is_animal.jac,sha256=JjNUEnjJc8cWQFRsMZO3PmbcaCbmayyYnCeBcIvwAFo,329
|
|
59
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_cyclic_symbol.jac,sha256=GF5Ezug1A5-tr5emjJTojIW5d8_A6peNb2q9hWs-bXE,27
|
|
60
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_expr_call.jac,sha256=FDFptRXbzgOYv9q-mDNmFXnetAbknUJi-zEAiPzKZpk,114
|
|
61
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_float.jac,sha256=QOKhNhX9VjWI2goG9XcI1Ul6FHy6WPTu7RK3WsjEpxo,116
|
|
62
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_import_missing_module.jac,sha256=agWXZZ3ZidLeVkcWkv_TA0ktHiSS13rDLFo3HZnbJXk,348
|
|
51
63
|
jaclang/compiler/passes/main/tests/fixtures/checker_imported.jac,sha256=6wjD1NQMbsm0vKf_qCpsr1csqY5a52P8I2je0rk0Qaw,26
|
|
52
64
|
jaclang/compiler/passes/main/tests/fixtures/checker_importer.jac,sha256=Z6DjHVQDnyAkUDOtZiU-GpHO2eUjXY9_aor5ySLG-3U,121
|
|
65
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_magic_call.jac,sha256=wrR9zviHd8tyIFjPZo51vv9xOcq8Xvzcpy11DXKL1Yo,199
|
|
66
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_mod_path.jac,sha256=Mp-tTqOX6YHSXIE2YiR2gVMWGiB2oYNxi_wL8zK-4FY,93
|
|
67
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_param_types.jac,sha256=TKr3dS39Do13r2gdNpA62w5akCuSIVjMGDhODC-DoQI,113
|
|
68
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_self_type.jac,sha256=uRhUiGjijmu7aTPHpB-UTOKcX7W6Z1ynTjCy47HrUDQ,121
|
|
69
|
+
jaclang/compiler/passes/main/tests/fixtures/checker_sym_inherit.jac,sha256=N3afEcqvp9KSlFfE-zyTbWVHh_eP8eDOJHfW0OPMaSc,708
|
|
53
70
|
jaclang/compiler/passes/main/tests/fixtures/circular_import.jac,sha256=e6zoQIrSRyToU_rr9be_OK-TGAQzuupKDYfwaS4LrJA,125
|
|
54
71
|
jaclang/compiler/passes/main/tests/fixtures/codegen_sem.jac,sha256=2K-sPnnuKWvUPvutYhQ6I2voxEgI4xVvl0xf3nZvIRA,1451
|
|
55
72
|
jaclang/compiler/passes/main/tests/fixtures/codegentext.jac,sha256=U9xyk8hDlWM3jUaozQXOD61f5p9SI-_QfDxA68DUYds,562
|
|
@@ -78,6 +95,9 @@ jaclang/compiler/passes/main/tests/fixtures/mtest.impl.jac,sha256=nLf_0rBWPRywLy
|
|
|
78
95
|
jaclang/compiler/passes/main/tests/fixtures/mtest.jac,sha256=lpL2zfy6-QAgq0tVL02wt2ukn8lMQzCG9xNhq6_G8cs,67
|
|
79
96
|
jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac,sha256=BxgmNUdz76gKLi6PXnLZE9rartodMgch5ydpGrd25Ec,87
|
|
80
97
|
jaclang/compiler/passes/main/tests/fixtures/nested_impls.jac,sha256=t5hGg8tMJtXQx7alHmChPipGFbmNDl_WM6zolORdhWI,1003
|
|
98
|
+
jaclang/compiler/passes/main/tests/fixtures/predynamo_fix3.jac,sha256=KxIbyHWcNCdzcD_73GBZGdvvwqkljPNzLKJpsvSxmTM,1546
|
|
99
|
+
jaclang/compiler/passes/main/tests/fixtures/predynamo_where_assign.jac,sha256=N_iyfQ2Krv5tgLxo011cSHsiC9AvahDODNeMxuFrVnw,220
|
|
100
|
+
jaclang/compiler/passes/main/tests/fixtures/predynamo_where_return.jac,sha256=HEto1bnV4inD9kO7kDEaFVjJphwXMc3C-883Ea6tdfU,204
|
|
81
101
|
jaclang/compiler/passes/main/tests/fixtures/py_imp_test.jac,sha256=H2-eoukWnf7v6XRfHdoqHukkqn-NPLsw5-aNotTl-fQ,907
|
|
82
102
|
jaclang/compiler/passes/main/tests/fixtures/pygame_mock/__init__.py,sha256=Y1RSbBzcwGV_WnF8ialRg5yO_Bv-crpZtU2v7JRsAUk,94
|
|
83
103
|
jaclang/compiler/passes/main/tests/fixtures/pygame_mock/__init__.pyi,sha256=Y1RSbBzcwGV_WnF8ialRg5yO_Bv-crpZtU2v7JRsAUk,94
|
|
@@ -97,10 +117,11 @@ jaclang/compiler/passes/main/tests/fixtures/type_annotation_assignment.jac,sha25
|
|
|
97
117
|
jaclang/compiler/passes/main/tests/fixtures/type_info.jac,sha256=Gbatf5_V_2uFVF0l8ICbW8t7N7FKCL-1sE9CbEogT4A,660
|
|
98
118
|
jaclang/compiler/passes/main/tests/test_binder_pass.py,sha256=0IQPqIW_bwXgMBTIlnBG16wB3W6ExPYC5Z7kU7VzhZ8,3661
|
|
99
119
|
jaclang/compiler/passes/main/tests/test_cfg_build_pass.py,sha256=BFHuvKbh6mTjemzRRMIAlATar-UDWT8uj8iVro1qsVE,5068
|
|
100
|
-
jaclang/compiler/passes/main/tests/test_checker_pass.py,sha256=
|
|
120
|
+
jaclang/compiler/passes/main/tests/test_checker_pass.py,sha256=jdZHCcKfy32kYHYc9VLDgPC9qjzIE2yYRqVSO_rhu7w,14239
|
|
101
121
|
jaclang/compiler/passes/main/tests/test_decl_impl_match_pass.py,sha256=HCu5KO1N7kVonIM2N1A9BGRpfnJ4VDwR8TXJGTuKn3M,6039
|
|
102
122
|
jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=CzIcSoUe_wk8gNW6NwF0w_MW9y-13VBLjHZKGYQ4aaE,771
|
|
103
123
|
jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=2FNsF6Z4zRUsxWOOcbH4fFyvc48FCAP_Yq8qpne04-U,4985
|
|
124
|
+
jaclang/compiler/passes/main/tests/test_predynamo_pass.py,sha256=Wqz61zMbQXLYu6NVcB8Ts1a6TzNg3BdR1qnqPpb3Ut0,2171
|
|
104
125
|
jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=MIn0rGJ_fdyH-g1mtTNopwng9SQNSzGta5kiEXB4Ffg,1973
|
|
105
126
|
jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py,sha256=8pBn0zReQtzQfwbu-LYI_ASahznjHzeSE4tX3XiBleY,9713
|
|
106
127
|
jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py,sha256=x92ZvO3vAehSlZojzTE6H4_Sc-mB2tK3gG-dZTWxqFQ,650
|
|
@@ -108,15 +129,15 @@ jaclang/compiler/passes/main/tests/test_sem_def_match_pass.py,sha256=WorjEiU9GdE
|
|
|
108
129
|
jaclang/compiler/passes/main/tests/test_sub_node_pass.py,sha256=zO2PNo5DgtD1Qud8rTEdr-gLUVcMUXpQCBY-8-nj684,771
|
|
109
130
|
jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py,sha256=7gtUU9vV3q5x2vFt_oHyrq9Q4q538rWcO8911NFtmK4,701
|
|
110
131
|
jaclang/compiler/passes/main/tests/test_sym_tab_link_pass.py,sha256=N7eNPyIEwiM_1yECaErncmRXTidp89fFRFGFTd_AgIo,1894
|
|
111
|
-
jaclang/compiler/passes/main/type_checker_pass.py,sha256=
|
|
132
|
+
jaclang/compiler/passes/main/type_checker_pass.py,sha256=BI8j5nOnrmQjAQCndF6jsKvOqFvvHQe43iKJRBjhvd4,4417
|
|
112
133
|
jaclang/compiler/passes/tool/__init__.py,sha256=8M5dq_jq2TC4FCx4Aqr0-Djzf2i_w_1HtYSMLZ0CXNY,299
|
|
113
134
|
jaclang/compiler/passes/tool/doc_ir.py,sha256=okuoESF1qLbd3OHQxcfzHs35c6eilcIBp2sWNGg1m5w,5978
|
|
114
|
-
jaclang/compiler/passes/tool/doc_ir_gen_pass.py,sha256=
|
|
135
|
+
jaclang/compiler/passes/tool/doc_ir_gen_pass.py,sha256=R9q798Fbd3_fY26GhhbwdTcZJnsKxCWZYPU9cAyhVE4,65500
|
|
115
136
|
jaclang/compiler/passes/tool/fuse_comments_pass.py,sha256=GO-8ISvsD9L98ujeMsT5r_drpmnltRX5MWZCNKOFpGc,4530
|
|
116
|
-
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=
|
|
137
|
+
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=I2u0xMvqxP4U8NA_JH-Wwtxd1xmClOKVWS1ytBdPCGE,7706
|
|
117
138
|
jaclang/compiler/passes/tool/tests/__init__.py,sha256=AeOaZjA1rf6VAr0JqIit6jlcmOzW7pxGr4U1fOwgK_Y,24
|
|
118
139
|
jaclang/compiler/passes/tool/tests/fixtures/archetype_frmt.jac,sha256=_xcQS4Fe7bxoJ9MxyQdkoWNEx-smxSApcKJ9a8zLeiY,503
|
|
119
|
-
jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=
|
|
140
|
+
jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=7ZMEs2mz8oBGUfgZaDUZxFvgSRuh5HmlTsuKgjQ8dVg,12412
|
|
120
141
|
jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac,sha256=bNZJYX9ASkfrZTpi4nBMHEHfvkov1nw-wujxfFfADN4,217
|
|
121
142
|
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/access_mod_check.jac,sha256=eeexkLX8-lWWEChvqMCGOrviLYOdPNRYwQIeAgxNFCs,419
|
|
122
143
|
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/archetype_test.jac,sha256=8ZBwtRLH0g3YbTe__IXo3gnMwf5bYLPd_as5x6PTxoM,193
|
|
@@ -126,7 +147,7 @@ jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/decorator_stac
|
|
|
126
147
|
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/esc_keywords.jac,sha256=EQdOQnHWF7NmM7SuQ4Y77fXUD8vkIBR7TG3G1lCGl0I,72
|
|
127
148
|
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/line_spacing.jac,sha256=JAuaxnvG81o92uQG_SWawD9rceDGp4wjnDrreeBcQHw,1040
|
|
128
149
|
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/long_names.jac,sha256=f3ptg81A3mub7OdsVlxvX7FInEmT6Y2D55ZacQ7kZQw,734
|
|
129
|
-
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/triple_quoted_string.jac,sha256=
|
|
150
|
+
jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/triple_quoted_string.jac,sha256=7Ts6oE3x3x91lJIFQpdko54hrtM6vpMZDi56c5XCkmM,174
|
|
130
151
|
jaclang/compiler/passes/tool/tests/fixtures/has_frmt.jac,sha256=vIRwKItNJxbyAkSPpoFXMVKDnt3DWAQQKhu-5YCT1b0,444
|
|
131
152
|
jaclang/compiler/passes/tool/tests/fixtures/import_fmt.jac,sha256=AglE8wZwyIXWptkRADT41o39MPucRfXtyRMutjStaX8,241
|
|
132
153
|
jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot,sha256=Y4BtfJXqeqBHmsyRgfn_qjQCl0w-_YcKj9hoTyq80UY,1391
|
|
@@ -148,22 +169,25 @@ jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_defa
|
|
|
148
169
|
jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac,sha256=5AOxX4G7i3nYVQUryeuVVfe46gjzWimmW8ExNdBR9Bg,195
|
|
149
170
|
jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac,sha256=5g_oneTxvkcV73xml4zSzvXZviLLyXXUplGvuiBZTH8,806
|
|
150
171
|
jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac,sha256=uAFqtC7bh1oyYlU-7YbQu8INqPgVqOAFSdbjN4ViVIw,883
|
|
151
|
-
jaclang/compiler/passes/tool/tests/fixtures/tagbreak.jac,sha256=
|
|
172
|
+
jaclang/compiler/passes/tool/tests/fixtures/tagbreak.jac,sha256=Dmz1FRGLyf9HGkHer4IvmO-foe-mWU6tgWkQyj2DPjU,4763
|
|
152
173
|
jaclang/compiler/passes/tool/tests/test_fuse_comments_pass.py,sha256=ZeWHsm7VIyyS8KKpoB2SdlHM4jF22fMfSrfTfxt2MQw,398
|
|
153
174
|
jaclang/compiler/passes/tool/tests/test_jac_format_pass.py,sha256=CXn42HkopQVMSWtK3a5zX0cFP8kAlX5_Ut-Tg4bjxNE,6589
|
|
154
175
|
jaclang/compiler/passes/tool/tests/test_unparse_validate.py,sha256=fYlz31RQQUwmg3zYWHbXuwBksxli-zxk0HCVP42igAo,2214
|
|
155
|
-
jaclang/compiler/passes/transform.py,sha256=
|
|
176
|
+
jaclang/compiler/passes/transform.py,sha256=mC9DnWY1Hnosd-JyaR3lmlU35v_9fNALOySS_6P12xk,4810
|
|
156
177
|
jaclang/compiler/passes/uni_pass.py,sha256=Y1Y3TTrulqlpIGQUCZhBGkHVCvMg-AXfzCjV8dfGQm0,4841
|
|
157
178
|
jaclang/compiler/passes/utils/__init__.py,sha256=UsI5rUopTUiStAzup4kbPwIwrnC5ofCrqWBCBbM2-k4,35
|
|
158
|
-
jaclang/compiler/program.py,sha256=
|
|
179
|
+
jaclang/compiler/program.py,sha256=uDfQI4FWkMof__uh4wpNHxIs1Fm3t7C4aX8DMY4q0cM,6818
|
|
159
180
|
jaclang/compiler/tests/__init__.py,sha256=qiXa5UNRBanGOcplFKTT9a_9GEyiv7goq1OzuCjDCFE,27
|
|
160
181
|
jaclang/compiler/tests/fixtures/__init__.py,sha256=udQ0T6rajpW_nMiYKJNckqP8izZ-pH3P4PNTJEln2NU,36
|
|
161
182
|
jaclang/compiler/tests/fixtures/activity.py,sha256=fSvxYDKufsPeQIrbuh031zHw_hdbRv5iK9mS7dD8E54,263
|
|
162
183
|
jaclang/compiler/tests/fixtures/codegentext.jac,sha256=U9xyk8hDlWM3jUaozQXOD61f5p9SI-_QfDxA68DUYds,562
|
|
163
184
|
jaclang/compiler/tests/fixtures/fam.jac,sha256=PWbJPmAe_cXLTcqqXNy7N-S6biIlJDOm11LyHVvdiLM,1542
|
|
164
185
|
jaclang/compiler/tests/fixtures/hello_world.jac,sha256=lEEbLWw9Kwhk1itygwcnJqRfruNjLulo3w8_rez69Ss,78
|
|
186
|
+
jaclang/compiler/tests/fixtures/jac_import_py_files.py,sha256=VEsCXPP2B5BiXRu3pEriVtMRAgjR-Vf6H-O3rc_Ls_U,102
|
|
187
|
+
jaclang/compiler/tests/fixtures/jac_module.jac,sha256=pfdGGmlfF9n4lSbbjxK76Td4_MbmTaOOQkvGaODGh_Q,51
|
|
165
188
|
jaclang/compiler/tests/fixtures/kwesc.jac,sha256=OXxVL_fwiFuvYO1YX1RHa2hpETSpb0QD1-gMYnMY6DA,103
|
|
166
189
|
jaclang/compiler/tests/fixtures/mod_doc_test.jac,sha256=aFZpjn7V5lvCHp0lPoGXtdkcY3CK8_-SKeZGruutv4Y,35
|
|
190
|
+
jaclang/compiler/tests/fixtures/multiple_syntax_errors.jac,sha256=umUf5wvFIhgLhKjzb0MO6eOdrEoNA9K-PbQ2x9gK9ws,98
|
|
167
191
|
jaclang/compiler/tests/fixtures/pkg_import_lib/__init__.jac,sha256=XIIBWYlROHCXG-JK_kYtMpuVbqLtIoVr4q2z2PtDN5A,33
|
|
168
192
|
jaclang/compiler/tests/fixtures/pkg_import_lib/sub/__init__.jac,sha256=RZmbO5bujPpxmmumjZkYId5w0zuDjBXpA_9g-xbGyYY,33
|
|
169
193
|
jaclang/compiler/tests/fixtures/pkg_import_lib/sub/helper.jac,sha256=HphMN3KAuhRhsTtw7eoE45ZvStKa0QU3PvPIkWDyd-s,57
|
|
@@ -174,32 +198,33 @@ jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/helper.jac,sha256=HphMN3KA
|
|
|
174
198
|
jaclang/compiler/tests/fixtures/pkg_import_lib_py/tools.jac,sha256=FuL88yu9AnPuDn7heRf8X0NN6nrrGzt1txJrhYR995c,57
|
|
175
199
|
jaclang/compiler/tests/fixtures/pkg_import_main.jac,sha256=xeb8nb3_xQ9iCqGIJuMAqCsuB2S85whp531QlNA2q7U,299
|
|
176
200
|
jaclang/compiler/tests/fixtures/pkg_import_main_py.jac,sha256=wJobypGI8EsC6w641e3Z5joJMLm3eE0xFpVmP6QoQEo,375
|
|
201
|
+
jaclang/compiler/tests/fixtures/python_module.py,sha256=vicQGJgmHnGE6dACrtp2yNfcMZaZmITI2fUmPCedCv0,34
|
|
177
202
|
jaclang/compiler/tests/fixtures/staticcheck.jac,sha256=N44QGwRGK_rDY0uACqpkMQYRfkNQB2ai3lmdoAv0toI,342
|
|
178
203
|
jaclang/compiler/tests/fixtures/stuff.jac,sha256=qOq6WOwhlprMmJpiqQudgqnr4qTd9uhulQSDGQ3o6sY,82
|
|
179
|
-
jaclang/compiler/tests/test_importer.py,sha256=
|
|
180
|
-
jaclang/compiler/tests/test_parser.py,sha256=
|
|
204
|
+
jaclang/compiler/tests/test_importer.py,sha256=ZhiFD_GvDgXFKvzrqlWz0Wub7Np6gp9G_NprXJ9iZH0,6841
|
|
205
|
+
jaclang/compiler/tests/test_parser.py,sha256=URkNi5zhvw7ZCzmfmP1NznYGpi-O8E8CI9MrRA9uW9Q,7525
|
|
181
206
|
jaclang/compiler/tests/test_sr_errors.py,sha256=iixRll6eP-sgBzR2Zl9Bb-Da5flb67lPaPDQb3IDn3k,1074
|
|
182
207
|
jaclang/compiler/type_system/__init__.py,sha256=6LO1vhnbQDxb-xPH_YdguQcwUOmtHgmasRNLOf5WV_o,29
|
|
183
|
-
jaclang/compiler/type_system/
|
|
184
|
-
jaclang/compiler/type_system/
|
|
185
|
-
jaclang/compiler/type_system/
|
|
186
|
-
jaclang/compiler/
|
|
208
|
+
jaclang/compiler/type_system/operations.py,sha256=W3Unvaikk-obYcahian0M9tJRBnW_AXU6lhrL4LZ3SA,4129
|
|
209
|
+
jaclang/compiler/type_system/type_evaluator.py,sha256=3cugC1v3RGYP8dAGdZ5fVeRRbQUgngy1iTqXZfE79Bw,36607
|
|
210
|
+
jaclang/compiler/type_system/type_utils.py,sha256=jnqPZ-dpZC1RT_6Mq6G0OuGFXOEimSZEv6wjmtZZSV8,10250
|
|
211
|
+
jaclang/compiler/type_system/types.py,sha256=ulAdoKW5gt_OCYRzx3pUoRhFMnRJaD6rtjQze-G3tDA,9451
|
|
212
|
+
jaclang/compiler/unitree.py,sha256=NhYrGEXBADNEzvPqVfh0MFyODUUknx0K6accUsvtLmo,154055
|
|
187
213
|
jaclang/langserve/__init__.jac,sha256=3IEtXWjsqOgLA-LPqCwARCw0Kd8B_NeLedALxGshfAE,33
|
|
188
|
-
jaclang/langserve/
|
|
189
|
-
jaclang/langserve/dev_server.jac,sha256=GPbFqqx3nX9w63-AFLFrpRo6V_Gb3DDSi097AzygVAM,5800
|
|
190
|
-
jaclang/langserve/engine.jac,sha256=r_gAefk2ZTIBZxAQGVYyatDcEvt1VTfGvmTf65rPFSM,24602
|
|
214
|
+
jaclang/langserve/engine.jac,sha256=qsieo6mBJnFAzy562ouREHyGCCDI89PJVwOWX9yVb1k,25132
|
|
191
215
|
jaclang/langserve/sem_manager.jac,sha256=Gg95nKvXz9RwUNPshgUPHlrdFI8EWzk7Hxxgvs0xwa4,13795
|
|
192
|
-
jaclang/langserve/server.jac,sha256=
|
|
216
|
+
jaclang/langserve/server.jac,sha256=KDMqTyOjBFTmIS0Dnjs36SlXyLxZzFymyJNgi5oGUSQ,6802
|
|
193
217
|
jaclang/langserve/tests/__init__.py,sha256=iDM47k6c3vahaWhwxpbkdEOshbmX-Zl5x669VONjS2I,23
|
|
194
218
|
jaclang/langserve/tests/defaults.py,sha256=8UWHuCHY-WatPcWFhyX9-4KLuJgODTlLNj0wNnKomIM,7608
|
|
195
219
|
jaclang/langserve/tests/fixtures/base_module_structure.jac,sha256=bzt1F4kxAW2w0gWLA5PN30IxXN0_Cp7RssOVXxLIy8k,1440
|
|
196
|
-
jaclang/langserve/tests/fixtures/circle.jac,sha256=
|
|
197
|
-
jaclang/langserve/tests/fixtures/circle_err.jac,sha256=
|
|
220
|
+
jaclang/langserve/tests/fixtures/circle.jac,sha256=7c9VqmGOsenb5xmPu4wK6qUdmiv5VmDkFQDTT-7ld08,1746
|
|
221
|
+
jaclang/langserve/tests/fixtures/circle_err.jac,sha256=GOO1mXOCTWufL_GlNwadAxqJcyYK9Z65k4dH0YIRjuE,1708
|
|
198
222
|
jaclang/langserve/tests/fixtures/circle_pure.impl.jac,sha256=VQR2lJictcfTZWuRgtoN3WsLmh0VpEnAu5cbEGKqUiQ,693
|
|
199
223
|
jaclang/langserve/tests/fixtures/circle_pure.jac,sha256=Y1WyKi_2pb7lDUBIbe83SIXOgYii0lIJqxfn9e2DhMM,620
|
|
200
|
-
jaclang/langserve/tests/fixtures/circle_pure.test.jac,sha256=
|
|
224
|
+
jaclang/langserve/tests/fixtures/circle_pure.test.jac,sha256=PxigVWstwyLgdtxrAOsfAP-BupbOCYOUyTDqFEHIV7s,275
|
|
201
225
|
jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac,sha256=txhsHR4yatqVYfMjtH37cMFZIYgOAXs02zGXz7J8OYk,694
|
|
202
226
|
jaclang/langserve/tests/fixtures/circle_pure_err.jac,sha256=Y0vJlFM9XF5BllZXWa-yZfJJc8kdfBZgPsMZRCHDtz0,604
|
|
227
|
+
jaclang/langserve/tests/fixtures/completion_test_err.jac,sha256=b56axbn8Wl9Iztp9FY-_UNUbiB3m1-gloZHLiGLmqKk,92
|
|
203
228
|
jaclang/langserve/tests/fixtures/deep_check_crash.jac,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
229
|
jaclang/langserve/tests/fixtures/hello.jac,sha256=iRMKtYVCw1zLvjOQbj3q__3Manj1Di1YeDTNMEvYtBc,36
|
|
205
230
|
jaclang/langserve/tests/fixtures/import_include_statements.jac,sha256=X8uyjdSN1pDSLhQyFhX8URLU5qsULJUi5qgmaHUqAc8,280
|
|
@@ -210,43 +235,44 @@ jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py,sha256=zEZWu6C2_n4lPoA8H8OO
|
|
|
210
235
|
jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py,sha256=TxDpWUd-8AGJwdRQN_iiCXYxrVfviZQlNtEvBL0dDPc,10591
|
|
211
236
|
jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py,sha256=NGHeFQawZcjoLUcgDmY3bF7BqZR83g7TmdKyzCmRaKM,2836
|
|
212
237
|
jaclang/langserve/tests/pylsp_jsonrpc/streams.py,sha256=R80_FvICIkrbdGmNtlemWYaxrr7-XldPgLaASnyv0W8,3332
|
|
213
|
-
jaclang/langserve/tests/server_test/
|
|
214
|
-
jaclang/langserve/tests/server_test/
|
|
215
|
-
jaclang/langserve/tests/server_test/
|
|
238
|
+
jaclang/langserve/tests/server_test/circle_template.jac,sha256=iueTMdbsxFXUCRVuryQ8US9k_lEumOdzblVB3KS3TD0,1770
|
|
239
|
+
jaclang/langserve/tests/server_test/glob_template.jac,sha256=XrwYoO5YH9wJSTwFCf6srJSe3UeXWjDKzUChFUOOIz8,140
|
|
240
|
+
jaclang/langserve/tests/server_test/test_lang_serve.py,sha256=aRcEgdcAp0QnYlMTv1FyF6H3uGCtfeu61EdFdsQ3MgQ,6940
|
|
241
|
+
jaclang/langserve/tests/server_test/utils.py,sha256=m8G2mAydAljcGeV2RZBzYaQgYfXRpCP0cbpu6HarVjo,6341
|
|
216
242
|
jaclang/langserve/tests/session.jac,sha256=fS-aUHWb-r5ay3R4wJuSmoeoxgAufN4srvTjMP_OhII,10658
|
|
217
|
-
jaclang/langserve/tests/test_dev_server.py,sha256=
|
|
243
|
+
jaclang/langserve/tests/test_dev_server.py,sha256=zXjZy3BY40y5dQB2xJ2P3qPEP2B2BvrV4o1wqPm_Q38,2906
|
|
218
244
|
jaclang/langserve/tests/test_sem_tokens.py,sha256=3ew2yVQhA4PCTRC05sqcoZjb8JSB9hJQJC4TGgD8Ytk,9935
|
|
219
|
-
jaclang/langserve/tests/test_server.py,sha256=
|
|
220
|
-
jaclang/langserve/utils.jac,sha256=
|
|
245
|
+
jaclang/langserve/tests/test_server.py,sha256=76qTNzA51601CNxERi_LmRm0aTU-CCCr088EBf0CAO8,22313
|
|
246
|
+
jaclang/langserve/utils.jac,sha256=_5aW0IMuh0AmG8rKwzlFwvdjSU1Hzp5qAppaGg-Cnk0,13864
|
|
221
247
|
jaclang/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
248
|
jaclang/runtimelib/__init__.py,sha256=jDDYBCV82qPhmcDVk3NIvHbhng0ebSrXD3xrojg0-eo,34
|
|
223
249
|
jaclang/runtimelib/archetype.py,sha256=xZ_BRDSRags1p4v4wqm7GGDFraF2wXm4pLpFvHkjRG4,13029
|
|
224
250
|
jaclang/runtimelib/builtin.py,sha256=WeaTeFhnLX_aNseMFSrbilO_pmCoyGapDmDBE2U28Hs,3016
|
|
225
251
|
jaclang/runtimelib/constructs.py,sha256=L3mv17BFwq8TOx0lwr-rA-2N_qs4cNiRQYqDX3iqzmM,760
|
|
226
252
|
jaclang/runtimelib/importer.py,sha256=R1VIhBPMBR0CnQhT9tKazMExYCQvRa8Z8hkQ4PPQRF4,13488
|
|
227
|
-
jaclang/runtimelib/machine.py,sha256=
|
|
253
|
+
jaclang/runtimelib/machine.py,sha256=kZgdUvvcinARxpruiaMfZOQZnCquqeXWpIJw9BS_oZQ,60782
|
|
228
254
|
jaclang/runtimelib/memory.py,sha256=g91YkO025PLG-ANW_9Q5KsMtwPjGTE_1nXuSjQFct1I,7318
|
|
229
|
-
jaclang/runtimelib/meta_importer.py,sha256=
|
|
255
|
+
jaclang/runtimelib/meta_importer.py,sha256=w2R_gfYwM8bT-I1HWX--Mg_uxPIvIODyTrhoNPVWYMU,4511
|
|
230
256
|
jaclang/runtimelib/test.py,sha256=4HW7MjHmxjwWjwtIqLtFpcq9B9rI4NmyA92qFy9yhz8,4709
|
|
231
257
|
jaclang/runtimelib/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
|
|
232
|
-
jaclang/runtimelib/tests/fixtures/custom_access_validation.jac,sha256=
|
|
258
|
+
jaclang/runtimelib/tests/fixtures/custom_access_validation.jac,sha256=fytOAzVN4TFYKZObLhfAJni8gB01hzjqZkCeBwK2htY,1411
|
|
233
259
|
jaclang/runtimelib/tests/fixtures/graph_purger.jac,sha256=ltADlHHhbtc2aVUHJ-itoy6EL41bAlDaFzAdVmsFBLA,1514
|
|
234
260
|
jaclang/runtimelib/tests/fixtures/impl_match.jac,sha256=2TrA7eC21c8JcS9IYFs2aLT_ta6BuoBA06yK2ENsVwE,86
|
|
235
261
|
jaclang/runtimelib/tests/fixtures/impl_match_impl.jac,sha256=4KbKJMnK_uYjc9kQHPhGsAbdHIRVLpg3Pp30fbV1eLA,27
|
|
236
262
|
jaclang/runtimelib/tests/fixtures/other_root_access.jac,sha256=yArcQopYX82pVJOLXcgGwyTpuuZpRJLYQWcLpiwrqRQ,2109
|
|
237
|
-
jaclang/runtimelib/tests/fixtures/savable_object.jac,sha256=
|
|
263
|
+
jaclang/runtimelib/tests/fixtures/savable_object.jac,sha256=HCqUzRHBY4nJ6vHXcQGtp7Av3grwLZkveS3ubOuIzlI,2204
|
|
238
264
|
jaclang/runtimelib/tests/fixtures/simple_node_connection.jac,sha256=uwY0bgfhvXBsWNIMv-Ux53d8LtTu8JY64nx-QaRuTWc,1076
|
|
239
265
|
jaclang/runtimelib/tests/fixtures/simple_persistent.jac,sha256=k75eUY8JUtzBcPz_yzJCG4RHeKrO6e4YtqTFarJgxQs,626
|
|
240
266
|
jaclang/runtimelib/tests/fixtures/traversing_save.jac,sha256=DdLAKAmnbRbnHXeQnM57h4W6nKN1t657O_4USoeESik,267
|
|
241
267
|
jaclang/runtimelib/tests/test_features.py,sha256=Tba4DkgVhzmbNsiVvcipMrdxO_vNmfdTDRpD--EWJM4,2511
|
|
242
268
|
jaclang/runtimelib/tests/test_jaseci.py,sha256=SwCh2vWPysVkpv1r1jOl7LGJXz7QCJA4xqfd7o1zXA4,34746
|
|
243
269
|
jaclang/runtimelib/utils.py,sha256=4NSyZdf_zvF3rmHujH0FHdXqwJXavvmsvSICJjvL_Vk,9200
|
|
244
|
-
jaclang/settings.py,sha256=
|
|
270
|
+
jaclang/settings.py,sha256=ulU-njHAPJu8U9QuXyZ2AJSMq7xBr8hBCe8s9V0qxBg,3865
|
|
245
271
|
jaclang/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
246
272
|
jaclang/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
247
|
-
jaclang/tests/fixtures/abc_check.jac,sha256=
|
|
273
|
+
jaclang/tests/fixtures/abc_check.jac,sha256=7c9VqmGOsenb5xmPu4wK6qUdmiv5VmDkFQDTT-7ld08,1746
|
|
248
274
|
jaclang/tests/fixtures/arch_create_util.jac,sha256=3pRe9JyCGO_8Z7XYnSKPehyOAAPf6747fHvgrMz6wQU,133
|
|
249
|
-
jaclang/tests/fixtures/arch_rel_import_creation.jac,sha256=
|
|
275
|
+
jaclang/tests/fixtures/arch_rel_import_creation.jac,sha256=5IaqASXPqs432LoRKw7fUbhbLAwffOFB4kF7xUuSxyM,608
|
|
250
276
|
jaclang/tests/fixtures/archetype_def_bug.jac,sha256=Z5GsP0vLMlrZf42uCkRh27eBfkB3-sln0KRpkmnOO40,265
|
|
251
277
|
jaclang/tests/fixtures/arithmetic_bug.jac,sha256=iiO3ZwTi7R1U6-flV4tGbxDHXsw8GnaLEzVNGTPdMUA,135
|
|
252
278
|
jaclang/tests/fixtures/assign_compr.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
|
|
@@ -268,12 +294,12 @@ jaclang/tests/fixtures/builtin_printgraph_mermaid.jac,sha256=IZAtTuj_qX5xEwZz8Gl
|
|
|
268
294
|
jaclang/tests/fixtures/builtins_test.jac,sha256=1eJXipIFpa8IDjKv20TjAW_k4hTtJzNT1cKnQOAVt28,244
|
|
269
295
|
jaclang/tests/fixtures/byllmissue.jac,sha256=0eHaoNXePdjt6vnWEnsKubskvwKRpS5Bf5_UHrWcuvw,86
|
|
270
296
|
jaclang/tests/fixtures/chandra_bugs.jac,sha256=9RivLxwMFd3CiIB43_QcMikQCcZpSzUMB0QgFrJvSDs,282
|
|
271
|
-
jaclang/tests/fixtures/chandra_bugs2.jac,sha256=
|
|
297
|
+
jaclang/tests/fixtures/chandra_bugs2.jac,sha256=qamTrujjwsgegWZWv9h-ynx_15eCVYh9PvuwIiewre8,618
|
|
272
298
|
jaclang/tests/fixtures/circle_pysolo.py,sha256=TAJTCOjrUl80oDke5wl6ZyBJQsy37Hu6gYdqcO-tQlY,2477
|
|
273
299
|
jaclang/tests/fixtures/cls_method.jac,sha256=7belevX_oLNnePG_ji1cLpgdUca62riTmBwbbB_mHcM,729
|
|
274
300
|
jaclang/tests/fixtures/concurrency.jac,sha256=DtSLDUHfz-ngOdCzKjeUgzXbeLoDiA2a_6LEGuUvFxU,572
|
|
275
301
|
jaclang/tests/fixtures/connect_traverse_syntax.jac,sha256=WqSeIfm9OLLKXjdMGGDWx5gEDekEffJi08sPU4skxCo,298
|
|
276
|
-
jaclang/tests/fixtures/create_dynamic_archetype.jac,sha256=
|
|
302
|
+
jaclang/tests/fixtures/create_dynamic_archetype.jac,sha256=O4ROmON9MFESQMzuRBzq_Lf_Vaha8KvTBqtkIFR5pqw,781
|
|
277
303
|
jaclang/tests/fixtures/dblhello.jac,sha256=2CKdYZj35AXzvA2SCBHhgvG5f0bnlpLdQ36eqKCmI-M,69
|
|
278
304
|
jaclang/tests/fixtures/decl_defn_param_name.jac,sha256=cvNq18tEim3DX17xM1kjjTio3SPKzdFK3KFOJRh6d2Y,383
|
|
279
305
|
jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac,sha256=9a5fREgfbafmxUOGMBKAjQcWbdyUwWhq_kBfYFTsZgc,246
|
|
@@ -328,14 +354,18 @@ jaclang/tests/fixtures/import_all_py.py,sha256=glXDPNxw7AJw4On_ltKoYLSnNz6xXHa1M
|
|
|
328
354
|
jaclang/tests/fixtures/index_slice.jac,sha256=cRc4_PuUo4g-nsP8Vg7sjqB1y5TVsj9ZMZCxs4Od7e8,628
|
|
329
355
|
jaclang/tests/fixtures/inherit_check.jac,sha256=1f5lTf1C8Jv8QmfV4tJPG0QjF8w64AhxDVZGABpYkAA,408
|
|
330
356
|
jaclang/tests/fixtures/jac_from_py.py,sha256=9dOpefwctMG8USPzjRHIGFRywVVUMsfr1xJfCqP1hp4,121
|
|
357
|
+
jaclang/tests/fixtures/jac_run_py_bugs.py,sha256=U28rsUuNqFUH_ONIXD9MM5iTNjNFq2R3Dw_R4mKEIjo,414
|
|
358
|
+
jaclang/tests/fixtures/jac_run_py_import.py,sha256=tSprxrYD4GCEcKoiLkqwSfXnSRZFDdjGj7V_FTv7nVg,173
|
|
331
359
|
jaclang/tests/fixtures/jacsamp.jac,sha256=EGykSqbVvlBA1UslWp4elMkDBJUevw4E3GLWLw03H6Y,96
|
|
332
360
|
jaclang/tests/fixtures/jactest_imported.jac,sha256=7mAJufFCrjY0UCz0KEwPEbOK-dHpWuvV3dT8lS3_Zi0,102
|
|
333
361
|
jaclang/tests/fixtures/jactest_main.jac,sha256=2-_WnbAzJo4yLRF7m9r-cCyB11PP_4j5UB445pdt8B8,408
|
|
334
362
|
jaclang/tests/fixtures/jp_importer.jac,sha256=72zS4caAoqWcOP2fFshEEb-NxUahL9aTkD-XabwncM8,409
|
|
335
363
|
jaclang/tests/fixtures/jp_importer_auto.jac,sha256=dZdq2ruCBs5POPC88vyhYzvnXfmhG3uyQtlFWBPMW9Q,410
|
|
336
364
|
jaclang/tests/fixtures/lambda.jac,sha256=VFF-bh-j4bLamY4RABDmTRY1_O_WPXfAD9swNaMz3rM,112
|
|
365
|
+
jaclang/tests/fixtures/lambda_arg_annotation.jac,sha256=01Cg7FWW2g8R_aqajqoUGhV8WjaWJ5Wq3RqMKv6LEyw,202
|
|
366
|
+
jaclang/tests/fixtures/lambda_self.jac,sha256=1Df_GAZHJAKYnnJymuL8nmo2riY9AMzsuZZveYPMj1o,344
|
|
337
367
|
jaclang/tests/fixtures/match_multi_ex.jac,sha256=05XB0B0yMWpA84pCvAnKnpXObpE5fcUedpQ8Rly9Qp0,205
|
|
338
|
-
jaclang/tests/fixtures/maxfail_run_test.jac,sha256=
|
|
368
|
+
jaclang/tests/fixtures/maxfail_run_test.jac,sha256=xtCbcw5a6Fdt9r_AKXuaVdTMwLPSwUv8RGi88sqj_Pw,164
|
|
339
369
|
jaclang/tests/fixtures/multi_dim_array_split.jac,sha256=xM34uJwKBbI1-Q8Z-dK2lNB7PWvQZUmdsNxMuDwUHKs,290
|
|
340
370
|
jaclang/tests/fixtures/needs_import.jac,sha256=lcZWN7LPeFudCqihi9ETL1FQfOvCKYMVTtoHwpAiUg0,301
|
|
341
371
|
jaclang/tests/fixtures/needs_import_1.jac,sha256=LAMoIUITbFKSVDUCvgnBB0-7IjNp2RIC2ftH9y4LwF0,101
|
|
@@ -345,7 +375,14 @@ jaclang/tests/fixtures/needs_import_dup.jac,sha256=AR5sNlyIxnF-S3Hx5dqsNrA6gkp63
|
|
|
345
375
|
jaclang/tests/fixtures/node_del.jac,sha256=BVcS94AaB7D0OIUisVihLs6NTOVIRY6LWeuVeCQWt98,1385
|
|
346
376
|
jaclang/tests/fixtures/nosigself.jac,sha256=06wYx9eBv9lqqp5XmKCe1cwJE1-3ZhFvZV83AR_pxfA,187
|
|
347
377
|
jaclang/tests/fixtures/objref.jac,sha256=u_Sc8CTbsqe0D0VI5jUEWsV36l2PH0uNukSn3LSlJPI,195
|
|
378
|
+
jaclang/tests/fixtures/params/param_syntax_err.jac,sha256=D8z7Tq_OfL7aQ7Aotat6YlmScmEcPNpmeApzQ_BsM0Q,227
|
|
379
|
+
jaclang/tests/fixtures/params/test_complex_params.jac,sha256=t6UGCUBqvRzIUAfkVLDaH_7HPkEkAldGMSs3aubnRPs,1413
|
|
380
|
+
jaclang/tests/fixtures/params/test_failing_kwonly.jac,sha256=4WSV8TUjegXN4-qX2LL998371GumkqXpprHJJ3-6pT0,7194
|
|
381
|
+
jaclang/tests/fixtures/params/test_failing_posonly.jac,sha256=IGfi_NhcHrLDf4-W9bfg5TV6ZZKz3adqBqTEMVdqdDA,3521
|
|
382
|
+
jaclang/tests/fixtures/params/test_failing_varargs.jac,sha256=huNEaKdlFiuVdUuGQRClPT1hpIrIlbnQdM8H4__ozsE,9882
|
|
383
|
+
jaclang/tests/fixtures/params/test_kwonly_params.jac,sha256=Suz_TIPzCvtewJqvltVd807G_TOfNNUfNsWFF6FWARc,861
|
|
348
384
|
jaclang/tests/fixtures/py2jac.py,sha256=cRmCfVyOfbZrsJodV6UCF2AVy26m2PbJqE_hQEFuAsI,538
|
|
385
|
+
jaclang/tests/fixtures/py2jac_params.py,sha256=tuhpz-I1DUwrjmxeY3uz1sQlDDTt9wea65Y2UgNOEW8,279
|
|
349
386
|
jaclang/tests/fixtures/py_bool_expr.py,sha256=DRfxCvuB0hkuSq6L49aw5e-xOODNgC082zgDrajV5fE,338
|
|
350
387
|
jaclang/tests/fixtures/py_namedexpr.py,sha256=DV0hBKOblFbvpClhvYXZ2pMFp8fn25x9X-JtaHNSK8Q,113
|
|
351
388
|
jaclang/tests/fixtures/py_run.jac,sha256=RjTlllwYlyIFbK0EMTe8bOoGEszAyEwj210Xr7UR0WQ,117
|
|
@@ -367,7 +404,7 @@ jaclang/tests/fixtures/python_run_test.py,sha256=CoRg_E6me6AGRthEceVtakE18hR67bQ
|
|
|
367
404
|
jaclang/tests/fixtures/random_check.jac,sha256=EC5B0hTAb1_M2PUKJcI65RBhPSLd11_me-jzl9HCzCs,1511
|
|
368
405
|
jaclang/tests/fixtures/raw_byte_string.jac,sha256=y5FA0rtLC5do8vqXfCxCF1TP7l8L20nI56WRFdu8x9k,337
|
|
369
406
|
jaclang/tests/fixtures/refs_target.jac,sha256=Whexw4-xErg7vlV-1NB3cp0bNOP8u0df0QSrupTkJEY,347
|
|
370
|
-
jaclang/tests/fixtures/run_test.jac,sha256=
|
|
407
|
+
jaclang/tests/fixtures/run_test.jac,sha256=r_68jdBnnDegy2ivYZI4U_WtXzB7EbwCaWM0rxPwXFQ,168
|
|
371
408
|
jaclang/tests/fixtures/simple_archs.jac,sha256=FsZvsQR9LuUMMFDIYEen-qRREa171hWd8gcqIvHVZmk,380
|
|
372
409
|
jaclang/tests/fixtures/simple_walk.jac,sha256=2NyJLtyZj0uW03iJTp7vvLssB57dy4IORej6nfdAR8M,834
|
|
373
410
|
jaclang/tests/fixtures/slice_vals.jac,sha256=pgCdz8D0vd43huMhHeBvbSUMuucwWyVSQpKkMAYw1Wk,228
|
|
@@ -391,22 +428,22 @@ jaclang/tests/fixtures/while_else.jac,sha256=Ziej7zCqTc2K7Dy9uE9pzyMns4pWGAVzjRx
|
|
|
391
428
|
jaclang/tests/fixtures/with_context.jac,sha256=IitGo_vWRrJ--OU5I9n3LOf_oO8NH02G2D5qIDRkl04,466
|
|
392
429
|
jaclang/tests/foo/__init__.jac,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
393
430
|
jaclang/tests/test_bugs.py,sha256=w1_GJz1lMlsehriDtj1sq-gJlnvF5Kt0Dq1WKnl8By4,556
|
|
394
|
-
jaclang/tests/test_cli.py,sha256=
|
|
395
|
-
jaclang/tests/test_language.py,sha256=
|
|
431
|
+
jaclang/tests/test_cli.py,sha256=_cW7WJxbtkPaqiyKVayci0GDJQiV1btufuTJX8p5LuQ,24539
|
|
432
|
+
jaclang/tests/test_language.py,sha256=sr-OmC2YD8Hu7VCJM2uewdyC8tGNS3RpquX5I6HUP8Y,64162
|
|
396
433
|
jaclang/tests/test_man_code.py,sha256=ouK8XUp2FaEPNu2P7AkZa6OGrow2rNNIcQMF2uhJOvg,5054
|
|
397
434
|
jaclang/tests/test_reference.py,sha256=p79l0O0PD4VHfKKKV2trlVSRRADlBbXKaOvEXi1X1Yk,3674
|
|
398
435
|
jaclang/tests/test_settings.py,sha256=_h4vGHJMFe4H9ycFP78EkaT8gVrOt7e0tTJLYQjwNys,1839
|
|
399
436
|
jaclang/tests/test_typecheck.py,sha256=ayTaNreS_mCxrDjx0XMzuvoTYdzU9r_pN-AFhC-oGyo,19911
|
|
400
437
|
jaclang/utils/__init__.py,sha256=CB3oGfO8uIJsBig2PTQ89gtZB4zs1pIPZEYHa34oliY,203
|
|
401
|
-
jaclang/utils/helpers.py,sha256=
|
|
438
|
+
jaclang/utils/helpers.py,sha256=Ed8NgDTtocxmEiR6gRFhB4S7097NOKI-TXdhjly8h9k,11445
|
|
402
439
|
jaclang/utils/lang_tools.py,sha256=n4oshYGy2Ras56A_Tc27dIyoomXJIhqQhd5oX2C9E0g,10819
|
|
403
440
|
jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
|
|
404
|
-
jaclang/utils/module_resolver.py,sha256=
|
|
441
|
+
jaclang/utils/module_resolver.py,sha256=vFflHJUUSzi7P8aACDHN6iS-iMm8tc3X1su7WfKyEBo,7014
|
|
405
442
|
jaclang/utils/symtable_test_helpers.py,sha256=1T9qV8JALdjNjYqVmBY2HVCNI6OodP2D7Uy8qyLpxSA,4512
|
|
406
|
-
jaclang/utils/test.py,sha256=
|
|
443
|
+
jaclang/utils/test.py,sha256=3-lUq4xp_FaJ5gcxMeE38Ar8Kg6rUAkEpPC1MOllYBM,6472
|
|
407
444
|
jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
|
|
408
445
|
jaclang/utils/tests/test_lang_tools.py,sha256=1pMYqSSOPTVCK9N7OTLOfUn0onByMiOhZEFtrIzq-IM,5643
|
|
409
|
-
jaclang/utils/treeprinter.py,sha256=
|
|
446
|
+
jaclang/utils/treeprinter.py,sha256=5M9AOdzLPQnMe1TVxV3cejTLePhr1y9S1kXz0nCtlmc,16831
|
|
410
447
|
jaclang/vendor/__init__.py,sha256=NQiD5OO-k2AD0Mt4VMdH_9PwBnKvIjAvF2NkhS5h9JM,238
|
|
411
448
|
jaclang/vendor/attr/__init__.py,sha256=fOYIvt1eGSqQre4uCS3sJWKZ0mwAuC8UD6qba5OS9_U,2057
|
|
412
449
|
jaclang/vendor/attr/__init__.pyi,sha256=QIXnnHPoucmDWkbpNsWTP-cgJ1bn8le7DjyRa_wYdew,11281
|
|
@@ -5215,7 +5252,7 @@ jaclang/vendor/typeshed/stubs/zxcvbn/zxcvbn/frequency_lists.pyi,sha256=Dtmz_lJ3F
|
|
|
5215
5252
|
jaclang/vendor/typeshed/stubs/zxcvbn/zxcvbn/matching.pyi,sha256=_qCtgbqOjvvqdQNe4VvwwEggQMtJ65FATWfesuxeukE,3554
|
|
5216
5253
|
jaclang/vendor/typeshed/stubs/zxcvbn/zxcvbn/scoring.pyi,sha256=8LMgKMusPGV0WxrcvzZXJbZQCBDKdIMRIdr2wnbXBiI,1454
|
|
5217
5254
|
jaclang/vendor/typeshed/stubs/zxcvbn/zxcvbn/time_estimates.pyi,sha256=OWLFOMJXtKyoErBCIL7ej-WGLO-blK-j_xhzT-sHiU0,898
|
|
5218
|
-
jaclang-0.8.
|
|
5219
|
-
jaclang-0.8.
|
|
5220
|
-
jaclang-0.8.
|
|
5221
|
-
jaclang-0.8.
|
|
5255
|
+
jaclang-0.8.8.dist-info/METADATA,sha256=nFRgShnyhWLqu1mAadgT7aNncGzRSX1Ka0RS7Fr_-tI,5049
|
|
5256
|
+
jaclang-0.8.8.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
5257
|
+
jaclang-0.8.8.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
|
|
5258
|
+
jaclang-0.8.8.dist-info/RECORD,,
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"""Inheritance Resolution Pass for the Jac compiler.
|
|
2
|
-
|
|
3
|
-
This pass handles the inheritance relationships between archetypes by:
|
|
4
|
-
|
|
5
|
-
1. Identifying base classes for each archetype in the program
|
|
6
|
-
2. Resolving the inheritance hierarchy, including multi-level inheritance
|
|
7
|
-
3. Populating derived class symbol tables with symbols from their base classes
|
|
8
|
-
4. Handling special cases like Python base classes and index slice expressions
|
|
9
|
-
5. Ensuring proper symbol visibility according to inheritance rules
|
|
10
|
-
|
|
11
|
-
This pass is essential for object-oriented features in Jac, allowing derived classes
|
|
12
|
-
to access methods and attributes defined in their parent classes.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
|
|
17
|
-
from typing import Optional
|
|
18
|
-
|
|
19
|
-
import jaclang.compiler.unitree as uni
|
|
20
|
-
from jaclang.compiler.passes.transform import Transform
|
|
21
|
-
from jaclang.compiler.unitree import Symbol, UniScopeNode
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class InheritancePass(Transform[uni.Module, uni.Module]):
|
|
25
|
-
"""Add inherited abilities in the target symbol tables."""
|
|
26
|
-
|
|
27
|
-
def transform(self, ir_in: uni.Module) -> uni.Module:
|
|
28
|
-
"""Entry point for the inheritance pass."""
|
|
29
|
-
self.process_archetypes(ir_in)
|
|
30
|
-
return ir_in
|
|
31
|
-
|
|
32
|
-
def process_archetypes(self, module: uni.Module) -> None:
|
|
33
|
-
"""Process all archetypes in the module."""
|
|
34
|
-
for node in module.get_all_sub_nodes(uni.Archetype):
|
|
35
|
-
self.process_archetype_inheritance(node)
|
|
36
|
-
|
|
37
|
-
def process_archetype_inheritance(self, node: uni.Archetype) -> None:
|
|
38
|
-
"""Fill archetype symbol tables with abilities from parent archetypes."""
|
|
39
|
-
if not node.base_classes:
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
self.cur_node = node
|
|
43
|
-
for item in node.base_classes:
|
|
44
|
-
# Handle different types of base class references
|
|
45
|
-
if isinstance(item, uni.Name):
|
|
46
|
-
self.inherit_from_name(node, item)
|
|
47
|
-
elif isinstance(item, uni.AtomTrailer):
|
|
48
|
-
self.inherit_from_atom_trailer(node, item)
|
|
49
|
-
elif isinstance(item, uni.FuncCall):
|
|
50
|
-
self.log_info(
|
|
51
|
-
"Base class depends on the type of a function call "
|
|
52
|
-
"expression, this is not supported yet"
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
def inherit_from_name(self, node: uni.Archetype, item: uni.Name) -> None:
|
|
56
|
-
"""Handle inheritance from a simple name reference."""
|
|
57
|
-
assert node.sym_tab.parent_scope is not None
|
|
58
|
-
base_class_symbol = self.lookup_symbol(item.sym_name, node.sym_tab.parent_scope)
|
|
59
|
-
|
|
60
|
-
if base_class_symbol is None:
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
base_class_symbol_table = base_class_symbol.symbol_table
|
|
64
|
-
|
|
65
|
-
# FIXME: If the base class symbol is imported from another module, the symbol table
|
|
66
|
-
# will be None. The imported symbols were ignored and introduced in the typecheck
|
|
67
|
-
# for imported module items. This needs to be investigated to ensure that even imported
|
|
68
|
-
# classes should have a symbol table (unless the module is not parsed and decided not to).
|
|
69
|
-
if base_class_symbol_table is None:
|
|
70
|
-
return
|
|
71
|
-
|
|
72
|
-
if self.is_missing_py_symbol_table(base_class_symbol, base_class_symbol_table):
|
|
73
|
-
return
|
|
74
|
-
|
|
75
|
-
node.sym_tab.inherit_sym_tab(base_class_symbol_table)
|
|
76
|
-
|
|
77
|
-
def inherit_from_atom_trailer(
|
|
78
|
-
self, node: uni.Archetype, item: uni.AtomTrailer
|
|
79
|
-
) -> None:
|
|
80
|
-
"""Handle inheritance from an attribute access chain."""
|
|
81
|
-
current_sym_table = node.sym_tab.parent_scope
|
|
82
|
-
if current_sym_table:
|
|
83
|
-
for name in item.as_attr_list:
|
|
84
|
-
sym = self.lookup_symbol(name.sym_name, current_sym_table)
|
|
85
|
-
if sym is None:
|
|
86
|
-
return
|
|
87
|
-
current_sym_table = sym.symbol_table
|
|
88
|
-
# Handle Python base classes or index slice expressions
|
|
89
|
-
if self.is_missing_py_symbol_table(sym, current_sym_table):
|
|
90
|
-
return
|
|
91
|
-
if self.is_index_slice_next(item, name):
|
|
92
|
-
# "Base class depends on the type of an Index slice expression, this is not supported yet"
|
|
93
|
-
return
|
|
94
|
-
if current_sym_table is None:
|
|
95
|
-
return
|
|
96
|
-
node.sym_tab.inherit_sym_tab(current_sym_table)
|
|
97
|
-
|
|
98
|
-
def lookup_symbol(self, name: str, sym_table: UniScopeNode) -> Optional[Symbol]:
|
|
99
|
-
"""Look up a symbol in the symbol table or in builtins."""
|
|
100
|
-
symbol = sym_table.lookup(name)
|
|
101
|
-
if symbol is None:
|
|
102
|
-
# Check for the symbol in builtins
|
|
103
|
-
builtins_symtable = self.get_builtins_symtable()
|
|
104
|
-
if builtins_symtable:
|
|
105
|
-
symbol = builtins_symtable.lookup(name)
|
|
106
|
-
return symbol
|
|
107
|
-
|
|
108
|
-
def get_builtins_symtable(self) -> Optional[UniScopeNode]:
|
|
109
|
-
"""Get the builtins symbol table."""
|
|
110
|
-
for mod in self.prog.mod.hub.values():
|
|
111
|
-
if mod.name == "builtins":
|
|
112
|
-
return mod.sym_tab
|
|
113
|
-
return None
|
|
114
|
-
|
|
115
|
-
def is_missing_py_symbol_table(
|
|
116
|
-
self, symbol: Symbol, symbol_table: Optional[UniScopeNode]
|
|
117
|
-
) -> bool:
|
|
118
|
-
"""Check if a Python symbol table is missing."""
|
|
119
|
-
return (
|
|
120
|
-
symbol_table is None
|
|
121
|
-
and symbol.defn[0].parent_of_type(uni.Module).is_raised_from_py
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
def is_index_slice_next(
|
|
125
|
-
self, item: uni.AtomTrailer, name: uni.AstSymbolNode
|
|
126
|
-
) -> bool:
|
|
127
|
-
"""Check if the next item in the atom trailer is an index slice."""
|
|
128
|
-
idx = item.as_attr_list.index(name)
|
|
129
|
-
return idx < len(item.as_attr_list) - 1 and isinstance(
|
|
130
|
-
item.as_attr_list[idx + 1], uni.IndexSlice
|
|
131
|
-
)
|