jaclang 0.7.26__py3-none-any.whl → 0.7.27__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/plugin/default.py +17 -8
- jaclang/plugin/feature.py +6 -1
- jaclang/plugin/spec.py +2 -2
- jaclang/plugin/tests/fixtures/other_root_access.jac +10 -0
- jaclang/plugin/tests/fixtures/savable_object.jac +84 -0
- jaclang/plugin/tests/test_jaseci.py +88 -0
- jaclang/runtimelib/architype.py +17 -0
- jaclang/runtimelib/memory.py +22 -7
- jaclang/runtimelib/utils.py +16 -0
- jaclang/tests/test_language.py +2 -3
- {jaclang-0.7.26.dist-info → jaclang-0.7.27.dist-info}/METADATA +1 -1
- {jaclang-0.7.26.dist-info → jaclang-0.7.27.dist-info}/RECORD +14 -13
- {jaclang-0.7.26.dist-info → jaclang-0.7.27.dist-info}/WHEEL +0 -0
- {jaclang-0.7.26.dist-info → jaclang-0.7.27.dist-info}/entry_points.txt +0 -0
jaclang/plugin/default.py
CHANGED
|
@@ -51,6 +51,20 @@ hookimpl = pluggy.HookimplMarker("jac")
|
|
|
51
51
|
logger = getLogger(__name__)
|
|
52
52
|
|
|
53
53
|
|
|
54
|
+
class JacCallableImplementation:
|
|
55
|
+
"""Callable Implementations."""
|
|
56
|
+
|
|
57
|
+
@staticmethod
|
|
58
|
+
def get_object(id: str) -> Architype | None:
|
|
59
|
+
"""Get object by id."""
|
|
60
|
+
if id == "root":
|
|
61
|
+
return Jac.get_context().root.architype
|
|
62
|
+
elif obj := Jac.get_context().mem.find_by_id(UUID(id)):
|
|
63
|
+
return obj.architype
|
|
64
|
+
|
|
65
|
+
return None
|
|
66
|
+
|
|
67
|
+
|
|
54
68
|
class JacAccessValidationImpl:
|
|
55
69
|
"""Jac Access Validation Implementations."""
|
|
56
70
|
|
|
@@ -599,14 +613,9 @@ class JacFeatureImpl(
|
|
|
599
613
|
|
|
600
614
|
@staticmethod
|
|
601
615
|
@hookimpl
|
|
602
|
-
def
|
|
603
|
-
"""Get object by id."""
|
|
604
|
-
|
|
605
|
-
return Jac.get_context().root.architype
|
|
606
|
-
elif obj := Jac.get_context().mem.find_by_id(UUID(id)):
|
|
607
|
-
return obj.architype
|
|
608
|
-
|
|
609
|
-
return None
|
|
616
|
+
def get_object_func() -> Callable[[str], Architype | None]:
|
|
617
|
+
"""Get object by id func."""
|
|
618
|
+
return JacCallableImplementation.get_object
|
|
610
619
|
|
|
611
620
|
@staticmethod
|
|
612
621
|
@hookimpl
|
jaclang/plugin/feature.py
CHANGED
|
@@ -267,7 +267,12 @@ class JacFeature(
|
|
|
267
267
|
@staticmethod
|
|
268
268
|
def get_object(id: str) -> Architype | None:
|
|
269
269
|
"""Get object given id."""
|
|
270
|
-
return plugin_manager.hook.
|
|
270
|
+
return plugin_manager.hook.get_object_func()(id=id)
|
|
271
|
+
|
|
272
|
+
@staticmethod
|
|
273
|
+
def get_object_func() -> Callable[[str], Architype | None]:
|
|
274
|
+
"""Get object given id."""
|
|
275
|
+
return plugin_manager.hook.get_object_func()
|
|
271
276
|
|
|
272
277
|
@staticmethod
|
|
273
278
|
def object_ref(obj: Architype) -> str:
|
jaclang/plugin/spec.py
CHANGED
|
@@ -258,8 +258,8 @@ class JacFeatureSpec(
|
|
|
258
258
|
|
|
259
259
|
@staticmethod
|
|
260
260
|
@hookspec(firstresult=True)
|
|
261
|
-
def
|
|
262
|
-
"""Get object by id."""
|
|
261
|
+
def get_object_func() -> Callable[[str], Architype | None]:
|
|
262
|
+
"""Get object by id func."""
|
|
263
263
|
raise NotImplementedError
|
|
264
264
|
|
|
265
265
|
@staticmethod
|
|
@@ -23,6 +23,16 @@ walker update_node {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
walker update_target_node {
|
|
27
|
+
has val: int;
|
|
28
|
+
has node_id: str;
|
|
29
|
+
|
|
30
|
+
can enter with `root entry {
|
|
31
|
+
target_node = &(self.node_id);
|
|
32
|
+
target_node.val = self.val;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
26
36
|
walker update_node_forced {
|
|
27
37
|
has val: int;
|
|
28
38
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
enum Enum {
|
|
2
|
+
A = "a",
|
|
3
|
+
B = "b",
|
|
4
|
+
C = "c"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
obj Child {
|
|
8
|
+
has val: int, arr: list[int], json: dict[str, int], enum_field: Enum;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
obj Parent:Child: {
|
|
12
|
+
has child: Child;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
obj SavableObject {
|
|
16
|
+
has val: int, arr: list[int], json: dict[str, int], parent: Parent, enum_field: Enum;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
walker create_custom_object {
|
|
20
|
+
can enter1 with `root entry {
|
|
21
|
+
o = SavableObject(
|
|
22
|
+
val=0,
|
|
23
|
+
arr=[],
|
|
24
|
+
json={},
|
|
25
|
+
parent=Parent(
|
|
26
|
+
val=1,
|
|
27
|
+
arr=[1],
|
|
28
|
+
json={"a": 1},
|
|
29
|
+
child=Child(
|
|
30
|
+
val=2,
|
|
31
|
+
arr=[1, 2],
|
|
32
|
+
json={"a": 1, "b": 2},
|
|
33
|
+
enum_field = Enum.C
|
|
34
|
+
),
|
|
35
|
+
enum_field = Enum.B
|
|
36
|
+
),
|
|
37
|
+
enum_field = Enum.A
|
|
38
|
+
);
|
|
39
|
+
Jac.save(o);
|
|
40
|
+
print(jid(o));
|
|
41
|
+
print(o);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
walker get_custom_object {
|
|
46
|
+
has object_id: str;
|
|
47
|
+
|
|
48
|
+
can enter1 with `root entry {
|
|
49
|
+
try {
|
|
50
|
+
print(&(self.object_id));
|
|
51
|
+
} except Exception as e {
|
|
52
|
+
print(None);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
walker update_custom_object {
|
|
58
|
+
has object_id: str;
|
|
59
|
+
|
|
60
|
+
can enter1 with `root entry {
|
|
61
|
+
savable_object = &(self.object_id);
|
|
62
|
+
savable_object.parent.child.json["c"] = 3;
|
|
63
|
+
savable_object.parent.child.arr.append(3);
|
|
64
|
+
savable_object.parent.child.val = 3;
|
|
65
|
+
savable_object.parent.child.enum_field = Enum.A;
|
|
66
|
+
savable_object.parent.json["b"] = 2;
|
|
67
|
+
savable_object.parent.arr.append(2);
|
|
68
|
+
savable_object.parent.val = 2;
|
|
69
|
+
savable_object.parent.enum_field = Enum.C;
|
|
70
|
+
savable_object.json["a"] = 1;
|
|
71
|
+
savable_object.arr.append(1);
|
|
72
|
+
savable_object.val = 1;
|
|
73
|
+
savable_object.enum_field = Enum.B;
|
|
74
|
+
print(savable_object);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
walker delete_custom_object {
|
|
79
|
+
has object_id: str;
|
|
80
|
+
|
|
81
|
+
can enter1 with `root entry {
|
|
82
|
+
Jac.destroy(&(self.object_id));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -385,6 +385,22 @@ class TestJaseciPlugin(TestCase):
|
|
|
385
385
|
node=self.nodes[0],
|
|
386
386
|
)
|
|
387
387
|
|
|
388
|
+
cli.enter(
|
|
389
|
+
filename=self.fixture_abs_path("other_root_access.jac"),
|
|
390
|
+
entrypoint="update_target_node",
|
|
391
|
+
args=[20, self.nodes[1]],
|
|
392
|
+
session=session,
|
|
393
|
+
root=self.roots[0],
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
cli.enter(
|
|
397
|
+
filename=self.fixture_abs_path("other_root_access.jac"),
|
|
398
|
+
entrypoint="update_target_node",
|
|
399
|
+
args=[10, self.nodes[0]],
|
|
400
|
+
session=session,
|
|
401
|
+
root=self.roots[1],
|
|
402
|
+
)
|
|
403
|
+
|
|
388
404
|
cli.enter(
|
|
389
405
|
filename=self.fixture_abs_path("other_root_access.jac"),
|
|
390
406
|
entrypoint="check_node",
|
|
@@ -728,3 +744,75 @@ class TestJaseciPlugin(TestCase):
|
|
|
728
744
|
)
|
|
729
745
|
|
|
730
746
|
self._del_session(session)
|
|
747
|
+
|
|
748
|
+
def test_savable_object(self) -> None:
|
|
749
|
+
"""Test ObjectAnchor save."""
|
|
750
|
+
global session
|
|
751
|
+
session = self.fixture_abs_path("other_root_access.session")
|
|
752
|
+
|
|
753
|
+
self._output2buffer()
|
|
754
|
+
|
|
755
|
+
cli.enter(
|
|
756
|
+
filename=self.fixture_abs_path("savable_object.jac"),
|
|
757
|
+
entrypoint="create_custom_object",
|
|
758
|
+
args=[],
|
|
759
|
+
session=session,
|
|
760
|
+
)
|
|
761
|
+
|
|
762
|
+
prints = self.capturedOutput.getvalue().strip().split("\n")
|
|
763
|
+
id = prints[0]
|
|
764
|
+
|
|
765
|
+
self.assertEqual(
|
|
766
|
+
"SavableObject(val=0, arr=[], json={}, parent=Parent(val=1, arr=[1], json"
|
|
767
|
+
"={'a': 1}, enum_field=<Enum.B: 'b'>, child=Child(val=2, arr=[1, 2], json"
|
|
768
|
+
"={'a': 1, 'b': 2}, enum_field=<Enum.C: 'c'>)), enum_field=<Enum.A: 'a'>)",
|
|
769
|
+
prints[1],
|
|
770
|
+
)
|
|
771
|
+
|
|
772
|
+
self._output2buffer()
|
|
773
|
+
|
|
774
|
+
cli.enter(
|
|
775
|
+
filename=self.fixture_abs_path("savable_object.jac"),
|
|
776
|
+
entrypoint="get_custom_object",
|
|
777
|
+
args=[id],
|
|
778
|
+
session=session,
|
|
779
|
+
)
|
|
780
|
+
self.assertEqual(
|
|
781
|
+
"SavableObject(val=0, arr=[], json={}, parent=Parent(val=1, arr=[1], json"
|
|
782
|
+
"={'a': 1}, enum_field=<Enum.B: 'b'>, child=Child(val=2, arr=[1, 2], json"
|
|
783
|
+
"={'a': 1, 'b': 2}, enum_field=<Enum.C: 'c'>)), enum_field=<Enum.A: 'a'>)",
|
|
784
|
+
self.capturedOutput.getvalue().strip(),
|
|
785
|
+
)
|
|
786
|
+
|
|
787
|
+
self._output2buffer()
|
|
788
|
+
|
|
789
|
+
cli.enter(
|
|
790
|
+
filename=self.fixture_abs_path("savable_object.jac"),
|
|
791
|
+
entrypoint="update_custom_object",
|
|
792
|
+
args=[id],
|
|
793
|
+
session=session,
|
|
794
|
+
)
|
|
795
|
+
|
|
796
|
+
self.assertEqual(
|
|
797
|
+
"SavableObject(val=1, arr=[1], json={'a': 1}, parent=Parent(val=2, arr=[1, 2], json"
|
|
798
|
+
"={'a': 1, 'b': 2}, enum_field=<Enum.C: 'c'>, child=Child(val=3, arr=[1, 2, 3], json"
|
|
799
|
+
"={'a': 1, 'b': 2, 'c': 3}, enum_field=<Enum.A: 'a'>)), enum_field=<Enum.B: 'b'>)",
|
|
800
|
+
self.capturedOutput.getvalue().strip(),
|
|
801
|
+
)
|
|
802
|
+
|
|
803
|
+
self._output2buffer()
|
|
804
|
+
|
|
805
|
+
cli.enter(
|
|
806
|
+
filename=self.fixture_abs_path("savable_object.jac"),
|
|
807
|
+
entrypoint="delete_custom_object",
|
|
808
|
+
args=[id],
|
|
809
|
+
session=session,
|
|
810
|
+
)
|
|
811
|
+
|
|
812
|
+
cli.enter(
|
|
813
|
+
filename=self.fixture_abs_path("savable_object.jac"),
|
|
814
|
+
entrypoint="get_custom_object",
|
|
815
|
+
args=[id],
|
|
816
|
+
session=session,
|
|
817
|
+
)
|
|
818
|
+
self.assertEqual("None", self.capturedOutput.getvalue().strip())
|
jaclang/runtimelib/architype.py
CHANGED
|
@@ -226,6 +226,13 @@ class WalkerAnchor(Anchor):
|
|
|
226
226
|
disengaged: bool = False
|
|
227
227
|
|
|
228
228
|
|
|
229
|
+
@dataclass(eq=False, repr=False, kw_only=True)
|
|
230
|
+
class ObjectAnchor(Anchor):
|
|
231
|
+
"""Edge Anchor."""
|
|
232
|
+
|
|
233
|
+
architype: ObjectArchitype
|
|
234
|
+
|
|
235
|
+
|
|
229
236
|
class Architype:
|
|
230
237
|
"""Architype Protocol."""
|
|
231
238
|
|
|
@@ -267,6 +274,16 @@ class WalkerArchitype(Architype):
|
|
|
267
274
|
self.__jac__ = WalkerAnchor(architype=self)
|
|
268
275
|
|
|
269
276
|
|
|
277
|
+
class ObjectArchitype(Architype):
|
|
278
|
+
"""Walker Architype Protocol."""
|
|
279
|
+
|
|
280
|
+
__jac__: ObjectAnchor
|
|
281
|
+
|
|
282
|
+
def __init__(self) -> None:
|
|
283
|
+
"""Create walker architype."""
|
|
284
|
+
self.__jac__ = ObjectAnchor(architype=self)
|
|
285
|
+
|
|
286
|
+
|
|
270
287
|
@dataclass(eq=False)
|
|
271
288
|
class GenericEdge(EdgeArchitype):
|
|
272
289
|
"""Generic Root Node."""
|
jaclang/runtimelib/memory.py
CHANGED
|
@@ -84,14 +84,32 @@ class ShelfStorage(Memory[UUID, Anchor]):
|
|
|
84
84
|
def close(self) -> None:
|
|
85
85
|
"""Close memory handler."""
|
|
86
86
|
if isinstance(self.__shelf__, Shelf):
|
|
87
|
-
from jaclang.plugin.feature import JacFeature as Jac
|
|
88
|
-
|
|
89
87
|
for anchor in self.__gc__:
|
|
90
88
|
self.__shelf__.pop(str(anchor.id), None)
|
|
91
89
|
self.__mem__.pop(anchor.id, None)
|
|
92
90
|
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
keys = set(self.__mem__.keys())
|
|
92
|
+
|
|
93
|
+
# current memory
|
|
94
|
+
self.sync_mem_to_db(keys)
|
|
95
|
+
|
|
96
|
+
# additional after memory sync
|
|
97
|
+
self.sync_mem_to_db(set(self.__mem__.keys() - keys))
|
|
98
|
+
|
|
99
|
+
self.__shelf__.close()
|
|
100
|
+
super().close()
|
|
101
|
+
|
|
102
|
+
def sync_mem_to_db(self, keys: Iterable[UUID]) -> None:
|
|
103
|
+
"""Manually sync memory to db."""
|
|
104
|
+
from jaclang.plugin.feature import JacFeature as Jac
|
|
105
|
+
|
|
106
|
+
if isinstance(self.__shelf__, Shelf):
|
|
107
|
+
for key in keys:
|
|
108
|
+
if (
|
|
109
|
+
(d := self.__mem__.get(key))
|
|
110
|
+
and d.persistent
|
|
111
|
+
and d.hash != hash(dumps(d))
|
|
112
|
+
):
|
|
95
113
|
_id = str(d.id)
|
|
96
114
|
if p_d := self.__shelf__.get(_id):
|
|
97
115
|
if (
|
|
@@ -119,9 +137,6 @@ class ShelfStorage(Memory[UUID, Anchor]):
|
|
|
119
137
|
):
|
|
120
138
|
self.__shelf__[_id] = d
|
|
121
139
|
|
|
122
|
-
self.__shelf__.close()
|
|
123
|
-
super().close()
|
|
124
|
-
|
|
125
140
|
def find(
|
|
126
141
|
self,
|
|
127
142
|
ids: UUID | Iterable[UUID],
|
jaclang/runtimelib/utils.py
CHANGED
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
import ast as ast3
|
|
6
6
|
import sys
|
|
7
7
|
from contextlib import contextmanager
|
|
8
|
+
from types import UnionType
|
|
8
9
|
from typing import Callable, Iterator, TYPE_CHECKING
|
|
9
10
|
|
|
10
11
|
import jaclang.compiler.absyntree as ast
|
|
@@ -215,3 +216,18 @@ def extract_params(
|
|
|
215
216
|
)
|
|
216
217
|
exclude_info.append((var_name, i.gen.py_ast[0]))
|
|
217
218
|
return model_params, include_info, exclude_info
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
def is_instance(
|
|
222
|
+
obj: object, target: type | UnionType | tuple[type | UnionType, ...]
|
|
223
|
+
) -> bool:
|
|
224
|
+
"""Check if object is instance of target type."""
|
|
225
|
+
match target:
|
|
226
|
+
case UnionType():
|
|
227
|
+
return any((is_instance(obj, trg) for trg in target.__args__))
|
|
228
|
+
case tuple():
|
|
229
|
+
return any((is_instance(obj, trg) for trg in target))
|
|
230
|
+
case type():
|
|
231
|
+
return isinstance(obj, target)
|
|
232
|
+
case _:
|
|
233
|
+
return False
|
jaclang/tests/test_language.py
CHANGED
|
@@ -117,10 +117,9 @@ class JacLanguageTests(TestCase):
|
|
|
117
117
|
sys.stdout = sys.__stdout__
|
|
118
118
|
stdout_value = captured_output.getvalue()
|
|
119
119
|
|
|
120
|
-
# print(arr[1:3, 1::2]);
|
|
121
120
|
expected_outputs = [
|
|
122
|
-
"+-- AtomTrailer - Type: Any",
|
|
123
|
-
" +-- Name - arr - Type: Any, SymbolTable: None",
|
|
121
|
+
"+-- AtomTrailer - Type: numpy.ndarray[Any, numpy.dtype[Any]]",
|
|
122
|
+
" +-- Name - arr - Type: numpy.ndarray[Any, numpy.dtype[Any]], SymbolTable: None",
|
|
124
123
|
" +-- IndexSlice - [IndexSlice] - Type: builtins.slice, SymbolTable: None",
|
|
125
124
|
" +-- Token - [,",
|
|
126
125
|
" +-- Int - 1 - Type: Literal[1]?, SymbolTable: None",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: jaclang
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.27
|
|
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
|
|
@@ -166,29 +166,30 @@ jaclang/langserve/tests/test_server.py,sha256=cZcQTMCMhJw4FS1BDz2oAmQb0J1mXdb5Bc
|
|
|
166
166
|
jaclang/langserve/utils.py,sha256=edZCrq8ZFolao-rvv5RGPxtnEh6NmhrxOgPh8VxmEPs,15019
|
|
167
167
|
jaclang/plugin/__init__.py,sha256=5t2krHKt_44PrCTGojzxEimxpNHYVQcn89jAiCSXE_k,165
|
|
168
168
|
jaclang/plugin/builtin.py,sha256=zNTbe5knJrGFgJRa4l4hMzzuij6iXFyVqRTxputUHIo,1307
|
|
169
|
-
jaclang/plugin/default.py,sha256=
|
|
170
|
-
jaclang/plugin/feature.py,sha256=
|
|
169
|
+
jaclang/plugin/default.py,sha256=65k0F5NsCH4qID6sCje0quU6atgUPF8f1pIK5z02q5E,46984
|
|
170
|
+
jaclang/plugin/feature.py,sha256=CJ87SfNPsxS7xuLvW0KpOboa6IrjDdPkOsVS3pjBsfk,17104
|
|
171
171
|
jaclang/plugin/plugin.md,sha256=B252QTH3c8uZyvXTbGmZBafZtdXstFC5vT5jIN_gS4U,9994
|
|
172
|
-
jaclang/plugin/spec.py,sha256=
|
|
172
|
+
jaclang/plugin/spec.py,sha256=N1T4lhiyt_2UYmqLvhP6xjBUvgRA3wQF-YWjxjxPAIs,14714
|
|
173
173
|
jaclang/plugin/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
|
|
174
174
|
jaclang/plugin/tests/fixtures/graph_purger.jac,sha256=c6kJD-KYYj2NErC21CjC2sjEMMBF6Qh9SdY9nSKWos8,1506
|
|
175
175
|
jaclang/plugin/tests/fixtures/impl_match.jac,sha256=WEhcA1GlovusITEFO2bOjYYqiiULyYGKhM17uK2GqnI,91
|
|
176
176
|
jaclang/plugin/tests/fixtures/impl_match_impl.jac,sha256=k1385r7Hdlq6mUKxEHa3VOKJUIWH08hYg2kErhbYwFM,31
|
|
177
|
-
jaclang/plugin/tests/fixtures/other_root_access.jac,sha256=
|
|
177
|
+
jaclang/plugin/tests/fixtures/other_root_access.jac,sha256=e8pL9t3monI9FhmgavbcFsh8gjUB3pZkhAZHvbYcRuU,1991
|
|
178
|
+
jaclang/plugin/tests/fixtures/savable_object.jac,sha256=5eqRnnL3tqAMrIWQGoHW4vsD5acX9jZLtXtg_GBb84A,1973
|
|
178
179
|
jaclang/plugin/tests/fixtures/simple_node_connection.jac,sha256=KdbpACWtnj92TqQqEunwoI4VKhlnhcJCKMkbgh0Xqxg,1067
|
|
179
180
|
jaclang/plugin/tests/fixtures/simple_persistent.jac,sha256=o0TZTOJEZjFW8A2IGY8ICBZEBZzHhqha0xQFFBK_DSI,624
|
|
180
181
|
jaclang/plugin/tests/test_features.py,sha256=sK9d2UazofGl9qYZO_ODKmOHZY8E4fnXNoyw-_KQI9A,2344
|
|
181
|
-
jaclang/plugin/tests/test_jaseci.py,sha256=
|
|
182
|
+
jaclang/plugin/tests/test_jaseci.py,sha256=g2HQWPaG4E2FQOWcKmZ2SM2MDDOEy2s1u14Idb7GTbw,27398
|
|
182
183
|
jaclang/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
184
|
jaclang/runtimelib/__init__.py,sha256=jDDYBCV82qPhmcDVk3NIvHbhng0ebSrXD3xrojg0-eo,34
|
|
184
|
-
jaclang/runtimelib/architype.py,sha256=
|
|
185
|
+
jaclang/runtimelib/architype.py,sha256=Egw3hmLDAt_jxQBagT_WoLv5Evl7hUbGkPx0-skboLw,8650
|
|
185
186
|
jaclang/runtimelib/constructs.py,sha256=1ARnsPrDi1UvyaFRhGRhO0kj0fnIZ2HbHF7O3itB-ZQ,796
|
|
186
187
|
jaclang/runtimelib/context.py,sha256=DjCkj1S6WLBWbNMkhUjqPYIhxqXV0XjJ1Mpjy7WR4g0,5538
|
|
187
188
|
jaclang/runtimelib/importer.py,sha256=a6ORKrDfK-jKXopgyZHz188O-VI2NflFQo7VTUVvqOw,14592
|
|
188
189
|
jaclang/runtimelib/machine.py,sha256=8gyGLxURqfy0bLXMWyOwjIX-rH8Mz11b-jV6Ta5liTk,11566
|
|
189
|
-
jaclang/runtimelib/memory.py,sha256=
|
|
190
|
+
jaclang/runtimelib/memory.py,sha256=LrVTo6Cac0q-YG1wug-Fgc8O2Tue9zRHnxSulDw3ZQ4,5656
|
|
190
191
|
jaclang/runtimelib/test.py,sha256=HRCl3cf0uPTe58Kcx_sBUb6ow8J53rnmpFOhA7g9oAA,2851
|
|
191
|
-
jaclang/runtimelib/utils.py,sha256=
|
|
192
|
+
jaclang/runtimelib/utils.py,sha256=xcxO45lEwEBRrWeeAaRjqGZ4Ua-XMCeNv0lS6dHwGIk,8652
|
|
192
193
|
jaclang/settings.py,sha256=iLgVEA2fyARM5u-qMMMaEvNr88Qxej2NGZviw-R95kU,3681
|
|
193
194
|
jaclang/tests/fixtures/abc.jac,sha256=HZvLz6IEt3Snlgg8Czs-N4emLjg4fT3IbTo95d3Gdww,1747
|
|
194
195
|
jaclang/tests/fixtures/access_checker.jac,sha256=UVoY7sYW-R0ms2HDA4HXQ5xJNiW0vEbY2T5CCY1avus,281
|
|
@@ -306,7 +307,7 @@ jaclang/tests/foo/__init__.jac,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
306
307
|
jaclang/tests/main.jac,sha256=UJ4dASLCMA3wW78Rq3AHcq5GfXVY5QBm2S16OCrR1hQ,13
|
|
307
308
|
jaclang/tests/test_bugs.py,sha256=tBPsIlSPqZDIz4QaScNRT-WdGIdJ0uU-aRBWq1XUZ6o,555
|
|
308
309
|
jaclang/tests/test_cli.py,sha256=NeaAND5r5040L_WeENQmRZSahuUZBthZV0D2gWkTNLk,16525
|
|
309
|
-
jaclang/tests/test_language.py,sha256=
|
|
310
|
+
jaclang/tests/test_language.py,sha256=arJ-Ay8Ebnqv498B4tegjk_j9gv_dCQzUOqKxqbKuPM,50396
|
|
310
311
|
jaclang/tests/test_man_code.py,sha256=ZdNarlZVfT_-8Jv3FjLplHw76tsvkCuISyfX3M4qxPg,5027
|
|
311
312
|
jaclang/tests/test_reference.py,sha256=FISQpZbB8cmRoAeJOFfXUy13WVxykZjpkPSb1OTotfI,3340
|
|
312
313
|
jaclang/tests/test_settings.py,sha256=TIX5uiu8H9IpZN2__uFiclcdCpBpPpcAwtlEHyFC4kk,1999
|
|
@@ -1540,7 +1541,7 @@ jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA,sha256=BeUQIa8cnYbrjW
|
|
|
1540
1541
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD,sha256=XS4fBVrPI7kaNZ56Ggl2RGa76jySWLqTzcrUpZIQTVM,418
|
|
1541
1542
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
1542
1543
|
jaclang/vendor/typing_extensions.py,sha256=gwekpyG9DVG3lxWKX4ni8u7nk3We5slG98mA9F3DJQw,134451
|
|
1543
|
-
jaclang-0.7.
|
|
1544
|
-
jaclang-0.7.
|
|
1545
|
-
jaclang-0.7.
|
|
1546
|
-
jaclang-0.7.
|
|
1544
|
+
jaclang-0.7.27.dist-info/METADATA,sha256=cV-TTH-3xthCP6EsxBV_KuxpqbGGAsM145QLg6wqlKs,4965
|
|
1545
|
+
jaclang-0.7.27.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
1546
|
+
jaclang-0.7.27.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
|
|
1547
|
+
jaclang-0.7.27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|