jaclang 0.7.0__py3-none-any.whl → 0.7.1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (29) hide show
  1. jaclang/compiler/absyntree.py +2 -36
  2. jaclang/compiler/compile.py +21 -0
  3. jaclang/compiler/passes/main/__init__.py +2 -2
  4. jaclang/compiler/passes/main/def_impl_match_pass.py +1 -5
  5. jaclang/compiler/passes/main/def_use_pass.py +14 -7
  6. jaclang/compiler/passes/main/import_pass.py +56 -10
  7. jaclang/compiler/passes/main/pyast_gen_pass.py +55 -2
  8. jaclang/compiler/passes/main/schedules.py +4 -3
  9. jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac +7 -0
  10. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +4 -4
  11. jaclang/compiler/passes/main/tests/test_import_pass.py +13 -0
  12. jaclang/langserve/engine.py +193 -105
  13. jaclang/langserve/server.py +8 -1
  14. jaclang/langserve/tests/fixtures/circle.jac +73 -0
  15. jaclang/langserve/tests/fixtures/circle_err.jac +73 -0
  16. jaclang/langserve/tests/fixtures/circle_pure.impl.jac +28 -0
  17. jaclang/langserve/tests/fixtures/circle_pure.jac +34 -0
  18. jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +32 -0
  19. jaclang/langserve/tests/fixtures/circle_pure_err.jac +34 -0
  20. jaclang/langserve/tests/test_server.py +33 -1
  21. jaclang/langserve/utils.py +36 -1
  22. jaclang/tests/fixtures/type_info.jac +1 -1
  23. jaclang/tests/test_cli.py +1 -1
  24. jaclang/utils/helpers.py +3 -5
  25. jaclang/utils/test.py +1 -1
  26. {jaclang-0.7.0.dist-info → jaclang-0.7.1.dist-info}/METADATA +1 -1
  27. {jaclang-0.7.0.dist-info → jaclang-0.7.1.dist-info}/RECORD +29 -22
  28. {jaclang-0.7.0.dist-info → jaclang-0.7.1.dist-info}/WHEEL +0 -0
  29. {jaclang-0.7.0.dist-info → jaclang-0.7.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,34 @@
1
+ """
2
+ This module demonstrates a simple circle class and a function to calculate
3
+ the area of a circle in all of Jac's glory.
4
+ """
5
+
6
+ import:py math;
7
+
8
+ enum ShapeType;
9
+
10
+ can calculate_area(radius: float) -> float;
11
+ can main_run;
12
+
13
+ """Base class for a shape."""
14
+ obj Shape {
15
+ has shape_type: ShapeType;
16
+
17
+ can area -> float abs;
18
+ }
19
+
20
+ """Circle class inherits from Shape."""
21
+ obj Circle :Shape: {
22
+ has radius: float;
23
+
24
+ can init(radius: float);
25
+ can area -> float;
26
+ }
27
+ # Radius of the demo circle
28
+
29
+ glob RAD = 5, c = Circle(radius=RAD);
30
+
31
+ """Here we run the main program."""
32
+ with entry:__main__ {
33
+ main_run();
34
+ }
@@ -1,5 +1,7 @@
1
1
  from jaclang.utils.test import TestCase
2
2
  from jaclang.vendor.pygls import uris
3
+ from jaclang.vendor.pygls.workspace import Workspace
4
+ from jaclang.langserve.engine import JacLangServer
3
5
  from .session import LspSession
4
6
 
5
7
 
@@ -28,9 +30,39 @@ class TestJacLangServer(TestCase):
28
30
  {
29
31
  "range": {
30
32
  "start": {"line": 0, "character": 0},
31
- "end": {"line": 4, "character": 0},
33
+ "end": {"line": 2, "character": 0},
32
34
  },
33
35
  "newText": 'with entry {\n print("Hello, World!");\n}\n',
34
36
  }
35
37
  ],
36
38
  )
39
+
40
+ def test_syntax_diagnostics(self) -> None:
41
+ """Test diagnostics."""
42
+ lsp = JacLangServer()
43
+ # Set up the workspace path to "fixtures/"
44
+ workspace_path = self.fixture_abs_path("")
45
+ workspace = Workspace(workspace_path, lsp)
46
+ lsp.lsp._workspace = workspace
47
+ circle_file = uris.from_fs_path(self.fixture_abs_path("circle_err.jac"))
48
+ lsp.quick_check(circle_file)
49
+ self.assertEqual(len(lsp.modules), 1)
50
+ self.assertEqual(lsp.modules[circle_file].diagnostics[0].range.start.line, 22)
51
+
52
+ def test_doesnt_run_if_syntax_error(self) -> None:
53
+ """Test that the server doesn't run if there is a syntax error."""
54
+ lsp = JacLangServer()
55
+ # Set up the workspace path to "fixtures/"
56
+ workspace_path = self.fixture_abs_path("")
57
+ workspace = Workspace(workspace_path, lsp)
58
+ lsp.lsp._workspace = workspace
59
+ circle_file = uris.from_fs_path(self.fixture_abs_path("circle_err.jac"))
60
+ lsp.quick_check(circle_file)
61
+ self.assertEqual(len(lsp.modules), 1)
62
+ self.assertEqual(lsp.modules[circle_file].diagnostics[0].range.start.line, 22)
63
+ lsp.deep_check(circle_file)
64
+ self.assertEqual(len(lsp.modules), 1)
65
+ self.assertEqual(lsp.modules[circle_file].diagnostics[0].range.start.line, 22)
66
+ lsp.type_check(circle_file)
67
+ self.assertEqual(len(lsp.modules), 1)
68
+ self.assertEqual(lsp.modules[circle_file].diagnostics[0].range.start.line, 22)
@@ -2,7 +2,7 @@
2
2
 
3
3
  import asyncio
4
4
  from functools import wraps
5
- from typing import Any, Awaitable, Callable, Coroutine, ParamSpec, TypeVar
5
+ from typing import Any, Awaitable, Callable, Coroutine, Optional, ParamSpec, TypeVar
6
6
 
7
7
  import jaclang.compiler.absyntree as ast
8
8
  from jaclang.compiler.symtable import SymbolTable
@@ -53,3 +53,38 @@ def sym_tab_list(sym_tab: SymbolTable, file_path: str) -> list[SymbolTable]:
53
53
  for i in sym_tab.kid:
54
54
  sym_tabs += sym_tab_list(i, file_path=file_path)
55
55
  return sym_tabs
56
+
57
+
58
+ def find_deepest_node_at_pos(
59
+ node: ast.AstNode, line: int, character: int
60
+ ) -> Optional[ast.AstNode]:
61
+ """Return the deepest node that contains the given position."""
62
+ if position_within_node(node, line, character):
63
+ for i in node.kid:
64
+ if position_within_node(i, line, character):
65
+ return find_deepest_node_at_pos(i, line, character)
66
+ return node
67
+ else:
68
+ return None
69
+
70
+
71
+ def position_within_node(node: ast.AstNode, line: int, character: int) -> bool:
72
+ """Check if the position falls within the node's location."""
73
+ if node.loc.first_line < line + 1 < node.loc.last_line:
74
+ return True
75
+ if (
76
+ node.loc.first_line == line + 1
77
+ and node.loc.col_start <= character + 1
78
+ and (
79
+ node.loc.last_line == line + 1
80
+ and node.loc.col_end >= character + 1
81
+ or node.loc.last_line > line + 1
82
+ )
83
+ ):
84
+ return True
85
+ if (
86
+ node.loc.last_line == line + 1
87
+ and node.loc.col_start <= character + 1 <= node.loc.col_end
88
+ ):
89
+ return True
90
+ return False
@@ -10,6 +10,6 @@ obj ServerWrapper {
10
10
  self.file = file;
11
11
  }
12
12
 
13
- :obj:ServerWrapper:can:get_server{
13
+ :obj:ServerWrapper:can:get_server {
14
14
  return pygls.server.LanguageServer("test_server", "1");
15
15
  }
jaclang/tests/test_cli.py CHANGED
@@ -114,7 +114,7 @@ class JacCliTests(TestCase):
114
114
  stdout_value = captured_output.getvalue()
115
115
  self.assertEqual(stdout_value.count("type_info.ServerWrapper"), 6)
116
116
  self.assertEqual(stdout_value.count("builtins.int"), 2)
117
- self.assertEqual(stdout_value.count("builtins.str"), 9)
117
+ self.assertEqual(stdout_value.count("builtins.str"), 7)
118
118
 
119
119
  def test_build_and_run(self) -> None:
120
120
  """Testing for print AstTool."""
jaclang/utils/helpers.py CHANGED
@@ -128,15 +128,13 @@ def auto_generate_refs() -> None:
128
128
 
129
129
 
130
130
  def import_target_to_relative_path(
131
- import_level: int,
132
- import_target: str,
133
- base_path: Optional[str] = None,
131
+ level: int, target: str, base_path: Optional[str] = None
134
132
  ) -> str:
135
133
  """Convert an import target string into a relative file path."""
136
134
  if not base_path:
137
135
  base_path = os.getcwd()
138
- parts = import_target.split(".")
139
- traversal_levels = import_level - 1 if import_level > 0 else 0
136
+ parts = target.split(".")
137
+ traversal_levels = level - 1 if level > 0 else 0
140
138
  actual_parts = parts[traversal_levels:]
141
139
  for _ in range(traversal_levels):
142
140
  base_path = os.path.dirname(base_path)
jaclang/utils/test.py CHANGED
@@ -68,7 +68,7 @@ class TestCaseMicroSuite(TestCase):
68
68
  os.path.dirname(os.path.dirname(jaclang.__file__))
69
69
  )
70
70
  for name in files
71
- if name.endswith(".jac") and not name.startswith("err")
71
+ if name.endswith(".jac") and "err" not in name
72
72
  ]:
73
73
  method_name = (
74
74
  f"test_micro_{filename.replace('.jac', '').replace(os.sep, '_')}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaclang
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: Jac is a unique and powerful programming language that runs on top of Python, offering an unprecedented level of intelligence and intuitive understanding.
5
5
  Home-page: https://jaseci.org
6
6
  License: MIT
@@ -6,27 +6,27 @@ jaclang/cli/cli.py,sha256=d352zfA5_Da5InyQkv4V-qaxIcdIaVYJVeYt8npSB3I,13553
6
6
  jaclang/cli/cmdreg.py,sha256=u0jAd6A8czt7tBgPBBKBhYAG4By1FrjEGaTU2XFKeYs,8372
7
7
  jaclang/compiler/.gitignore,sha256=n1k2_xXTorp9PY8hhYM4psHircn-NMaFx95bSgDKopo,10
8
8
  jaclang/compiler/__init__.py,sha256=JA3L1ran0PlZI5Pcj2CIrFgrZGRNFHHC5kRh1QYgYlY,3146
9
- jaclang/compiler/absyntree.py,sha256=yHKyIqPTajrZa8KE2gneilkLk9xFBU0EPaknVelmAZ4,126981
9
+ jaclang/compiler/absyntree.py,sha256=RC32GBkSoOUggcCKG6ud9TzcRvgDobHQzw2E8n6lXgo,125944
10
10
  jaclang/compiler/codeloc.py,sha256=KMwf5OMQu3_uDjIdH7ta2piacUtXNPgUV1t8OuLjpzE,2828
11
- jaclang/compiler/compile.py,sha256=IOjTLv42IULW6HbCpFINNrRhwjHDebKO1vdon0EX85k,2772
11
+ jaclang/compiler/compile.py,sha256=0d8p4i2LXg2RCu1XfWx_Jq_dx7pK2Zn2VIj-apvX_nI,3389
12
12
  jaclang/compiler/constant.py,sha256=C8nOgWLAg-fRg8Qax_jRcYp6jGyWSSA1gwzk9Zdy7HE,6534
13
13
  jaclang/compiler/jac.lark,sha256=TI8ctvs_cASPp-EDPrMiCeL80Ngvj_7WxGMUFtGN7vs,17040
14
14
  jaclang/compiler/parser.py,sha256=Fy6qsTdh82YvXSgXoevIT5dIGjAn3hqbN45muJ5jFNY,138789
15
15
  jaclang/compiler/passes/__init__.py,sha256=0Tw0d130ZjzA05jVcny9cf5NfLjlaM70PKqFnY4zqn4,69
16
16
  jaclang/compiler/passes/ir_pass.py,sha256=gh1Zd8ouu79FoxerW1sMxktmfeC9gHyp4H_MoAviYP8,5504
17
- jaclang/compiler/passes/main/__init__.py,sha256=m8vZ0F6EiwOm0e0DWKRYgc8JcgiT2ayBrY6GojZkTfY,945
17
+ jaclang/compiler/passes/main/__init__.py,sha256=YSWVNkgnJKF32LpJwX__FwvYrpTSoxFqvnw410WrhkA,947
18
18
  jaclang/compiler/passes/main/access_modifier_pass.py,sha256=1tQJ9bNlOVX3sgL0DK4jv643Pu5xl68oL8LNsaHf-MY,4864
19
- jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=NlHHHMT1C-8RoCWjL7E2oYDBXeX82g0dWn_SnEWEtMk,3753
20
- jaclang/compiler/passes/main/def_use_pass.py,sha256=d2REmfme2HjUj8avDcXUuPbv3yKfvYHqpL49sxniLhQ,8576
19
+ jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=omMqI2vGBD42sBtBU1YFR7mP_M4k9c3UluRUoG3xKHU,3522
20
+ jaclang/compiler/passes/main/def_use_pass.py,sha256=3JeiqNxegTQ8a2gk3Tlc4frUrSQ1ZZeiv2qwNA1OPp0,8887
21
21
  jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=9alMH5yPLzFZ1iZJw0UCjh-9BOOxNALA_QjW0IqQdDg,16322
22
- jaclang/compiler/passes/main/import_pass.py,sha256=NlCzK6Cdke-59mHm6q9LDHIUbXBpFOVZ725GYcbhqK0,8055
23
- jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=sL5VIR2cT_NQYlyFopZz5XSXjQcisltVwdmLL8pXf3w,136197
22
+ jaclang/compiler/passes/main/import_pass.py,sha256=rNlik9QXBJ8xnye5TiegOVWpuhXAPeq1SlDC8fMYVv4,10153
23
+ jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=5l3KVs-eyrUa9OtSekemXGeaf5VCJcNYbf2CwzWFfDI,138114
24
24
  jaclang/compiler/passes/main/pyast_load_pass.py,sha256=lFJhcaXbsDKi2WJzVlD0EdSEKosUjopHFHzAYV3KvhQ,90650
25
25
  jaclang/compiler/passes/main/pybc_gen_pass.py,sha256=CjA9AqyMO3Pv_b5Hh0YI6JmCqIru2ASonO6rhrkau-M,1336
26
26
  jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=K5jNHRPrFcC_-RbgY7lngSNSDQLQr27N31_aUrGUACo,7864
27
27
  jaclang/compiler/passes/main/pyout_pass.py,sha256=clJkASFiBiki5w0MQXYIwcdvahYETgqAjKlYOYVYKNQ,3137
28
28
  jaclang/compiler/passes/main/registry_pass.py,sha256=Lp_EqlflXkSgQuJe_EVBtzC16YAJx70bDO6X0nJIX5U,4579
29
- jaclang/compiler/passes/main/schedules.py,sha256=oTH2EvvopLdmrtPl8b-CENWAPviIZe7qNLOuODJ5Iuw,1253
29
+ jaclang/compiler/passes/main/schedules.py,sha256=cu3-AIckvbKGe3C-DbtDwwAdvnX25CdDP6j9QLps9Kg,1298
30
30
  jaclang/compiler/passes/main/sub_node_tab_pass.py,sha256=fGgK0CBWsuD6BS4BsLwXPl1b5UC2N2YEOGa6jNMu8N8,1332
31
31
  jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=1bUU-p0zCoLoF7_HgLr2FKxUuc_4y2O7-5FSJD8mfWc,42020
32
32
  jaclang/compiler/passes/main/tests/__init__.py,sha256=UBAATLUEH3yuBN4LYKnXXV79kokRc4XB-rX12qfu0ds,28
@@ -47,12 +47,13 @@ jaclang/compiler/passes/main/tests/fixtures/game1.jac,sha256=oiTadkrYJRUo6ZkHUi7
47
47
  jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac,sha256=MIYBOmcG4NnxsJcR4f-bposvl5ILfshU0tKJ7qMjjzU,112
48
48
  jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac,sha256=MIYBOmcG4NnxsJcR4f-bposvl5ILfshU0tKJ7qMjjzU,112
49
49
  jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac,sha256=MTVCw95_OwssjB7MtEPTYoHSHcceZAhFLokW8Zaruzg,135
50
+ jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac,sha256=WX54UE-AUAfnjva0y9NkSl8-0aJAE1HqO0gw4rtCqhs,71
50
51
  jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac,sha256=BxgmNUdz76gKLi6PXnLZE9rartodMgch5ydpGrd25Ec,87
51
52
  jaclang/compiler/passes/main/tests/fixtures/registry.jac,sha256=1G6amtU1zIFCgq09v7xTp9zZ5sw5IbXHfYVlOo-drPg,993
52
53
  jaclang/compiler/passes/main/tests/fixtures/type_info.jac,sha256=64Im2L-R3YF8DEuTt29QE6mJI5PnFe3PiwcDLKa8gOE,661
53
- jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=QDsvTEpJt3AuS3GRwfq-1mezRCpx7rwEEyg1AbusaBs,1374
54
+ jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=-qb9-XV6XbPCbL3JoUQsbS86w-WjkAKCnAYuDFORoIE,1378
54
55
  jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=dmyZgXugOCN-_YY7dxkNHgt8vqey8qzNJf8sWyLLZ5w,1013
55
- jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=2oRz8lO1ORiTn36NkkshpXeT_K0L_jM8KZuvxgVzbbE,1141
56
+ jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=eG7ZopSrjTjZrPdqnXgq877FO-DcaA922zC1YiZPd_0,1733
56
57
  jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=LIT4TP-nhtftRtY5rNySRQlim-dWMSlkfUvkhZTk4pc,1383
57
58
  jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py,sha256=fNL_FS26AQGlRCvwWfl-Qyt7iW2_A99GIHOAnnkpw9A,4731
58
59
  jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py,sha256=If8PE4exN5g9o1NRElNC0XdfIwJAp7M7f69rzmYRYUQ,655
@@ -132,10 +133,16 @@ jaclang/core/registry.py,sha256=4uuXahPN4SMVEWwJ6Gjm5LM14rePMGoyjQtSbDQmQZs,4178
132
133
  jaclang/core/shelve_storage.py,sha256=UsZRHM8KPGUlZTX_bfcxzabInNrTaQVNMatQifycMYg,1692
133
134
  jaclang/core/utils.py,sha256=5e4DyjtSweFxKeIuEyeYGV2MsuTtfnncfIwRdoyFdys,7736
134
135
  jaclang/langserve/__init__.py,sha256=3qbnivBBcLZCfmDYRMIeKkG08Lx7XQsJJg-qG8TU8yc,51
135
- jaclang/langserve/engine.py,sha256=3XIOhM8S5mlnfS42po8DKPlg4ptGfDMmYmlF8grnsGs,10079
136
- jaclang/langserve/server.py,sha256=17u6mgK4JgLcnnlpixHmOXKj5-OJiwUurMXJ9Qt7s4Q,3992
136
+ jaclang/langserve/engine.py,sha256=xz_Qmss5d79nevli_gKN5giD61Ibt7O2MwA8Migu_t4,14910
137
+ jaclang/langserve/server.py,sha256=2CUO_5y2YFg7x0THrmseomYSaiUWukZqDxjdIvp02H0,4280
137
138
  jaclang/langserve/tests/__init__.py,sha256=iDM47k6c3vahaWhwxpbkdEOshbmX-Zl5x669VONjS2I,23
138
139
  jaclang/langserve/tests/defaults.py,sha256=8UWHuCHY-WatPcWFhyX9-4KLuJgODTlLNj0wNnKomIM,7608
140
+ jaclang/langserve/tests/fixtures/circle.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
141
+ jaclang/langserve/tests/fixtures/circle_err.jac,sha256=6Cn3PtP3ujjC8DjiOQWFbdb5C6wW12wAv9BwLwvX7b4,1732
142
+ jaclang/langserve/tests/fixtures/circle_pure.impl.jac,sha256=wj2hs7EwA35a-7oGVZppQlNlgIhYOdmqW2LP4i1uQsc,670
143
+ jaclang/langserve/tests/fixtures/circle_pure.jac,sha256=jQ5QX0G5khGACoY82CM-6LcOX57w4e29tHVicE2eMgw,608
144
+ jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
145
+ jaclang/langserve/tests/fixtures/circle_pure_err.jac,sha256=jQ5QX0G5khGACoY82CM-6LcOX57w4e29tHVicE2eMgw,608
139
146
  jaclang/langserve/tests/fixtures/hello.jac,sha256=iRMKtYVCw1zLvjOQbj3q__3Manj1Di1YeDTNMEvYtBc,36
140
147
  jaclang/langserve/tests/pylsp_jsonrpc/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105
141
148
  jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py,sha256=zEZWu6C2_n4lPoA8H8OO67746P93VhbYaXZMdtrD8Z0,1038
@@ -143,8 +150,8 @@ jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py,sha256=TxDpWUd-8AGJwdRQN_iiCXY
143
150
  jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py,sha256=NGHeFQawZcjoLUcgDmY3bF7BqZR83g7TmdKyzCmRaKM,2836
144
151
  jaclang/langserve/tests/pylsp_jsonrpc/streams.py,sha256=R80_FvICIkrbdGmNtlemWYaxrr7-XldPgLaASnyv0W8,3332
145
152
  jaclang/langserve/tests/session.py,sha256=3pIRoQjZnsnUWIYnO2SpK7c1PAiHMCFrrStNK2tawRM,9572
146
- jaclang/langserve/tests/test_server.py,sha256=Zqo4bnlUg9TH1xHSpT4VBpTefT6tLCWjOZbFI9hEzUs,1411
147
- jaclang/langserve/utils.py,sha256=p0ohiZwvasbBWY-jtHj5lULL3ZYPXuc9B80eFzhk5TQ,1602
153
+ jaclang/langserve/tests/test_server.py,sha256=oteZHprqS61mR9TCnpvuTo0A9XV66gX--h5isSazb08,3010
154
+ jaclang/langserve/utils.py,sha256=cEW-nOLA5KLShTE1cBXItSelaKj2qyNZNTtlPE1T8Xk,2717
148
155
  jaclang/plugin/__init__.py,sha256=5t2krHKt_44PrCTGojzxEimxpNHYVQcn89jAiCSXE_k,165
149
156
  jaclang/plugin/builtin.py,sha256=PP2Vs4p_oDbGYEx0iBFDYH49I4uSRnNVWgx2aOzorVA,1187
150
157
  jaclang/plugin/default.py,sha256=bi8qyiKkXAwr-TjT_VSI0_KSW4l5fqHCGp7dV0egfI0,27142
@@ -228,22 +235,22 @@ jaclang/tests/fixtures/sub_abil_sep_multilev.jac,sha256=wm7-RGdwfUGHjQo20jj2fTp0
228
235
  jaclang/tests/fixtures/try_finally.jac,sha256=I4bjOZz0vZbY1rQZlPy-RCMYP2-LQwtsShlmKR1_UFE,574
229
236
  jaclang/tests/fixtures/tupleunpack.jac,sha256=AP6rbofc0VmsTNxInY6WLGRKWVY6u8ut0uzQX_52QyI,64
230
237
  jaclang/tests/fixtures/tuplytuples.jac,sha256=6qiXn5OV_qn4cqKwROjJ1VuBAh0nbUGpp-5vtH9n_Dg,344
231
- jaclang/tests/fixtures/type_info.jac,sha256=n3v2snKNNZu2-4qdicKhw67Jc_rS4oIB3puXDx9-FUA,315
238
+ jaclang/tests/fixtures/type_info.jac,sha256=4Cw31ef5gny6IS0kLzgeSO-7ArEH1HgFFFip1BGQhZM,316
232
239
  jaclang/tests/fixtures/with_context.jac,sha256=cDA_4YWe5UVmQRgcpktzkZ_zsswQpV_T2Otf_rFnPy8,466
233
240
  jaclang/tests/fixtures/with_llm_function.jac,sha256=hcDBO2Ch5IScrV0VBzeYaNaL4GhmVwg_odOzfOb1pwk,804
234
241
  jaclang/tests/fixtures/with_llm_lower.jac,sha256=S3a8luL38neLReoxNzs-nLeN36oys059MS8g7g_oqJg,1878
235
242
  jaclang/tests/fixtures/with_llm_method.jac,sha256=l76E50hIygLwkiIpjf3iYGv97C3yZlUABE2D5GnqQ44,1420
236
243
  jaclang/tests/fixtures/with_llm_type.jac,sha256=LKotFGtBl9mzo08SbTkzBWa3rGWt4AuzgianHFkAZvU,1778
237
- jaclang/tests/test_cli.py,sha256=2HAKgbEWvi6NWrpVU_mXYTk-I1EWlR6yYi0c61_IK5c,8703
244
+ jaclang/tests/test_cli.py,sha256=eHnlkHg6_p52q_jvRhFr0LzblZj9cAtlNDbxm-EVixs,8703
238
245
  jaclang/tests/test_language.py,sha256=V7SsMd5M_746LkZ5H_JHq6pODPu0kJTkfV3GZMqIoLs,34203
239
246
  jaclang/tests/test_man_code.py,sha256=Kq93zg3hEfiouvpWvmfCgR6lDT5RKDp28k5ZaWe1Xeg,4519
240
247
  jaclang/tests/test_reference.py,sha256=b6mR0WTJ0-sKkvZtMGsGooxzkkmD4WfXj_hOY6ZnhYw,3341
241
248
  jaclang/tests/test_settings.py,sha256=TIX5uiu8H9IpZN2__uFiclcdCpBpPpcAwtlEHyFC4kk,1999
242
249
  jaclang/utils/__init__.py,sha256=86LQ_LDyWV-JFkYBpeVHpLaVxkqwFDP60XpWXOFZIQk,46
243
- jaclang/utils/helpers.py,sha256=7I7v3GhT0djRpo4cgRHKxUuAarTJBjhOBI3998wJTLw,6186
250
+ jaclang/utils/helpers.py,sha256=v-jQ-SDzGLrrLXKxoL1PaCguJqcV-X1UlwjWSL3GNAI,6142
244
251
  jaclang/utils/lang_tools.py,sha256=odv66Os8bJvw9JIUUkccGWvEPL98c-60veAiOiNyTy4,9956
245
252
  jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
246
- jaclang/utils/test.py,sha256=7-2Te0GQcKY3RJfNKa3cEJjG-RMC1r-0fHuOcFXrmE8,5383
253
+ jaclang/utils/test.py,sha256=5VK0hVo_IyfFiMFN_gz-dFx01yF3tPVZ56RKoAAZfaU,5374
247
254
  jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
248
255
  jaclang/utils/tests/test_lang_tools.py,sha256=hFQzkzdmJIhP99xqjR5z7bqkefMLmE6kwldXYrfK--E,4831
249
256
  jaclang/utils/treeprinter.py,sha256=q0x2ztq_HmFPPHqZD--7um9yvxmMhe7E6ETJN_KLy7k,11676
@@ -1469,7 +1476,7 @@ jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA,sha256=BeUQIa8cnYbrjW
1469
1476
  jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD,sha256=XS4fBVrPI7kaNZ56Ggl2RGa76jySWLqTzcrUpZIQTVM,418
1470
1477
  jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
1471
1478
  jaclang/vendor/typing_extensions.py,sha256=gwekpyG9DVG3lxWKX4ni8u7nk3We5slG98mA9F3DJQw,134451
1472
- jaclang-0.7.0.dist-info/METADATA,sha256=t3CGvduif1vz_lYjQFxjon55vqB3fO2adkxvMxHHxXw,4756
1473
- jaclang-0.7.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1474
- jaclang-0.7.0.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
1475
- jaclang-0.7.0.dist-info/RECORD,,
1479
+ jaclang-0.7.1.dist-info/METADATA,sha256=RkmhZ27yRPFOXpv9JlwGdiRjtBqoqWCHGLFMuWtygA8,4756
1480
+ jaclang-0.7.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1481
+ jaclang-0.7.1.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
1482
+ jaclang-0.7.1.dist-info/RECORD,,