jaclang 0.7.18__py3-none-any.whl → 0.7.20__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 (103) hide show
  1. jaclang/cli/cli.py +2 -2
  2. jaclang/compiler/absyntree.py +1 -1
  3. jaclang/compiler/parser.py +1 -1
  4. jaclang/compiler/passes/ir_pass.py +2 -0
  5. jaclang/compiler/passes/main/__init__.py +1 -1
  6. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +50 -13
  7. jaclang/compiler/passes/main/import_pass.py +29 -1
  8. jaclang/compiler/passes/main/py_collect_dep_pass.py +8 -0
  9. jaclang/compiler/passes/main/registry_pass.py +4 -0
  10. jaclang/compiler/passes/main/sym_tab_build_pass.py +0 -18
  11. jaclang/compiler/passes/main/tests/fixtures/mod_type_assign.jac +7 -0
  12. jaclang/compiler/passes/main/tests/fixtures/pygame_mock/__init__.pyi +3 -0
  13. jaclang/compiler/passes/main/tests/test_import_pass.py +10 -10
  14. jaclang/compiler/passes/main/tests/test_type_check_pass.py +1 -1
  15. jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +23 -1
  16. jaclang/compiler/passes/main/type_check_pass.py +4 -4
  17. jaclang/compiler/passes/tool/jac_formatter_pass.py +58 -30
  18. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/line_spacing.jac +57 -0
  19. jaclang/compiler/semtable.py +4 -4
  20. jaclang/compiler/symtable.py +5 -0
  21. jaclang/langserve/engine.py +68 -7
  22. jaclang/langserve/tests/test_server.py +3 -3
  23. jaclang/langserve/utils.py +0 -113
  24. jaclang/plugin/tests/test_jaseci.py +23 -4
  25. jaclang/runtimelib/importer.py +3 -0
  26. jaclang/runtimelib/machine.py +45 -3
  27. jaclang/runtimelib/memory.py +1 -1
  28. jaclang/settings.py +4 -0
  29. jaclang/stubs/jaclang/__init__.pyi +5 -0
  30. jaclang/stubs/jaclang/cli/__init__.pyi +0 -0
  31. jaclang/stubs/jaclang/cli/cli.pyi +58 -0
  32. jaclang/stubs/jaclang/cli/cmdreg.pyi +32 -0
  33. jaclang/stubs/jaclang/compiler/__init__.pyi +6 -0
  34. jaclang/stubs/jaclang/compiler/absyntree.pyi +1248 -0
  35. jaclang/stubs/jaclang/compiler/codeloc.pyi +45 -0
  36. jaclang/stubs/jaclang/compiler/compile.pyi +29 -0
  37. jaclang/stubs/jaclang/compiler/constant.pyi +287 -0
  38. jaclang/stubs/jaclang/compiler/generated/__init__.pyi +0 -0
  39. jaclang/stubs/jaclang/compiler/generated/jac_parser.pyi +898 -0
  40. jaclang/stubs/jaclang/compiler/parser.pyi +266 -0
  41. jaclang/stubs/jaclang/compiler/passes/__init__.pyi +3 -0
  42. jaclang/stubs/jaclang/compiler/passes/ir_pass.pyi +40 -0
  43. jaclang/stubs/jaclang/compiler/passes/main/__init__.pyi +27 -0
  44. jaclang/stubs/jaclang/compiler/passes/main/access_modifier_pass.pyi +23 -0
  45. jaclang/stubs/jaclang/compiler/passes/main/def_impl_match_pass.pyi +12 -0
  46. jaclang/stubs/jaclang/compiler/passes/main/def_use_pass.pyi +31 -0
  47. jaclang/stubs/jaclang/compiler/passes/main/fuse_typeinfo_pass.pyi +66 -0
  48. jaclang/stubs/jaclang/compiler/passes/main/import_pass.pyi +34 -0
  49. jaclang/stubs/jaclang/compiler/passes/main/pyast_gen_pass.pyi +178 -0
  50. jaclang/stubs/jaclang/compiler/passes/main/pyast_load_pass.pyi +135 -0
  51. jaclang/stubs/jaclang/compiler/passes/main/pybc_gen_pass.pyi +6 -0
  52. jaclang/stubs/jaclang/compiler/passes/main/pyjac_ast_link_pass.pyi +22 -0
  53. jaclang/stubs/jaclang/compiler/passes/main/pyout_pass.pyi +9 -0
  54. jaclang/stubs/jaclang/compiler/passes/main/registry_pass.pyi +15 -0
  55. jaclang/stubs/jaclang/compiler/passes/main/schedules.pyi +19 -0
  56. jaclang/stubs/jaclang/compiler/passes/main/sub_node_tab_pass.pyi +6 -0
  57. jaclang/stubs/jaclang/compiler/passes/main/sym_tab_build_pass.pyi +147 -0
  58. jaclang/stubs/jaclang/compiler/passes/main/type_check_pass.pyi +11 -0
  59. jaclang/stubs/jaclang/compiler/passes/tool/__init__.pyi +4 -0
  60. jaclang/stubs/jaclang/compiler/passes/tool/fuse_comments_pass.pyi +12 -0
  61. jaclang/stubs/jaclang/compiler/passes/tool/jac_formatter_pass.pyi +134 -0
  62. jaclang/stubs/jaclang/compiler/passes/tool/schedules.pyi +11 -0
  63. jaclang/stubs/jaclang/compiler/passes/transform.pyi +28 -0
  64. jaclang/stubs/jaclang/compiler/passes/utils/__init__.pyi +0 -0
  65. jaclang/stubs/jaclang/compiler/passes/utils/mypy_ast_build.pyi +151 -0
  66. jaclang/stubs/jaclang/compiler/semtable.pyi +35 -0
  67. jaclang/stubs/jaclang/compiler/symtable.pyi +65 -0
  68. jaclang/stubs/jaclang/langserve/__init__.pyi +0 -0
  69. jaclang/stubs/jaclang/langserve/engine.pyi +73 -0
  70. jaclang/stubs/jaclang/langserve/sem_manager.pyi +89 -0
  71. jaclang/stubs/jaclang/langserve/server.pyi +38 -0
  72. jaclang/stubs/jaclang/langserve/utils.pyi +55 -0
  73. jaclang/stubs/jaclang/plugin/__init__.pyi +3 -0
  74. jaclang/stubs/jaclang/plugin/builtin.pyi +12 -0
  75. jaclang/stubs/jaclang/plugin/default.pyi +202 -0
  76. jaclang/stubs/jaclang/plugin/feature.pyi +176 -0
  77. jaclang/stubs/jaclang/plugin/spec.pyi +181 -0
  78. jaclang/stubs/jaclang/runtimelib/__init__.pyi +0 -0
  79. jaclang/stubs/jaclang/runtimelib/architype.pyi +133 -0
  80. jaclang/stubs/jaclang/runtimelib/constructs.pyi +41 -0
  81. jaclang/stubs/jaclang/runtimelib/context.pyi +48 -0
  82. jaclang/stubs/jaclang/runtimelib/importer.pyi +104 -0
  83. jaclang/stubs/jaclang/runtimelib/machine.pyi +6 -0
  84. jaclang/stubs/jaclang/runtimelib/memory.pyi +26 -0
  85. jaclang/stubs/jaclang/runtimelib/utils.pyi +35 -0
  86. jaclang/stubs/jaclang/settings.pyi +35 -0
  87. jaclang/stubs/jaclang/utils/__init__.pyi +0 -0
  88. jaclang/stubs/jaclang/utils/helpers.pyi +18 -0
  89. jaclang/stubs/jaclang/utils/lang_tools.pyi +43 -0
  90. jaclang/stubs/jaclang/utils/log.pyi +3 -0
  91. jaclang/stubs/jaclang/utils/treeprinter.pyi +47 -0
  92. jaclang/tests/fixtures/bar.jac +1 -1
  93. jaclang/tests/fixtures/builtins_test.jac +16 -0
  94. jaclang/tests/fixtures/foo.jac +0 -1
  95. jaclang/tests/fixtures/match_multi_ex.jac +12 -0
  96. jaclang/tests/fixtures/walker_update.jac +19 -0
  97. jaclang/tests/test_cli.py +29 -2
  98. jaclang/tests/test_language.py +70 -2
  99. jaclang/utils/treeprinter.py +1 -1
  100. {jaclang-0.7.18.dist-info → jaclang-0.7.20.dist-info}/METADATA +4 -2
  101. {jaclang-0.7.18.dist-info → jaclang-0.7.20.dist-info}/RECORD +103 -34
  102. {jaclang-0.7.18.dist-info → jaclang-0.7.20.dist-info}/WHEEL +0 -0
  103. {jaclang-0.7.18.dist-info → jaclang-0.7.20.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,45 @@
1
+ import ast as ast3
2
+ from _typeshed import Incomplete
3
+ from dataclasses import dataclass
4
+ from jaclang.compiler.absyntree import Token as Token
5
+ from jaclang.vendor.mypy.nodes import Node as MypyNode
6
+
7
+ @dataclass
8
+ class CodeGenTarget:
9
+ py: str = ...
10
+ jac: str = ...
11
+ py_ast: list[ast3.AST] = ...
12
+ mypy_ast: list[MypyNode] = ...
13
+ py_bytecode: bytes | None = ...
14
+ def clean(self) -> None: ...
15
+ def __init__(
16
+ self, py=..., jac=..., py_ast=..., mypy_ast=..., py_bytecode=...
17
+ ) -> None: ...
18
+
19
+ class CodeLocInfo:
20
+ first_tok: Incomplete
21
+ last_tok: Incomplete
22
+ def __init__(self, first_tok: Token, last_tok: Token) -> None: ...
23
+ @property
24
+ def mod_path(self) -> str: ...
25
+ @property
26
+ def first_line(self) -> int: ...
27
+ @property
28
+ def last_line(self) -> int: ...
29
+ @property
30
+ def col_start(self) -> int: ...
31
+ @property
32
+ def col_end(self) -> int: ...
33
+ @property
34
+ def pos_start(self) -> int: ...
35
+ @property
36
+ def pos_end(self) -> int: ...
37
+ @property
38
+ def tok_range(self) -> tuple[Token, Token]: ...
39
+ @property
40
+ def first_token(self) -> Token: ...
41
+ @property
42
+ def last_token(self) -> Token: ...
43
+ def update_token_range(self, first_tok: Token, last_tok: Token) -> None: ...
44
+ def update_first_token(self, first_tok: Token) -> None: ...
45
+ def update_last_token(self, last_tok: Token) -> None: ...
@@ -0,0 +1,29 @@
1
+ import jaclang.compiler.absyntree as ast
2
+ from jaclang.compiler.parser import JacParser as JacParser
3
+ from jaclang.compiler.passes import Pass as Pass
4
+ from jaclang.compiler.passes.main import (
5
+ PyOutPass as PyOutPass,
6
+ pass_schedule as pass_schedule,
7
+ )
8
+ from jaclang.compiler.passes.tool import JacFormatPass as JacFormatPass
9
+ from jaclang.compiler.passes.tool.schedules import format_pass as format_pass
10
+
11
+ def compile_jac(file_path: str, cache_result: bool = False) -> Pass: ...
12
+ def jac_file_to_pass(
13
+ file_path: str, target: type[Pass] | None = None, schedule: list[type[Pass]] = ...
14
+ ) -> Pass: ...
15
+ def jac_str_to_pass(
16
+ jac_str: str,
17
+ file_path: str,
18
+ target: type[Pass] | None = None,
19
+ schedule: list[type[Pass]] = ...,
20
+ ) -> Pass: ...
21
+ def jac_ir_to_pass(
22
+ ir: ast.AstNode, target: type[Pass] | None = None, schedule: list[type[Pass]] = ...
23
+ ) -> Pass: ...
24
+ def jac_pass_to_pass(
25
+ in_pass: Pass, target: type[Pass] | None = None, schedule: list[type[Pass]] = ...
26
+ ) -> Pass: ...
27
+ def jac_file_formatter(
28
+ file_path: str, schedule: list[type[Pass]] = ...
29
+ ) -> JacFormatPass: ...
@@ -0,0 +1,287 @@
1
+ from _typeshed import Incomplete
2
+ from enum import Enum, IntEnum, IntFlag, StrEnum
3
+
4
+ class SymbolType(Enum):
5
+ MODULE: str
6
+ MOD_VAR: str
7
+ VAR: str
8
+ IMM_VAR: str
9
+ ABILITY: str
10
+ OBJECT_ARCH: str
11
+ NODE_ARCH: str
12
+ EDGE_ARCH: str
13
+ WALKER_ARCH: str
14
+ ENUM_ARCH: str
15
+ TEST: str
16
+ TYPE: str
17
+ IMPL: str
18
+ HAS_VAR: str
19
+ METHOD: str
20
+ CONSTRUCTOR: str
21
+ ENUM_MEMBER: str
22
+ NUMBER: str
23
+ STRING: str
24
+ BOOL: str
25
+ SEQUENCE: str
26
+ NULL: str
27
+ UNKNOWN: str
28
+
29
+ class JacSemTokenType(IntEnum):
30
+ NAMESPACE: int
31
+ TYPE: int
32
+ CLASS: int
33
+ ENUM: int
34
+ INTERFACE: int
35
+ STRUCT: int
36
+ TYPE_PARAMETER: int
37
+ PARAMETER: int
38
+ VARIABLE: int
39
+ PROPERTY: int
40
+ ENUM_MEMBER: int
41
+ EVENT: int
42
+ FUNCTION: int
43
+ METHOD: int
44
+ MACRO: int
45
+ KEYWORD: int
46
+ MODIFIER: int
47
+ COMMENT: int
48
+ STRING: int
49
+ NUMBER: int
50
+ REGEXP: int
51
+ OPERATOR: int
52
+ @staticmethod
53
+ def as_str_list() -> list[str]: ...
54
+
55
+ class JacSemTokenModifier(IntFlag):
56
+ DECLARATION: Incomplete
57
+ DEFINITION: Incomplete
58
+ READONLY: Incomplete
59
+ STATIC: Incomplete
60
+ DEPRECATED: Incomplete
61
+ ABSTRACT: Incomplete
62
+ ASYNC: Incomplete
63
+ MODIFICATION: Incomplete
64
+ DOCUMENTATION: Incomplete
65
+ DEFAULT_LIBRARY: Incomplete
66
+ @staticmethod
67
+ def as_str_list() -> list[str]: ...
68
+
69
+ class Constants(StrEnum):
70
+ JAC_LANG_IMP: str
71
+ HERE: str
72
+ JAC_FEATURE: str
73
+ ROOT: Incomplete
74
+ EDGES_TO_NODE: str
75
+ EDGE_REF: str
76
+ CONNECT_NODE: str
77
+ DISCONNECT_NODE: str
78
+ WALKER_VISIT: str
79
+ WALKER_IGNORE: str
80
+ DISENGAGE: str
81
+ OBJECT_CLASS: str
82
+ NODE_CLASS: str
83
+ EDGE_CLASS: str
84
+ WALKER_CLASS: str
85
+ WITH_DIR: str
86
+ EDGE_DIR: str
87
+ ON_ENTRY: str
88
+ ON_EXIT: str
89
+ PYNLINE: str
90
+ JAC_GEN_DIR: str
91
+ JAC_MYPY_CACHE: str
92
+
93
+ class EdgeDir(Enum):
94
+ IN: int
95
+ OUT: int
96
+ ANY: int
97
+
98
+ class Values(int, Enum):
99
+ JAC_ERROR_LINE_RANGE: int
100
+
101
+ class SymbolAccess(Enum):
102
+ PRIVATE: str
103
+ PUBLIC: str
104
+ PROTECTED: str
105
+
106
+ class Tokens(str, Enum):
107
+ FLOAT: str
108
+ STRING: str
109
+ DOC_STRING: str
110
+ PYNLINE: str
111
+ BOOL: str
112
+ INT: str
113
+ HEX: str
114
+ BIN: str
115
+ OCT: str
116
+ NULL: str
117
+ NAME: str
118
+ KWESC_NAME: str
119
+ TYP_STRING: str
120
+ TYP_INT: str
121
+ TYP_FLOAT: str
122
+ TYP_LIST: str
123
+ TYP_TUPLE: str
124
+ TYP_SET: str
125
+ TYP_DICT: str
126
+ TYP_BOOL: str
127
+ TYP_BYTES: str
128
+ TYP_ANY: str
129
+ TYP_TYPE: str
130
+ KW_LET: str
131
+ KW_ABSTRACT: str
132
+ KW_OBJECT: str
133
+ KW_CLASS: str
134
+ KW_ENUM: str
135
+ KW_NODE: str
136
+ KW_IGNORE: str
137
+ KW_VISIT: str
138
+ KW_REVISIT: str
139
+ KW_SPAWN: str
140
+ KW_WITH: str
141
+ KW_ENTRY: str
142
+ KW_EXIT: str
143
+ KW_IMPORT: str
144
+ KW_INCLUDE: str
145
+ KW_FROM: str
146
+ KW_AS: str
147
+ KW_EDGE: str
148
+ KW_WALKER: str
149
+ KW_ASYNC: str
150
+ KW_AWAIT: str
151
+ KW_TEST: str
152
+ KW_ASSERT: str
153
+ KW_CHECK: str
154
+ COLON: str
155
+ PIPE_FWD: str
156
+ PIPE_BKWD: str
157
+ DOT_FWD: str
158
+ DOT_BKWD: str
159
+ LBRACE: str
160
+ RBRACE: str
161
+ SEMI: str
162
+ EQ: str
163
+ ADD_EQ: str
164
+ SUB_EQ: str
165
+ MUL_EQ: str
166
+ STAR_POW_EQ: str
167
+ FLOOR_DIV_EQ: str
168
+ DIV_EQ: str
169
+ MOD_EQ: str
170
+ BW_AND_EQ: str
171
+ BW_OR_EQ: str
172
+ BW_XOR_EQ: str
173
+ BW_NOT_EQ: str
174
+ LSHIFT_EQ: str
175
+ RSHIFT_EQ: str
176
+ WALRUS_EQ: str
177
+ MATMUL_EQ: str
178
+ KW_AND: str
179
+ KW_OR: str
180
+ KW_IF: str
181
+ KW_ELIF: str
182
+ KW_ELSE: str
183
+ KW_FOR: str
184
+ KW_TO: str
185
+ KW_BY: str
186
+ KW_WHILE: str
187
+ KW_CONTINUE: str
188
+ KW_BREAK: str
189
+ KW_DISENGAGE: str
190
+ KW_YIELD: str
191
+ KW_SKIP: str
192
+ KW_REPORT: str
193
+ KW_RETURN: str
194
+ KW_DELETE: str
195
+ KW_TRY: str
196
+ KW_EXCEPT: str
197
+ KW_FINALLY: str
198
+ KW_RAISE: str
199
+ ELLIPSIS: str
200
+ DOT: str
201
+ NOT: str
202
+ EE: str
203
+ LT: str
204
+ GT: str
205
+ LTE: str
206
+ GTE: str
207
+ NE: str
208
+ KW_IN: str
209
+ KW_IS: str
210
+ KW_NIN: str
211
+ KW_ISN: str
212
+ KW_PRIV: str
213
+ KW_PUB: str
214
+ KW_PROT: str
215
+ KW_HAS: str
216
+ KW_GLOBAL: str
217
+ COMMA: str
218
+ KW_CAN: str
219
+ KW_STATIC: str
220
+ KW_OVERRIDE: str
221
+ KW_MATCH: str
222
+ KW_CASE: str
223
+ PLUS: str
224
+ MINUS: str
225
+ STAR_MUL: str
226
+ FLOOR_DIV: str
227
+ DIV: str
228
+ MOD: str
229
+ BW_AND: str
230
+ BW_OR: str
231
+ BW_XOR: str
232
+ BW_NOT: str
233
+ LSHIFT: str
234
+ RSHIFT: str
235
+ STAR_POW: str
236
+ LPAREN: str
237
+ RPAREN: str
238
+ LSQUARE: str
239
+ RSQUARE: str
240
+ ARROW_L: str
241
+ ARROW_R: str
242
+ ARROW_BI: str
243
+ ARROW_L_P1: str
244
+ ARROW_L_P2: str
245
+ ARROW_R_P1: str
246
+ ARROW_R_P2: str
247
+ CARROW_L: str
248
+ CARROW_R: str
249
+ CARROW_BI: str
250
+ CARROW_L_P1: str
251
+ CARROW_L_P2: str
252
+ CARROW_R_P1: str
253
+ CARROW_R_P2: str
254
+ GLOBAL_OP: str
255
+ NONLOCAL_OP: str
256
+ KW_HERE: str
257
+ KW_SELF: str
258
+ KW_INIT: str
259
+ KW_SUPER: str
260
+ KW_ROOT: str
261
+ KW_POST_INIT: str
262
+ WALKER_OP: str
263
+ NODE_OP: str
264
+ EDGE_OP: str
265
+ CLASS_OP: str
266
+ OBJECT_OP: str
267
+ TYPE_OP: str
268
+ ENUM_OP: str
269
+ ABILITY_OP: str
270
+ A_PIPE_FWD: str
271
+ A_PIPE_BKWD: str
272
+ ELVIS_OP: str
273
+ RETURN_HINT: str
274
+ NULL_OK: str
275
+ DECOR_OP: str
276
+ FSTR_START: str
277
+ FSTR_END: str
278
+ FSTR_SQ_START: str
279
+ FSTR_SQ_END: str
280
+ FSTR_PIECE: str
281
+ FSTR_SQ_PIECE: str
282
+ FSTR_BESC: str
283
+ COMMENT: str
284
+ WS: str
285
+
286
+ DELIM_MAP: Incomplete
287
+ colors: Incomplete
File without changes