jaclang 0.0.6__py3-none-any.whl → 0.0.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/__init__.py +2 -1
- jaclang/cli/__jac_gen__/__init__.py +0 -0
- jaclang/cli/__jac_gen__/cli.py +175 -0
- jaclang/cli/__jac_gen__/cmds.py +132 -0
- jaclang/cli/cmds.jac +3 -0
- jaclang/cli/impl/__jac_gen__/__init__.py +0 -0
- jaclang/cli/impl/__jac_gen__/cli_impl.py +16 -0
- jaclang/cli/impl/__jac_gen__/cmds_impl.py +26 -0
- jaclang/cli/impl/cmds_impl.jac +17 -3
- jaclang/core/__jac_gen__/__init__.py +0 -0
- jaclang/core/__jac_gen__/primitives.py +567 -0
- jaclang/core/impl/__jac_gen__/__init__.py +0 -0
- jaclang/core/impl/__jac_gen__/arch_impl.py +24 -0
- jaclang/core/impl/__jac_gen__/element_impl.py +26 -0
- jaclang/core/impl/__jac_gen__/exec_ctx_impl.py +12 -0
- jaclang/core/impl/__jac_gen__/memory_impl.py +14 -0
- jaclang/core/impl/element_impl.jac +2 -2
- jaclang/core/primitives.jac +1 -0
- jaclang/jac/absyntree.py +65 -42
- jaclang/jac/constant.py +4 -0
- jaclang/jac/importer.py +18 -60
- jaclang/jac/langserve.py +26 -0
- jaclang/jac/lexer.py +9 -1
- jaclang/jac/parser.py +135 -123
- jaclang/jac/passes/blue/ast_build_pass.py +410 -353
- jaclang/jac/passes/blue/blue_pygen_pass.py +15 -0
- jaclang/jac/passes/blue/decl_def_match_pass.py +33 -21
- jaclang/jac/passes/blue/import_pass.py +1 -1
- jaclang/jac/passes/blue/pyout_pass.py +47 -12
- jaclang/jac/passes/blue/sym_tab_build_pass.py +38 -127
- jaclang/jac/passes/blue/tests/test_ast_build_pass.py +2 -2
- jaclang/jac/passes/blue/tests/test_blue_pygen_pass.py +9 -30
- jaclang/jac/passes/blue/tests/test_decl_def_match_pass.py +13 -13
- jaclang/jac/passes/blue/tests/test_sym_tab_build_pass.py +6 -4
- jaclang/jac/passes/ir_pass.py +1 -1
- jaclang/jac/passes/purple/__jac_gen__/__init__.py +0 -0
- jaclang/jac/passes/purple/__jac_gen__/analyze_pass.py +37 -0
- jaclang/jac/passes/purple/__jac_gen__/purple_pygen_pass.py +305 -0
- jaclang/jac/passes/purple/impl/__jac_gen__/__init__.py +0 -0
- jaclang/jac/passes/purple/impl/__jac_gen__/purple_pygen_pass_impl.py +23 -0
- jaclang/jac/symtable.py +12 -4
- jaclang/jac/tests/fixtures/__jac_gen__/__init__.py +0 -0
- jaclang/jac/tests/fixtures/__jac_gen__/hello_world.py +16 -0
- jaclang/jac/tests/fixtures/fam.jac +7 -8
- jaclang/jac/transform.py +4 -3
- jaclang/jac/transpiler.py +13 -9
- jaclang/utils/fstring_parser.py +2 -2
- jaclang/utils/helpers.py +41 -0
- jaclang/utils/test.py +30 -0
- jaclang/vendor/__init__.py +1 -0
- jaclang/vendor/pygls/__init__.py +25 -0
- jaclang/vendor/pygls/capabilities.py +502 -0
- jaclang/vendor/pygls/client.py +176 -0
- jaclang/vendor/pygls/constants.py +26 -0
- jaclang/vendor/pygls/exceptions.py +220 -0
- jaclang/vendor/pygls/feature_manager.py +241 -0
- jaclang/vendor/pygls/lsp/__init__.py +139 -0
- jaclang/vendor/pygls/lsp/client.py +2224 -0
- jaclang/vendor/pygls/lsprotocol/__init__.py +2 -0
- jaclang/vendor/pygls/lsprotocol/_hooks.py +1233 -0
- jaclang/vendor/pygls/lsprotocol/converters.py +17 -0
- jaclang/vendor/pygls/lsprotocol/types.py +12820 -0
- jaclang/vendor/pygls/lsprotocol/validators.py +47 -0
- jaclang/vendor/pygls/progress.py +79 -0
- jaclang/vendor/pygls/protocol.py +1184 -0
- jaclang/vendor/pygls/server.py +620 -0
- jaclang/vendor/pygls/uris.py +184 -0
- jaclang/vendor/pygls/workspace/__init__.py +81 -0
- jaclang/vendor/pygls/workspace/position.py +204 -0
- jaclang/vendor/pygls/workspace/text_document.py +234 -0
- jaclang/vendor/pygls/workspace/workspace.py +311 -0
- {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/METADATA +1 -1
- jaclang-0.0.8.dist-info/RECORD +118 -0
- jaclang/core/jaclang.jac +0 -62
- jaclang-0.0.6.dist-info/RECORD +0 -76
- /jaclang/{utils → vendor}/sly/__init__.py +0 -0
- /jaclang/{utils → vendor}/sly/docparse.py +0 -0
- /jaclang/{utils → vendor}/sly/lex.py +0 -0
- /jaclang/{utils → vendor}/sly/yacc.py +0 -0
- {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/WHEEL +0 -0
- {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/entry_points.txt +0 -0
- {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/top_level.txt +0 -0
|
@@ -13,12 +13,12 @@ class SymTabBuildPass(Pass):
|
|
|
13
13
|
"""Before pass."""
|
|
14
14
|
self.cur_sym_tab: list[SymbolTable] = []
|
|
15
15
|
|
|
16
|
-
def push_scope(self, name: str, fresh: bool = False) -> None:
|
|
16
|
+
def push_scope(self, name: str, key_node: ast.AstNode, fresh: bool = False) -> None:
|
|
17
17
|
"""Push scope."""
|
|
18
18
|
if fresh:
|
|
19
|
-
self.cur_sym_tab.append(SymbolTable(name))
|
|
19
|
+
self.cur_sym_tab.append(SymbolTable(name, key_node))
|
|
20
20
|
else:
|
|
21
|
-
self.cur_sym_tab.append(self.cur_scope().push_scope(name))
|
|
21
|
+
self.cur_sym_tab.append(self.cur_scope().push_scope(name, key_node))
|
|
22
22
|
|
|
23
23
|
def pop_scope(self) -> None:
|
|
24
24
|
"""Pop scope."""
|
|
@@ -38,6 +38,7 @@ class SymTabBuildPass(Pass):
|
|
|
38
38
|
typ: str,
|
|
39
39
|
original: ast.AstNode,
|
|
40
40
|
other_nodes: Optional[list[ast.AstNode]] = None,
|
|
41
|
+
warn_only: bool = False,
|
|
41
42
|
) -> None:
|
|
42
43
|
"""Already declared error."""
|
|
43
44
|
mod_path = original.mod_link.rel_mod_path if original.mod_link else self.ice()
|
|
@@ -49,7 +50,7 @@ class SymTabBuildPass(Pass):
|
|
|
49
50
|
for i in other_nodes:
|
|
50
51
|
mod_path = i.mod_link.rel_mod_path if i.mod_link else self.ice()
|
|
51
52
|
err_msg += f", also see {mod_path}, line {i.line}"
|
|
52
|
-
self.
|
|
53
|
+
self.warning(err_msg)
|
|
53
54
|
|
|
54
55
|
def enter_module(self, node: ast.Module) -> None:
|
|
55
56
|
"""Sub objects.
|
|
@@ -60,9 +61,8 @@ class SymTabBuildPass(Pass):
|
|
|
60
61
|
mod_path: str,
|
|
61
62
|
rel_mod_path: str,
|
|
62
63
|
is_imported: bool,
|
|
63
|
-
sym_tab: Optional[SymbolTable],
|
|
64
64
|
"""
|
|
65
|
-
self.push_scope(node.name, fresh=True)
|
|
65
|
+
self.push_scope(node.name, node, fresh=True)
|
|
66
66
|
self.sync_node_to_scope(node)
|
|
67
67
|
|
|
68
68
|
def exit_module(self, node: ast.Module) -> None:
|
|
@@ -74,7 +74,6 @@ class SymTabBuildPass(Pass):
|
|
|
74
74
|
mod_path: str,
|
|
75
75
|
rel_mod_path: str,
|
|
76
76
|
is_imported: bool,
|
|
77
|
-
sym_tab: Optional[SymbolTable],
|
|
78
77
|
"""
|
|
79
78
|
self.pop_scope()
|
|
80
79
|
|
|
@@ -82,7 +81,6 @@ class SymTabBuildPass(Pass):
|
|
|
82
81
|
"""Sub objects.
|
|
83
82
|
|
|
84
83
|
elements: list[GlobalVars | Test | ModuleCode | Import | Architype | Ability],
|
|
85
|
-
sym_tab: Optional[SymbolTable],
|
|
86
84
|
"""
|
|
87
85
|
self.sync_node_to_scope(node)
|
|
88
86
|
|
|
@@ -93,7 +91,6 @@ class SymTabBuildPass(Pass):
|
|
|
93
91
|
access: Optional[Token],
|
|
94
92
|
assignments: 'AssignmentList',
|
|
95
93
|
is_frozen: bool,
|
|
96
|
-
sym_tab: Optional[SymbolTable],
|
|
97
94
|
"""
|
|
98
95
|
for i in self.get_all_sub_nodes(node, ast.Assignment):
|
|
99
96
|
if not isinstance(i.target, ast.Name):
|
|
@@ -115,7 +112,6 @@ class SymTabBuildPass(Pass):
|
|
|
115
112
|
doc: Optional[Token],
|
|
116
113
|
description: Token,
|
|
117
114
|
body: CodeBlock,
|
|
118
|
-
sym_tab: Optional[SymbolTable],
|
|
119
115
|
"""
|
|
120
116
|
if node.name and (
|
|
121
117
|
collide := self.cur_scope().insert(
|
|
@@ -127,8 +123,8 @@ class SymTabBuildPass(Pass):
|
|
|
127
123
|
)
|
|
128
124
|
):
|
|
129
125
|
self.already_declared_err(node.name.value, "test", collide)
|
|
126
|
+
self.push_scope(node.name.value, node)
|
|
130
127
|
self.sync_node_to_scope(node)
|
|
131
|
-
self.push_scope(node.name.value)
|
|
132
128
|
|
|
133
129
|
def exit_test(self, node: ast.Test) -> None:
|
|
134
130
|
"""Sub objects.
|
|
@@ -137,7 +133,6 @@ class SymTabBuildPass(Pass):
|
|
|
137
133
|
doc: Optional[Token],
|
|
138
134
|
description: Token,
|
|
139
135
|
body: CodeBlock,
|
|
140
|
-
sym_tab: Optional[SymbolTable],
|
|
141
136
|
"""
|
|
142
137
|
self.pop_scope()
|
|
143
138
|
|
|
@@ -148,18 +143,24 @@ class SymTabBuildPass(Pass):
|
|
|
148
143
|
name: Optional[Name],
|
|
149
144
|
body: CodeBlock,
|
|
150
145
|
"""
|
|
146
|
+
self.push_scope("module_code", node)
|
|
151
147
|
self.sync_node_to_scope(node)
|
|
152
|
-
self.push_scope("module_code")
|
|
153
148
|
|
|
154
149
|
def exit_module_code(self, node: ast.ModuleCode) -> None:
|
|
155
150
|
"""Sub objects.
|
|
156
151
|
|
|
157
152
|
doc: Optional[Token],
|
|
158
153
|
body: 'CodeBlock',
|
|
159
|
-
sym_tab: Optional[SymbolTable],
|
|
160
154
|
"""
|
|
161
155
|
self.pop_scope()
|
|
162
156
|
|
|
157
|
+
def enter_py_inline_code(self, node: ast.PyInlineCode) -> None:
|
|
158
|
+
"""Sub objects.
|
|
159
|
+
|
|
160
|
+
code: Token,
|
|
161
|
+
"""
|
|
162
|
+
self.sync_node_to_scope(node)
|
|
163
|
+
|
|
163
164
|
def enter_import(self, node: ast.Import) -> None:
|
|
164
165
|
"""Sub objects.
|
|
165
166
|
|
|
@@ -168,7 +169,6 @@ class SymTabBuildPass(Pass):
|
|
|
168
169
|
alias: Optional[Name],
|
|
169
170
|
items: Optional[ModuleItems],
|
|
170
171
|
is_absorb: bool,
|
|
171
|
-
sym_tab: Optional[SymbolTable],
|
|
172
172
|
sub_module: Optional[Module],
|
|
173
173
|
"""
|
|
174
174
|
if node.items:
|
|
@@ -192,7 +192,6 @@ class SymTabBuildPass(Pass):
|
|
|
192
192
|
alias: Optional[Name],
|
|
193
193
|
items: Optional[ModuleItems],
|
|
194
194
|
is_absorb: bool,
|
|
195
|
-
sym_tab: Optional[SymbolTable],
|
|
196
195
|
sub_module: Optional[Module],
|
|
197
196
|
"""
|
|
198
197
|
if node.is_absorb:
|
|
@@ -228,7 +227,6 @@ class SymTabBuildPass(Pass):
|
|
|
228
227
|
"""Sub objects.
|
|
229
228
|
|
|
230
229
|
path: list[Token],
|
|
231
|
-
sym_tab: Optional[SymbolTable],
|
|
232
230
|
"""
|
|
233
231
|
self.sync_node_to_scope(node)
|
|
234
232
|
|
|
@@ -237,7 +235,6 @@ class SymTabBuildPass(Pass):
|
|
|
237
235
|
|
|
238
236
|
name: Name,
|
|
239
237
|
alias: Optional[Token],
|
|
240
|
-
sym_tab: Optional[SymbolTable],
|
|
241
238
|
body: Optional[AstNode],
|
|
242
239
|
"""
|
|
243
240
|
self.sync_node_to_scope(node)
|
|
@@ -246,7 +243,6 @@ class SymTabBuildPass(Pass):
|
|
|
246
243
|
"""Sub objects.
|
|
247
244
|
|
|
248
245
|
items: list['ModuleItem'],
|
|
249
|
-
sym_tab: Optional[SymbolTable],
|
|
250
246
|
"""
|
|
251
247
|
self.sync_node_to_scope(node)
|
|
252
248
|
|
|
@@ -260,7 +256,6 @@ class SymTabBuildPass(Pass):
|
|
|
260
256
|
access: Optional[Token],
|
|
261
257
|
base_classes: BaseClasses,
|
|
262
258
|
body: Optional[ArchBlock],
|
|
263
|
-
sym_tab: Optional[SymbolTable],
|
|
264
259
|
"""
|
|
265
260
|
if collide := self.cur_scope().insert(
|
|
266
261
|
name=node.name.value,
|
|
@@ -270,8 +265,8 @@ class SymTabBuildPass(Pass):
|
|
|
270
265
|
single=True,
|
|
271
266
|
):
|
|
272
267
|
self.already_declared_err(node.name.value, "architype", collide)
|
|
268
|
+
self.push_scope(node.name.value, node)
|
|
273
269
|
self.sync_node_to_scope(node)
|
|
274
|
-
self.push_scope(node.name.value)
|
|
275
270
|
|
|
276
271
|
def exit_architype(self, node: ast.Architype) -> None:
|
|
277
272
|
"""Sub objects.
|
|
@@ -283,7 +278,6 @@ class SymTabBuildPass(Pass):
|
|
|
283
278
|
access: Optional[Token],
|
|
284
279
|
base_classes: BaseClasses,
|
|
285
280
|
body: Optional[ArchBlock],
|
|
286
|
-
sym_tab: Optional[SymbolTable],
|
|
287
281
|
"""
|
|
288
282
|
self.pop_scope()
|
|
289
283
|
|
|
@@ -294,19 +288,18 @@ class SymTabBuildPass(Pass):
|
|
|
294
288
|
mod: Optional[DottedNameList],
|
|
295
289
|
arch: ArchRef,
|
|
296
290
|
body: ArchBlock,
|
|
297
|
-
sym_tab: Optional[SymbolTable],
|
|
298
291
|
"""
|
|
299
|
-
name = node.
|
|
292
|
+
name = node.target.py_resolve_name()
|
|
300
293
|
if collide := self.cur_scope().insert(
|
|
301
294
|
name=name,
|
|
302
|
-
sym_type=St.
|
|
295
|
+
sym_type=St.IMPL,
|
|
303
296
|
sym_hit=Sht.DEFN,
|
|
304
297
|
node=node,
|
|
305
298
|
single=True,
|
|
306
299
|
):
|
|
307
300
|
self.already_declared_err(name, "architype def", collide)
|
|
301
|
+
self.push_scope(name, node)
|
|
308
302
|
self.sync_node_to_scope(node)
|
|
309
|
-
self.push_scope(name)
|
|
310
303
|
|
|
311
304
|
def exit_arch_def(self, node: ast.ArchDef) -> None:
|
|
312
305
|
"""Sub objects.
|
|
@@ -315,7 +308,6 @@ class SymTabBuildPass(Pass):
|
|
|
315
308
|
mod: Optional[DottedNameList],
|
|
316
309
|
arch: ArchRef,
|
|
317
310
|
body: ArchBlock,
|
|
318
|
-
sym_tab: Optional[SymbolTable],
|
|
319
311
|
"""
|
|
320
312
|
self.pop_scope()
|
|
321
313
|
|
|
@@ -323,7 +315,6 @@ class SymTabBuildPass(Pass):
|
|
|
323
315
|
"""Sub objects.
|
|
324
316
|
|
|
325
317
|
calls: list[ExprType],
|
|
326
|
-
sym_tab: Optional[SymbolTable],
|
|
327
318
|
"""
|
|
328
319
|
self.sync_node_to_scope(node)
|
|
329
320
|
|
|
@@ -331,7 +322,6 @@ class SymTabBuildPass(Pass):
|
|
|
331
322
|
"""Sub objects.
|
|
332
323
|
|
|
333
324
|
base_classes: list[DottedNameList],
|
|
334
|
-
sym_tab: Optional[SymbolTable],
|
|
335
325
|
"""
|
|
336
326
|
self.sync_node_to_scope(node)
|
|
337
327
|
|
|
@@ -347,17 +337,10 @@ class SymTabBuildPass(Pass):
|
|
|
347
337
|
access: Optional[Token],
|
|
348
338
|
signature: Optional[FuncSignature | TypeSpec | EventSignature],
|
|
349
339
|
body: Optional[CodeBlock],
|
|
350
|
-
sym_tab: Optional[SymbolTable],
|
|
351
340
|
arch_attached: Optional[ArchBlock],
|
|
352
341
|
"""
|
|
353
|
-
ability_name = node.
|
|
354
|
-
|
|
355
|
-
relevant_scope = (
|
|
356
|
-
self.cur_scope()
|
|
357
|
-
if not node.arch_attached
|
|
358
|
-
else self.cur_scope().get_parent()
|
|
359
|
-
)
|
|
360
|
-
if collide := relevant_scope.insert(
|
|
342
|
+
ability_name = node.py_resolve_name()
|
|
343
|
+
if collide := self.cur_scope().insert(
|
|
361
344
|
name=ability_name,
|
|
362
345
|
sym_type=St.ABILITY,
|
|
363
346
|
sym_hit=Sht.DECL_DEFN if node.body else Sht.DECL,
|
|
@@ -365,8 +348,8 @@ class SymTabBuildPass(Pass):
|
|
|
365
348
|
single=True,
|
|
366
349
|
):
|
|
367
350
|
self.already_declared_err(ability_name, "ability", collide)
|
|
351
|
+
self.push_scope(ability_name, node)
|
|
368
352
|
self.sync_node_to_scope(node)
|
|
369
|
-
self.push_scope(ability_name)
|
|
370
353
|
|
|
371
354
|
def exit_ability(self, node: ast.Ability) -> None:
|
|
372
355
|
"""Sub objects.
|
|
@@ -380,7 +363,6 @@ class SymTabBuildPass(Pass):
|
|
|
380
363
|
access: Optional[Token],
|
|
381
364
|
signature: Optional[FuncSignature | TypeSpec | EventSignature],
|
|
382
365
|
body: Optional[CodeBlock],
|
|
383
|
-
sym_tab: Optional[SymbolTable],
|
|
384
366
|
arch_attached: Optional[ArchBlock],
|
|
385
367
|
"""
|
|
386
368
|
self.pop_scope()
|
|
@@ -389,23 +371,21 @@ class SymTabBuildPass(Pass):
|
|
|
389
371
|
"""Sub objects.
|
|
390
372
|
|
|
391
373
|
doc: Optional[Token],
|
|
392
|
-
target:
|
|
393
|
-
ability: ArchRef,
|
|
374
|
+
target: ArchRefChain,
|
|
394
375
|
signature: FuncSignature | EventSignature,
|
|
395
376
|
body: CodeBlock,
|
|
396
|
-
sym_tab: Optional[SymbolTable],
|
|
397
377
|
"""
|
|
398
|
-
ability_name = node.py_resolve_name()
|
|
378
|
+
ability_name = node.target.py_resolve_name()
|
|
399
379
|
if collide := self.cur_scope().insert(
|
|
400
380
|
name=ability_name,
|
|
401
|
-
sym_type=St.
|
|
381
|
+
sym_type=St.IMPL,
|
|
402
382
|
sym_hit=Sht.DEFN,
|
|
403
383
|
node=node,
|
|
404
384
|
single=True,
|
|
405
385
|
):
|
|
406
386
|
self.already_declared_err(ability_name, "ability def", collide)
|
|
387
|
+
self.push_scope(ability_name, node)
|
|
407
388
|
self.sync_node_to_scope(node)
|
|
408
|
-
self.push_scope(ability_name)
|
|
409
389
|
|
|
410
390
|
def exit_ability_def(self, node: ast.AbilityDef) -> None:
|
|
411
391
|
"""Sub objects.
|
|
@@ -415,7 +395,6 @@ class SymTabBuildPass(Pass):
|
|
|
415
395
|
ability: ArchRef,
|
|
416
396
|
signature: FuncSignature | EventSignature,
|
|
417
397
|
body: CodeBlock,
|
|
418
|
-
sym_tab: Optional[SymbolTable],
|
|
419
398
|
"""
|
|
420
399
|
self.pop_scope()
|
|
421
400
|
|
|
@@ -425,7 +404,6 @@ class SymTabBuildPass(Pass):
|
|
|
425
404
|
event: Token,
|
|
426
405
|
arch_tag_info: Optional[TypeSpecList],
|
|
427
406
|
return_type: Optional['TypeSpec'],
|
|
428
|
-
sym_tab: Optional[SymbolTable],
|
|
429
407
|
"""
|
|
430
408
|
self.sync_node_to_scope(node)
|
|
431
409
|
|
|
@@ -433,7 +411,13 @@ class SymTabBuildPass(Pass):
|
|
|
433
411
|
"""Sub objects.
|
|
434
412
|
|
|
435
413
|
names: list[Token | SpecialVarRef | ArchRef | Name],
|
|
436
|
-
|
|
414
|
+
"""
|
|
415
|
+
self.sync_node_to_scope(node)
|
|
416
|
+
|
|
417
|
+
def enter_arch_ref_chain(self, node: ast.ArchRefChain) -> None:
|
|
418
|
+
"""Sub objects.
|
|
419
|
+
|
|
420
|
+
archs: list[ArchRef],
|
|
437
421
|
"""
|
|
438
422
|
self.sync_node_to_scope(node)
|
|
439
423
|
|
|
@@ -442,7 +426,6 @@ class SymTabBuildPass(Pass):
|
|
|
442
426
|
|
|
443
427
|
params: Optional['FuncParams'],
|
|
444
428
|
return_type: Optional['TypeSpec'],
|
|
445
|
-
sym_tab: Optional[SymbolTable],
|
|
446
429
|
"""
|
|
447
430
|
self.sync_node_to_scope(node)
|
|
448
431
|
|
|
@@ -450,7 +433,6 @@ class SymTabBuildPass(Pass):
|
|
|
450
433
|
"""Sub objects.
|
|
451
434
|
|
|
452
435
|
params: list['ParamVar'],
|
|
453
|
-
sym_tab: Optional[SymbolTable],
|
|
454
436
|
"""
|
|
455
437
|
self.sync_node_to_scope(node)
|
|
456
438
|
|
|
@@ -461,7 +443,6 @@ class SymTabBuildPass(Pass):
|
|
|
461
443
|
unpack: Optional[Token],
|
|
462
444
|
type_tag: 'TypeSpec',
|
|
463
445
|
value: Optional[ExprType],
|
|
464
|
-
sym_tab: Optional[SymbolTable],
|
|
465
446
|
"""
|
|
466
447
|
self.sync_node_to_scope(node)
|
|
467
448
|
|
|
@@ -474,7 +455,6 @@ class SymTabBuildPass(Pass):
|
|
|
474
455
|
access: Optional[Token],
|
|
475
456
|
base_classes: 'BaseClasses',
|
|
476
457
|
body: Optional['EnumBlock'],
|
|
477
|
-
sym_tab: Optional[SymbolTable],
|
|
478
458
|
"""
|
|
479
459
|
if collide := self.cur_scope().insert(
|
|
480
460
|
name=node.name.value,
|
|
@@ -484,8 +464,8 @@ class SymTabBuildPass(Pass):
|
|
|
484
464
|
single=True,
|
|
485
465
|
):
|
|
486
466
|
self.already_declared_err(node.name.value, "enum", collide)
|
|
467
|
+
self.push_scope(node.name.value, node)
|
|
487
468
|
self.sync_node_to_scope(node)
|
|
488
|
-
self.push_scope(node.name.value)
|
|
489
469
|
|
|
490
470
|
def exit_enum(self, node: ast.Enum) -> None:
|
|
491
471
|
"""Sub objects.
|
|
@@ -496,7 +476,6 @@ class SymTabBuildPass(Pass):
|
|
|
496
476
|
access: Optional[Token],
|
|
497
477
|
base_classes: 'BaseClasses',
|
|
498
478
|
body: Optional['EnumBlock'],
|
|
499
|
-
sym_tab: Optional[SymbolTable],
|
|
500
479
|
"""
|
|
501
480
|
self.pop_scope()
|
|
502
481
|
|
|
@@ -504,22 +483,20 @@ class SymTabBuildPass(Pass):
|
|
|
504
483
|
"""Sub objects.
|
|
505
484
|
|
|
506
485
|
doc: Optional[Token],
|
|
507
|
-
|
|
508
|
-
mod: Optional[DottedNameList],
|
|
486
|
+
target: list[ArchRef],
|
|
509
487
|
body: EnumBlock,
|
|
510
|
-
sym_tab: Optional[SymbolTable],
|
|
511
488
|
"""
|
|
512
|
-
name = node.
|
|
489
|
+
name = node.target.py_resolve_name()
|
|
513
490
|
if collide := self.cur_scope().insert(
|
|
514
491
|
name=name,
|
|
515
|
-
sym_type=St.
|
|
492
|
+
sym_type=St.IMPL,
|
|
516
493
|
sym_hit=Sht.DEFN,
|
|
517
494
|
node=node,
|
|
518
495
|
single=True,
|
|
519
496
|
):
|
|
520
497
|
self.already_declared_err(name, "enum def", collide)
|
|
498
|
+
self.push_scope(name, node)
|
|
521
499
|
self.sync_node_to_scope(node)
|
|
522
|
-
self.push_scope(name)
|
|
523
500
|
|
|
524
501
|
def exit_enum_def(self, node: ast.EnumDef) -> None:
|
|
525
502
|
"""Sub objects.
|
|
@@ -528,7 +505,6 @@ class SymTabBuildPass(Pass):
|
|
|
528
505
|
enum: ArchRef,
|
|
529
506
|
mod: Optional[DottedNameList],
|
|
530
507
|
body: EnumBlock,
|
|
531
|
-
sym_tab: Optional[SymbolTable],
|
|
532
508
|
"""
|
|
533
509
|
self.pop_scope()
|
|
534
510
|
|
|
@@ -536,7 +512,6 @@ class SymTabBuildPass(Pass):
|
|
|
536
512
|
"""Sub objects.
|
|
537
513
|
|
|
538
514
|
stmts: list['Name|Assignment'],
|
|
539
|
-
sym_tab: Optional[SymbolTable],
|
|
540
515
|
"""
|
|
541
516
|
self.sync_node_to_scope(node)
|
|
542
517
|
|
|
@@ -544,7 +519,6 @@ class SymTabBuildPass(Pass):
|
|
|
544
519
|
"""Sub objects.
|
|
545
520
|
|
|
546
521
|
members: list['ArchHas | Ability'],
|
|
547
|
-
sym_tab: Optional[SymbolTable],
|
|
548
522
|
"""
|
|
549
523
|
for i in self.get_all_sub_nodes(node, ast.Ability):
|
|
550
524
|
i.arch_attached = node
|
|
@@ -558,7 +532,6 @@ class SymTabBuildPass(Pass):
|
|
|
558
532
|
access: Optional[Token],
|
|
559
533
|
vars: 'HasVarList',
|
|
560
534
|
is_frozen: bool,
|
|
561
|
-
sym_tab: Optional[SymbolTable],
|
|
562
535
|
"""
|
|
563
536
|
self.sync_node_to_scope(node)
|
|
564
537
|
|
|
@@ -568,7 +541,6 @@ class SymTabBuildPass(Pass):
|
|
|
568
541
|
name: Name,
|
|
569
542
|
type_tag: 'TypeSpec',
|
|
570
543
|
value: Optional[ExprType],
|
|
571
|
-
sym_tab: Optional[SymbolTable],
|
|
572
544
|
"""
|
|
573
545
|
self.sync_node_to_scope(node)
|
|
574
546
|
|
|
@@ -576,7 +548,6 @@ class SymTabBuildPass(Pass):
|
|
|
576
548
|
"""Sub objects.
|
|
577
549
|
|
|
578
550
|
vars: list['HasVar'],
|
|
579
|
-
sym_tab: Optional[SymbolTable],
|
|
580
551
|
"""
|
|
581
552
|
self.sync_node_to_scope(node)
|
|
582
553
|
|
|
@@ -587,7 +558,6 @@ class SymTabBuildPass(Pass):
|
|
|
587
558
|
list_nest: TypeSpec,
|
|
588
559
|
dict_nest: TypeSpec,
|
|
589
560
|
null_ok: bool,
|
|
590
|
-
sym_tab: Optional[SymbolTable],
|
|
591
561
|
"""
|
|
592
562
|
self.sync_node_to_scope(node)
|
|
593
563
|
|
|
@@ -595,7 +565,6 @@ class SymTabBuildPass(Pass):
|
|
|
595
565
|
"""Sub objects.
|
|
596
566
|
|
|
597
567
|
types: list[TypeSpec],
|
|
598
|
-
sym_tab: Optional[SymbolTable],
|
|
599
568
|
"""
|
|
600
569
|
self.sync_node_to_scope(node)
|
|
601
570
|
|
|
@@ -603,7 +572,6 @@ class SymTabBuildPass(Pass):
|
|
|
603
572
|
"""Sub objects.
|
|
604
573
|
|
|
605
574
|
stmts: list[StmtType],
|
|
606
|
-
sym_tab: Optional[SymbolTable],
|
|
607
575
|
"""
|
|
608
576
|
self.sync_node_to_scope(node)
|
|
609
577
|
|
|
@@ -612,7 +580,6 @@ class SymTabBuildPass(Pass):
|
|
|
612
580
|
|
|
613
581
|
type_ctx: TypeSpecList,
|
|
614
582
|
body: CodeBlock,
|
|
615
|
-
sym_tab: Optional[SymbolTable],
|
|
616
583
|
"""
|
|
617
584
|
self.sync_node_to_scope(node)
|
|
618
585
|
|
|
@@ -623,7 +590,6 @@ class SymTabBuildPass(Pass):
|
|
|
623
590
|
body: 'CodeBlock',
|
|
624
591
|
elseifs: Optional['ElseIfs'],
|
|
625
592
|
else_body: Optional['ElseStmt'],
|
|
626
|
-
sym_tab: Optional[SymbolTable],
|
|
627
593
|
"""
|
|
628
594
|
self.sync_node_to_scope(node)
|
|
629
595
|
|
|
@@ -631,7 +597,6 @@ class SymTabBuildPass(Pass):
|
|
|
631
597
|
"""Sub objects.
|
|
632
598
|
|
|
633
599
|
elseifs: list['IfStmt'],
|
|
634
|
-
sym_tab: Optional[SymbolTable],
|
|
635
600
|
"""
|
|
636
601
|
self.sync_node_to_scope(node)
|
|
637
602
|
|
|
@@ -639,7 +604,6 @@ class SymTabBuildPass(Pass):
|
|
|
639
604
|
"""Sub objects.
|
|
640
605
|
|
|
641
606
|
body: 'CodeBlock',
|
|
642
|
-
sym_tab: Optional[SymbolTable],
|
|
643
607
|
"""
|
|
644
608
|
self.sync_node_to_scope(node)
|
|
645
609
|
|
|
@@ -649,7 +613,6 @@ class SymTabBuildPass(Pass):
|
|
|
649
613
|
body: 'CodeBlock',
|
|
650
614
|
excepts: Optional['ExceptList'],
|
|
651
615
|
finally_body: Optional['FinallyStmt'],
|
|
652
|
-
sym_tab: Optional[SymbolTable],
|
|
653
616
|
"""
|
|
654
617
|
self.sync_node_to_scope(node)
|
|
655
618
|
|
|
@@ -659,7 +622,6 @@ class SymTabBuildPass(Pass):
|
|
|
659
622
|
ex_type: ExprType,
|
|
660
623
|
name: Optional[Token],
|
|
661
624
|
body: 'CodeBlock',
|
|
662
|
-
sym_tab: Optional[SymbolTable],
|
|
663
625
|
"""
|
|
664
626
|
self.sync_node_to_scope(node)
|
|
665
627
|
|
|
@@ -667,7 +629,6 @@ class SymTabBuildPass(Pass):
|
|
|
667
629
|
"""Sub objects.
|
|
668
630
|
|
|
669
631
|
excepts: list['Except'],
|
|
670
|
-
sym_tab: Optional[SymbolTable],
|
|
671
632
|
"""
|
|
672
633
|
self.sync_node_to_scope(node)
|
|
673
634
|
|
|
@@ -675,7 +636,6 @@ class SymTabBuildPass(Pass):
|
|
|
675
636
|
"""Sub objects.
|
|
676
637
|
|
|
677
638
|
body: 'CodeBlock',
|
|
678
|
-
sym_tab: Optional[SymbolTable],
|
|
679
639
|
"""
|
|
680
640
|
self.sync_node_to_scope(node)
|
|
681
641
|
|
|
@@ -686,7 +646,6 @@ class SymTabBuildPass(Pass):
|
|
|
686
646
|
condition: ExprType,
|
|
687
647
|
count_by: ExprType,
|
|
688
648
|
body: 'CodeBlock',
|
|
689
|
-
sym_tab: Optional[SymbolTable],
|
|
690
649
|
"""
|
|
691
650
|
self.sync_node_to_scope(node)
|
|
692
651
|
|
|
@@ -696,7 +655,6 @@ class SymTabBuildPass(Pass):
|
|
|
696
655
|
name_list: NameList,
|
|
697
656
|
collection: ExprType,
|
|
698
657
|
body: CodeBlock,
|
|
699
|
-
sym_tab: Optional[SymbolTable],
|
|
700
658
|
"""
|
|
701
659
|
self.sync_node_to_scope(node)
|
|
702
660
|
|
|
@@ -708,7 +666,6 @@ class SymTabBuildPass(Pass):
|
|
|
708
666
|
col_start: int,
|
|
709
667
|
col_end: int,
|
|
710
668
|
already_declared: bool,
|
|
711
|
-
sym_tab: Optional[SymbolTable],
|
|
712
669
|
"""
|
|
713
670
|
self.sync_node_to_scope(node)
|
|
714
671
|
|
|
@@ -716,7 +673,6 @@ class SymTabBuildPass(Pass):
|
|
|
716
673
|
"""Sub objects.
|
|
717
674
|
|
|
718
675
|
names: list[Name],
|
|
719
|
-
sym_tab: Optional[SymbolTable],
|
|
720
676
|
"""
|
|
721
677
|
self.sync_node_to_scope(node)
|
|
722
678
|
|
|
@@ -725,7 +681,6 @@ class SymTabBuildPass(Pass):
|
|
|
725
681
|
|
|
726
682
|
condition: ExprType,
|
|
727
683
|
body: 'CodeBlock',
|
|
728
|
-
sym_tab: Optional[SymbolTable],
|
|
729
684
|
"""
|
|
730
685
|
self.sync_node_to_scope(node)
|
|
731
686
|
|
|
@@ -734,7 +689,6 @@ class SymTabBuildPass(Pass):
|
|
|
734
689
|
|
|
735
690
|
exprs: 'ExprAsItemList',
|
|
736
691
|
body: 'CodeBlock',
|
|
737
|
-
sym_tab: Optional[SymbolTable],
|
|
738
692
|
"""
|
|
739
693
|
self.sync_node_to_scope(node)
|
|
740
694
|
|
|
@@ -743,7 +697,6 @@ class SymTabBuildPass(Pass):
|
|
|
743
697
|
|
|
744
698
|
expr: ExprType,
|
|
745
699
|
alias: Optional[Name],
|
|
746
|
-
sym_tab: Optional[SymbolTable],
|
|
747
700
|
"""
|
|
748
701
|
self.sync_node_to_scope(node)
|
|
749
702
|
|
|
@@ -751,7 +704,6 @@ class SymTabBuildPass(Pass):
|
|
|
751
704
|
"""Sub objects.
|
|
752
705
|
|
|
753
706
|
items: list['ExprAsItem'],
|
|
754
|
-
sym_tab: Optional[SymbolTable],
|
|
755
707
|
"""
|
|
756
708
|
self.sync_node_to_scope(node)
|
|
757
709
|
|
|
@@ -759,7 +711,6 @@ class SymTabBuildPass(Pass):
|
|
|
759
711
|
"""Sub objects.
|
|
760
712
|
|
|
761
713
|
cause: Optional[ExprType],
|
|
762
|
-
sym_tab: Optional[SymbolTable],
|
|
763
714
|
"""
|
|
764
715
|
self.sync_node_to_scope(node)
|
|
765
716
|
|
|
@@ -768,7 +719,6 @@ class SymTabBuildPass(Pass):
|
|
|
768
719
|
|
|
769
720
|
condition: ExprType,
|
|
770
721
|
error_msg: Optional[ExprType],
|
|
771
|
-
sym_tab: Optional[SymbolTable],
|
|
772
722
|
"""
|
|
773
723
|
self.sync_node_to_scope(node)
|
|
774
724
|
|
|
@@ -776,7 +726,6 @@ class SymTabBuildPass(Pass):
|
|
|
776
726
|
"""Sub objects.
|
|
777
727
|
|
|
778
728
|
ctrl: Token,
|
|
779
|
-
sym_tab: Optional[SymbolTable],
|
|
780
729
|
"""
|
|
781
730
|
self.sync_node_to_scope(node)
|
|
782
731
|
|
|
@@ -784,7 +733,6 @@ class SymTabBuildPass(Pass):
|
|
|
784
733
|
"""Sub objects.
|
|
785
734
|
|
|
786
735
|
target: ExprType,
|
|
787
|
-
sym_tab: Optional[SymbolTable],
|
|
788
736
|
"""
|
|
789
737
|
self.sync_node_to_scope(node)
|
|
790
738
|
|
|
@@ -792,7 +740,6 @@ class SymTabBuildPass(Pass):
|
|
|
792
740
|
"""Sub objects.
|
|
793
741
|
|
|
794
742
|
expr: ExprType,
|
|
795
|
-
sym_tab: Optional[SymbolTable],
|
|
796
743
|
"""
|
|
797
744
|
self.sync_node_to_scope(node)
|
|
798
745
|
|
|
@@ -800,7 +747,6 @@ class SymTabBuildPass(Pass):
|
|
|
800
747
|
"""Sub objects.
|
|
801
748
|
|
|
802
749
|
expr: Optional[ExprType],
|
|
803
|
-
sym_tab: Optional[SymbolTable],
|
|
804
750
|
"""
|
|
805
751
|
self.sync_node_to_scope(node)
|
|
806
752
|
|
|
@@ -808,7 +754,6 @@ class SymTabBuildPass(Pass):
|
|
|
808
754
|
"""Sub objects.
|
|
809
755
|
|
|
810
756
|
expr: Optional[ExprType],
|
|
811
|
-
sym_tab: Optional[SymbolTable],
|
|
812
757
|
"""
|
|
813
758
|
self.sync_node_to_scope(node)
|
|
814
759
|
|
|
@@ -816,7 +761,6 @@ class SymTabBuildPass(Pass):
|
|
|
816
761
|
"""Sub objects.
|
|
817
762
|
|
|
818
763
|
target: ExprType,
|
|
819
|
-
sym_tab: Optional[SymbolTable],
|
|
820
764
|
"""
|
|
821
765
|
self.sync_node_to_scope(node)
|
|
822
766
|
|
|
@@ -826,7 +770,6 @@ class SymTabBuildPass(Pass):
|
|
|
826
770
|
vis_type: Optional[Token],
|
|
827
771
|
target: ExprType,
|
|
828
772
|
else_body: Optional['ElseStmt'],
|
|
829
|
-
sym_tab: Optional[SymbolTable],
|
|
830
773
|
from_walker: bool,
|
|
831
774
|
"""
|
|
832
775
|
self.sync_node_to_scope(node)
|
|
@@ -836,7 +779,6 @@ class SymTabBuildPass(Pass):
|
|
|
836
779
|
|
|
837
780
|
hops: Optional[ExprType],
|
|
838
781
|
else_body: Optional['ElseStmt'],
|
|
839
|
-
sym_tab: Optional[SymbolTable],
|
|
840
782
|
from_walker: bool,
|
|
841
783
|
"""
|
|
842
784
|
self.sync_node_to_scope(node)
|
|
@@ -844,7 +786,6 @@ class SymTabBuildPass(Pass):
|
|
|
844
786
|
def enter_disengage_stmt(self, node: ast.DisengageStmt) -> None:
|
|
845
787
|
"""Sub objects.
|
|
846
788
|
|
|
847
|
-
sym_tab: Optional[SymbolTable],
|
|
848
789
|
from_walker: bool,
|
|
849
790
|
"""
|
|
850
791
|
self.sync_node_to_scope(node)
|
|
@@ -853,7 +794,6 @@ class SymTabBuildPass(Pass):
|
|
|
853
794
|
"""Sub objects.
|
|
854
795
|
|
|
855
796
|
target: ExprType,
|
|
856
|
-
sym_tab: Optional[SymbolTable],
|
|
857
797
|
"""
|
|
858
798
|
self.sync_node_to_scope(node)
|
|
859
799
|
|
|
@@ -864,7 +804,6 @@ class SymTabBuildPass(Pass):
|
|
|
864
804
|
target: 'AtomType',
|
|
865
805
|
value: ExprType,
|
|
866
806
|
mutable: bool,
|
|
867
|
-
sym_tab: Optional[SymbolTable],
|
|
868
807
|
"""
|
|
869
808
|
self.sync_node_to_scope(node)
|
|
870
809
|
|
|
@@ -874,7 +813,6 @@ class SymTabBuildPass(Pass):
|
|
|
874
813
|
left: ExprType,
|
|
875
814
|
right: ExprType,
|
|
876
815
|
op: Token | DisconnectOp | ConnectOp,
|
|
877
|
-
sym_tab: Optional[SymbolTable],
|
|
878
816
|
"""
|
|
879
817
|
self.sync_node_to_scope(node)
|
|
880
818
|
|
|
@@ -884,7 +822,6 @@ class SymTabBuildPass(Pass):
|
|
|
884
822
|
condition: 'BinaryExpr | IfElseExpr',
|
|
885
823
|
value: ExprType,
|
|
886
824
|
else_value: ExprType,
|
|
887
|
-
sym_tab: Optional[SymbolTable],
|
|
888
825
|
"""
|
|
889
826
|
self.sync_node_to_scope(node)
|
|
890
827
|
|
|
@@ -893,7 +830,6 @@ class SymTabBuildPass(Pass):
|
|
|
893
830
|
|
|
894
831
|
operand: ExprType,
|
|
895
832
|
op: Token,
|
|
896
|
-
sym_tab: Optional[SymbolTable],
|
|
897
833
|
"""
|
|
898
834
|
self.sync_node_to_scope(node)
|
|
899
835
|
|
|
@@ -902,7 +838,6 @@ class SymTabBuildPass(Pass):
|
|
|
902
838
|
|
|
903
839
|
target: ExprType,
|
|
904
840
|
is_dict: bool,
|
|
905
|
-
sym_tab: Optional[SymbolTable],
|
|
906
841
|
"""
|
|
907
842
|
self.sync_node_to_scope(node)
|
|
908
843
|
|
|
@@ -910,7 +845,6 @@ class SymTabBuildPass(Pass):
|
|
|
910
845
|
"""Sub objects.
|
|
911
846
|
|
|
912
847
|
strings: list['Token | FString'],
|
|
913
|
-
sym_tab: Optional[SymbolTable],
|
|
914
848
|
"""
|
|
915
849
|
self.sync_node_to_scope(node)
|
|
916
850
|
|
|
@@ -918,7 +852,6 @@ class SymTabBuildPass(Pass):
|
|
|
918
852
|
"""Sub objects.
|
|
919
853
|
|
|
920
854
|
values: list[ExprType],
|
|
921
|
-
sym_tab: Optional[SymbolTable],
|
|
922
855
|
"""
|
|
923
856
|
self.sync_node_to_scope(node)
|
|
924
857
|
|
|
@@ -926,7 +859,6 @@ class SymTabBuildPass(Pass):
|
|
|
926
859
|
"""Sub objects.
|
|
927
860
|
|
|
928
861
|
values: list[ExprType],
|
|
929
|
-
sym_tab: Optional[SymbolTable],
|
|
930
862
|
"""
|
|
931
863
|
self.sync_node_to_scope(node)
|
|
932
864
|
|
|
@@ -934,7 +866,6 @@ class SymTabBuildPass(Pass):
|
|
|
934
866
|
"""Sub objects.
|
|
935
867
|
|
|
936
868
|
values: list[ExprType],
|
|
937
|
-
sym_tab: Optional[SymbolTable],
|
|
938
869
|
"""
|
|
939
870
|
self.sync_node_to_scope(node)
|
|
940
871
|
|
|
@@ -944,7 +875,6 @@ class SymTabBuildPass(Pass):
|
|
|
944
875
|
first_expr: Optional[ExprType],
|
|
945
876
|
exprs: Optional[ExprList],
|
|
946
877
|
assigns: Optional[AssignmentList],
|
|
947
|
-
sym_tab: Optional[SymbolTable],
|
|
948
878
|
"""
|
|
949
879
|
self.sync_node_to_scope(node)
|
|
950
880
|
|
|
@@ -952,7 +882,6 @@ class SymTabBuildPass(Pass):
|
|
|
952
882
|
"""Sub objects.
|
|
953
883
|
|
|
954
884
|
kv_pairs: list['KVPair'],
|
|
955
|
-
sym_tab: Optional[SymbolTable],
|
|
956
885
|
"""
|
|
957
886
|
self.sync_node_to_scope(node)
|
|
958
887
|
|
|
@@ -966,7 +895,6 @@ class SymTabBuildPass(Pass):
|
|
|
966
895
|
is_list: bool,
|
|
967
896
|
is_gen: bool,
|
|
968
897
|
is_set: bool,
|
|
969
|
-
sym_tab: Optional[SymbolTable],
|
|
970
898
|
"""
|
|
971
899
|
self.sync_node_to_scope(node)
|
|
972
900
|
|
|
@@ -978,7 +906,6 @@ class SymTabBuildPass(Pass):
|
|
|
978
906
|
name_list: NameList,
|
|
979
907
|
collection: ExprType,
|
|
980
908
|
conditional: Optional[ExprType],
|
|
981
|
-
sym_tab: Optional[SymbolTable],
|
|
982
909
|
"""
|
|
983
910
|
self.sync_node_to_scope(node)
|
|
984
911
|
|
|
@@ -987,7 +914,6 @@ class SymTabBuildPass(Pass):
|
|
|
987
914
|
|
|
988
915
|
key: ExprType,
|
|
989
916
|
value: ExprType,
|
|
990
|
-
sym_tab: Optional[SymbolTable],
|
|
991
917
|
"""
|
|
992
918
|
self.sync_node_to_scope(node)
|
|
993
919
|
|
|
@@ -997,7 +923,6 @@ class SymTabBuildPass(Pass):
|
|
|
997
923
|
target: 'AtomType',
|
|
998
924
|
right: 'IndexSlice | ArchRef | Token',
|
|
999
925
|
null_ok: bool,
|
|
1000
|
-
sym_tab: Optional[SymbolTable],
|
|
1001
926
|
"""
|
|
1002
927
|
self.sync_node_to_scope(node)
|
|
1003
928
|
|
|
@@ -1006,7 +931,6 @@ class SymTabBuildPass(Pass):
|
|
|
1006
931
|
|
|
1007
932
|
target: 'AtomType',
|
|
1008
933
|
params: Optional['ParamList'],
|
|
1009
|
-
sym_tab: Optional[SymbolTable],
|
|
1010
934
|
"""
|
|
1011
935
|
self.sync_node_to_scope(node)
|
|
1012
936
|
|
|
@@ -1015,7 +939,6 @@ class SymTabBuildPass(Pass):
|
|
|
1015
939
|
|
|
1016
940
|
p_args: Optional[ExprList],
|
|
1017
941
|
p_kwargs: Optional['AssignmentList'],
|
|
1018
|
-
sym_tab: Optional[SymbolTable],
|
|
1019
942
|
"""
|
|
1020
943
|
self.sync_node_to_scope(node)
|
|
1021
944
|
|
|
@@ -1023,7 +946,6 @@ class SymTabBuildPass(Pass):
|
|
|
1023
946
|
"""Sub objects.
|
|
1024
947
|
|
|
1025
948
|
values: list['Assignment'],
|
|
1026
|
-
sym_tab: Optional[SymbolTable],
|
|
1027
949
|
"""
|
|
1028
950
|
self.sync_node_to_scope(node)
|
|
1029
951
|
|
|
@@ -1033,7 +955,6 @@ class SymTabBuildPass(Pass):
|
|
|
1033
955
|
start: Optional[ExprType],
|
|
1034
956
|
stop: Optional[ExprType],
|
|
1035
957
|
is_range: bool,
|
|
1036
|
-
sym_tab: Optional[SymbolTable],
|
|
1037
958
|
"""
|
|
1038
959
|
self.sync_node_to_scope(node)
|
|
1039
960
|
|
|
@@ -1042,7 +963,6 @@ class SymTabBuildPass(Pass):
|
|
|
1042
963
|
|
|
1043
964
|
name_ref: Name | SpecialVarRef,
|
|
1044
965
|
arch: Token,
|
|
1045
|
-
sym_tab: Optional[SymbolTable],
|
|
1046
966
|
"""
|
|
1047
967
|
self.sync_node_to_scope(node)
|
|
1048
968
|
|
|
@@ -1050,7 +970,6 @@ class SymTabBuildPass(Pass):
|
|
|
1050
970
|
"""Sub objects.
|
|
1051
971
|
|
|
1052
972
|
var: Token,
|
|
1053
|
-
sym_tab: Optional[SymbolTable],
|
|
1054
973
|
"""
|
|
1055
974
|
self.sync_node_to_scope(node)
|
|
1056
975
|
|
|
@@ -1060,7 +979,6 @@ class SymTabBuildPass(Pass):
|
|
|
1060
979
|
filter_type: Optional[ExprType],
|
|
1061
980
|
filter_cond: Optional[FilterCompr],
|
|
1062
981
|
edge_dir: EdgeDir,
|
|
1063
|
-
sym_tab: Optional[SymbolTable],
|
|
1064
982
|
from_walker: bool,
|
|
1065
983
|
"""
|
|
1066
984
|
self.sync_node_to_scope(node)
|
|
@@ -1071,7 +989,6 @@ class SymTabBuildPass(Pass):
|
|
|
1071
989
|
filter_type: Optional[ExprType],
|
|
1072
990
|
filter_cond: Optional[FilterCompr],
|
|
1073
991
|
edge_dir: EdgeDir,
|
|
1074
|
-
sym_tab: Optional[SymbolTable],
|
|
1075
992
|
from_walker: bool,
|
|
1076
993
|
"""
|
|
1077
994
|
self.sync_node_to_scope(node)
|
|
@@ -1082,7 +999,6 @@ class SymTabBuildPass(Pass):
|
|
|
1082
999
|
conn_type: Optional[ExprType],
|
|
1083
1000
|
conn_assign: Optional[AssignmentList],
|
|
1084
1001
|
edge_dir: EdgeDir,
|
|
1085
|
-
sym_tab: Optional[SymbolTable],
|
|
1086
1002
|
"""
|
|
1087
1003
|
self.sync_node_to_scope(node)
|
|
1088
1004
|
|
|
@@ -1090,7 +1006,6 @@ class SymTabBuildPass(Pass):
|
|
|
1090
1006
|
"""Sub objects.
|
|
1091
1007
|
|
|
1092
1008
|
compares: list[BinaryExpr],
|
|
1093
|
-
sym_tab: Optional[SymbolTable],
|
|
1094
1009
|
"""
|
|
1095
1010
|
self.sync_node_to_scope(node)
|
|
1096
1011
|
|
|
@@ -1098,7 +1013,6 @@ class SymTabBuildPass(Pass):
|
|
|
1098
1013
|
"""Sub objects.
|
|
1099
1014
|
|
|
1100
1015
|
parts: list['Token | ExprType'],
|
|
1101
|
-
sym_tab: Optional[SymbolTable],
|
|
1102
1016
|
"""
|
|
1103
1017
|
self.sync_node_to_scope(node)
|
|
1104
1018
|
|
|
@@ -1106,7 +1020,6 @@ class SymTabBuildPass(Pass):
|
|
|
1106
1020
|
"""Sub objects.
|
|
1107
1021
|
|
|
1108
1022
|
name: str,
|
|
1109
|
-
sym_tab: Optional[SymbolTable],
|
|
1110
1023
|
"""
|
|
1111
1024
|
self.sync_node_to_scope(node)
|
|
1112
1025
|
|
|
@@ -1117,7 +1030,6 @@ class SymTabBuildPass(Pass):
|
|
|
1117
1030
|
value: str,
|
|
1118
1031
|
col_start: int,
|
|
1119
1032
|
col_end: int,
|
|
1120
|
-
sym_tab: Optional[SymbolTable],
|
|
1121
1033
|
"""
|
|
1122
1034
|
self.sync_node_to_scope(node)
|
|
1123
1035
|
|
|
@@ -1129,6 +1041,5 @@ class SymTabBuildPass(Pass):
|
|
|
1129
1041
|
col_start: int,
|
|
1130
1042
|
col_end: int,
|
|
1131
1043
|
typ: type,
|
|
1132
|
-
sym_tab: Optional[SymbolTable],
|
|
1133
1044
|
"""
|
|
1134
1045
|
self.sync_node_to_scope(node)
|