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.

Files changed (82) hide show
  1. jaclang/__init__.py +2 -1
  2. jaclang/cli/__jac_gen__/__init__.py +0 -0
  3. jaclang/cli/__jac_gen__/cli.py +175 -0
  4. jaclang/cli/__jac_gen__/cmds.py +132 -0
  5. jaclang/cli/cmds.jac +3 -0
  6. jaclang/cli/impl/__jac_gen__/__init__.py +0 -0
  7. jaclang/cli/impl/__jac_gen__/cli_impl.py +16 -0
  8. jaclang/cli/impl/__jac_gen__/cmds_impl.py +26 -0
  9. jaclang/cli/impl/cmds_impl.jac +17 -3
  10. jaclang/core/__jac_gen__/__init__.py +0 -0
  11. jaclang/core/__jac_gen__/primitives.py +567 -0
  12. jaclang/core/impl/__jac_gen__/__init__.py +0 -0
  13. jaclang/core/impl/__jac_gen__/arch_impl.py +24 -0
  14. jaclang/core/impl/__jac_gen__/element_impl.py +26 -0
  15. jaclang/core/impl/__jac_gen__/exec_ctx_impl.py +12 -0
  16. jaclang/core/impl/__jac_gen__/memory_impl.py +14 -0
  17. jaclang/core/impl/element_impl.jac +2 -2
  18. jaclang/core/primitives.jac +1 -0
  19. jaclang/jac/absyntree.py +65 -42
  20. jaclang/jac/constant.py +4 -0
  21. jaclang/jac/importer.py +18 -60
  22. jaclang/jac/langserve.py +26 -0
  23. jaclang/jac/lexer.py +9 -1
  24. jaclang/jac/parser.py +135 -123
  25. jaclang/jac/passes/blue/ast_build_pass.py +410 -353
  26. jaclang/jac/passes/blue/blue_pygen_pass.py +15 -0
  27. jaclang/jac/passes/blue/decl_def_match_pass.py +33 -21
  28. jaclang/jac/passes/blue/import_pass.py +1 -1
  29. jaclang/jac/passes/blue/pyout_pass.py +47 -12
  30. jaclang/jac/passes/blue/sym_tab_build_pass.py +38 -127
  31. jaclang/jac/passes/blue/tests/test_ast_build_pass.py +2 -2
  32. jaclang/jac/passes/blue/tests/test_blue_pygen_pass.py +9 -30
  33. jaclang/jac/passes/blue/tests/test_decl_def_match_pass.py +13 -13
  34. jaclang/jac/passes/blue/tests/test_sym_tab_build_pass.py +6 -4
  35. jaclang/jac/passes/ir_pass.py +1 -1
  36. jaclang/jac/passes/purple/__jac_gen__/__init__.py +0 -0
  37. jaclang/jac/passes/purple/__jac_gen__/analyze_pass.py +37 -0
  38. jaclang/jac/passes/purple/__jac_gen__/purple_pygen_pass.py +305 -0
  39. jaclang/jac/passes/purple/impl/__jac_gen__/__init__.py +0 -0
  40. jaclang/jac/passes/purple/impl/__jac_gen__/purple_pygen_pass_impl.py +23 -0
  41. jaclang/jac/symtable.py +12 -4
  42. jaclang/jac/tests/fixtures/__jac_gen__/__init__.py +0 -0
  43. jaclang/jac/tests/fixtures/__jac_gen__/hello_world.py +16 -0
  44. jaclang/jac/tests/fixtures/fam.jac +7 -8
  45. jaclang/jac/transform.py +4 -3
  46. jaclang/jac/transpiler.py +13 -9
  47. jaclang/utils/fstring_parser.py +2 -2
  48. jaclang/utils/helpers.py +41 -0
  49. jaclang/utils/test.py +30 -0
  50. jaclang/vendor/__init__.py +1 -0
  51. jaclang/vendor/pygls/__init__.py +25 -0
  52. jaclang/vendor/pygls/capabilities.py +502 -0
  53. jaclang/vendor/pygls/client.py +176 -0
  54. jaclang/vendor/pygls/constants.py +26 -0
  55. jaclang/vendor/pygls/exceptions.py +220 -0
  56. jaclang/vendor/pygls/feature_manager.py +241 -0
  57. jaclang/vendor/pygls/lsp/__init__.py +139 -0
  58. jaclang/vendor/pygls/lsp/client.py +2224 -0
  59. jaclang/vendor/pygls/lsprotocol/__init__.py +2 -0
  60. jaclang/vendor/pygls/lsprotocol/_hooks.py +1233 -0
  61. jaclang/vendor/pygls/lsprotocol/converters.py +17 -0
  62. jaclang/vendor/pygls/lsprotocol/types.py +12820 -0
  63. jaclang/vendor/pygls/lsprotocol/validators.py +47 -0
  64. jaclang/vendor/pygls/progress.py +79 -0
  65. jaclang/vendor/pygls/protocol.py +1184 -0
  66. jaclang/vendor/pygls/server.py +620 -0
  67. jaclang/vendor/pygls/uris.py +184 -0
  68. jaclang/vendor/pygls/workspace/__init__.py +81 -0
  69. jaclang/vendor/pygls/workspace/position.py +204 -0
  70. jaclang/vendor/pygls/workspace/text_document.py +234 -0
  71. jaclang/vendor/pygls/workspace/workspace.py +311 -0
  72. {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/METADATA +1 -1
  73. jaclang-0.0.8.dist-info/RECORD +118 -0
  74. jaclang/core/jaclang.jac +0 -62
  75. jaclang-0.0.6.dist-info/RECORD +0 -76
  76. /jaclang/{utils → vendor}/sly/__init__.py +0 -0
  77. /jaclang/{utils → vendor}/sly/docparse.py +0 -0
  78. /jaclang/{utils → vendor}/sly/lex.py +0 -0
  79. /jaclang/{utils → vendor}/sly/yacc.py +0 -0
  80. {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/WHEEL +0 -0
  81. {jaclang-0.0.6.dist-info → jaclang-0.0.8.dist-info}/entry_points.txt +0 -0
  82. {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.error(err_msg)
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.arch.py_resolve_name()
292
+ name = node.target.py_resolve_name()
300
293
  if collide := self.cur_scope().insert(
301
294
  name=name,
302
- sym_type=St.ARCH,
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.resolve_ability_symtab_name()
354
- # To support decl/def match so decl gets copied into importing module
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: Optional[DottedNameList],
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.ABILITY,
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
- sym_tab: Optional[SymbolTable],
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
- enum: ArchRef,
508
- mod: Optional[DottedNameList],
486
+ target: list[ArchRef],
509
487
  body: EnumBlock,
510
- sym_tab: Optional[SymbolTable],
511
488
  """
512
- name = node.enum.py_resolve_name()
489
+ name = node.target.py_resolve_name()
513
490
  if collide := self.cur_scope().insert(
514
491
  name=name,
515
- sym_type=St.ARCH,
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)