jaclang 0.5.11__py3-none-any.whl → 0.5.15__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/cli/cli.py +20 -0
- jaclang/compiler/__init__.py +35 -19
- jaclang/compiler/absyntree.py +103 -95
- jaclang/compiler/generated/jac_parser.py +4069 -0
- jaclang/compiler/jac.lark +655 -0
- jaclang/compiler/parser.py +44 -31
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py +92 -37
- jaclang/compiler/passes/main/import_pass.py +8 -5
- jaclang/compiler/passes/main/pyast_gen_pass.py +512 -352
- jaclang/compiler/passes/main/pyast_load_pass.py +271 -64
- jaclang/compiler/passes/main/registry_pass.py +3 -7
- jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py +2 -0
- jaclang/compiler/passes/main/type_check_pass.py +4 -1
- jaclang/compiler/passes/tool/jac_formatter_pass.py +7 -0
- jaclang/compiler/passes/tool/tests/test_unparse_validate.py +16 -0
- jaclang/compiler/passes/utils/mypy_ast_build.py +93 -0
- jaclang/compiler/tests/test_importer.py +15 -0
- jaclang/core/aott.py +4 -3
- jaclang/core/construct.py +1 -1
- jaclang/core/importer.py +109 -51
- jaclang/core/llms.py +29 -0
- jaclang/core/registry.py +22 -0
- jaclang/core/utils.py +72 -0
- jaclang/plugin/default.py +118 -6
- jaclang/plugin/feature.py +29 -2
- jaclang/plugin/spec.py +25 -2
- jaclang/utils/helpers.py +7 -9
- jaclang/utils/lang_tools.py +37 -13
- jaclang/utils/test.py +1 -3
- jaclang/utils/tests/test_lang_tools.py +6 -0
- jaclang/vendor/lark/grammars/common.lark +59 -0
- jaclang/vendor/lark/grammars/lark.lark +62 -0
- jaclang/vendor/lark/grammars/python.lark +302 -0
- jaclang/vendor/lark/grammars/unicode.lark +7 -0
- {jaclang-0.5.11.dist-info → jaclang-0.5.15.dist-info}/METADATA +1 -1
- {jaclang-0.5.11.dist-info → jaclang-0.5.15.dist-info}/RECORD +40 -36
- jaclang/compiler/__jac_gen__/jac_parser.py +0 -4069
- jaclang/compiler/tests/fixtures/__jac_gen__/__init__.py +0 -0
- jaclang/compiler/tests/fixtures/__jac_gen__/hello_world.py +0 -5
- /jaclang/compiler/{__jac_gen__ → generated}/__init__.py +0 -0
- {jaclang-0.5.11.dist-info → jaclang-0.5.15.dist-info}/WHEEL +0 -0
- {jaclang-0.5.11.dist-info → jaclang-0.5.15.dist-info}/entry_points.txt +0 -0
- {jaclang-0.5.11.dist-info → jaclang-0.5.15.dist-info}/top_level.txt +0 -0
jaclang/compiler/absyntree.py
CHANGED
|
@@ -327,7 +327,7 @@ class SubTag(AstNode, Generic[T]):
|
|
|
327
327
|
def normalize(self, deep: bool = False) -> bool:
|
|
328
328
|
"""Normalize sub tag node."""
|
|
329
329
|
res = self.tag.normalize() if deep else True
|
|
330
|
-
|
|
330
|
+
self.set_kids(nodes=[self.gen_token(Tok.COLON), self.tag])
|
|
331
331
|
return res
|
|
332
332
|
|
|
333
333
|
|
|
@@ -370,7 +370,7 @@ class SubNodeList(AstNode, Generic[T]):
|
|
|
370
370
|
new_kid.pop()
|
|
371
371
|
if self.right_enc:
|
|
372
372
|
new_kid.append(self.right_enc)
|
|
373
|
-
|
|
373
|
+
self.set_kids(nodes=new_kid if len(new_kid) else [EmptyToken()])
|
|
374
374
|
return res
|
|
375
375
|
|
|
376
376
|
|
|
@@ -414,7 +414,7 @@ class Module(AstDocNode):
|
|
|
414
414
|
if self.doc:
|
|
415
415
|
new_kid.append(self.doc)
|
|
416
416
|
new_kid.extend(self.body)
|
|
417
|
-
|
|
417
|
+
self.set_kids(nodes=new_kid)
|
|
418
418
|
return res
|
|
419
419
|
|
|
420
420
|
def unparse(self) -> str:
|
|
@@ -458,7 +458,7 @@ class GlobalVars(ElementStmt, AstAccessNode):
|
|
|
458
458
|
if self.access:
|
|
459
459
|
new_kid.append(self.access)
|
|
460
460
|
new_kid.append(self.assignments)
|
|
461
|
-
|
|
461
|
+
self.set_kids(nodes=new_kid)
|
|
462
462
|
return res
|
|
463
463
|
|
|
464
464
|
|
|
@@ -517,7 +517,7 @@ class Test(AstSymbolNode, ElementStmt):
|
|
|
517
517
|
new_kid.append(self.gen_token(Tok.KW_TEST))
|
|
518
518
|
new_kid.append(self.name)
|
|
519
519
|
new_kid.append(self.body)
|
|
520
|
-
|
|
520
|
+
self.set_kids(nodes=new_kid)
|
|
521
521
|
return res
|
|
522
522
|
|
|
523
523
|
|
|
@@ -552,7 +552,7 @@ class ModuleCode(ElementStmt, ArchBlockStmt, EnumBlockStmt):
|
|
|
552
552
|
if self.name:
|
|
553
553
|
new_kid.append(self.name)
|
|
554
554
|
new_kid.append(self.body)
|
|
555
|
-
|
|
555
|
+
self.set_kids(nodes=new_kid)
|
|
556
556
|
return res
|
|
557
557
|
|
|
558
558
|
|
|
@@ -582,7 +582,7 @@ class PyInlineCode(ElementStmt, ArchBlockStmt, EnumBlockStmt, CodeBlockStmt):
|
|
|
582
582
|
new_kid.append(self.gen_token(Tok.PYNLINE))
|
|
583
583
|
new_kid.append(self.code)
|
|
584
584
|
new_kid.append(self.gen_token(Tok.PYNLINE))
|
|
585
|
-
|
|
585
|
+
self.set_kids(nodes=new_kid)
|
|
586
586
|
return res
|
|
587
587
|
|
|
588
588
|
|
|
@@ -633,7 +633,7 @@ class Import(ElementStmt, CodeBlockStmt):
|
|
|
633
633
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
634
634
|
new_kid.append(self.items)
|
|
635
635
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
636
|
-
|
|
636
|
+
self.set_kids(nodes=new_kid)
|
|
637
637
|
return res
|
|
638
638
|
|
|
639
639
|
|
|
@@ -682,7 +682,7 @@ class ModulePath(AstSymbolNode):
|
|
|
682
682
|
if self.alias:
|
|
683
683
|
res = res and self.alias.normalize(deep)
|
|
684
684
|
new_kid.append(self.alias)
|
|
685
|
-
|
|
685
|
+
self.set_kids(nodes=new_kid)
|
|
686
686
|
return res
|
|
687
687
|
|
|
688
688
|
@property
|
|
@@ -723,7 +723,7 @@ class ModuleItem(AstSymbolNode):
|
|
|
723
723
|
if self.alias:
|
|
724
724
|
new_kid.append(self.gen_token(Tok.KW_AS))
|
|
725
725
|
new_kid.append(self.alias)
|
|
726
|
-
|
|
726
|
+
self.set_kids(nodes=new_kid)
|
|
727
727
|
return res
|
|
728
728
|
|
|
729
729
|
|
|
@@ -822,7 +822,7 @@ class Architype(ArchSpec, AstAccessNode, ArchBlockStmt, AstImplNeedingNode):
|
|
|
822
822
|
new_kid.append(self.body)
|
|
823
823
|
else:
|
|
824
824
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
825
|
-
|
|
825
|
+
self.set_kids(nodes=new_kid)
|
|
826
826
|
return res
|
|
827
827
|
|
|
828
828
|
|
|
@@ -864,7 +864,7 @@ class ArchDef(ArchSpec, AstImplOnlyNode):
|
|
|
864
864
|
new_kid.append(self.doc)
|
|
865
865
|
new_kid.append(self.target)
|
|
866
866
|
new_kid.append(self.body)
|
|
867
|
-
|
|
867
|
+
self.set_kids(nodes=new_kid)
|
|
868
868
|
return res
|
|
869
869
|
|
|
870
870
|
|
|
@@ -933,7 +933,7 @@ class Enum(ArchSpec, AstAccessNode, AstImplNeedingNode, ArchBlockStmt):
|
|
|
933
933
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
934
934
|
else:
|
|
935
935
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
936
|
-
|
|
936
|
+
self.set_kids(nodes=new_kid)
|
|
937
937
|
return res
|
|
938
938
|
|
|
939
939
|
|
|
@@ -977,7 +977,7 @@ class EnumDef(ArchSpec, AstImplOnlyNode):
|
|
|
977
977
|
new_kid.append(self.gen_token(Tok.LBRACE))
|
|
978
978
|
new_kid.append(self.body)
|
|
979
979
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
980
|
-
|
|
980
|
+
self.set_kids(nodes=new_kid)
|
|
981
981
|
return res
|
|
982
982
|
|
|
983
983
|
|
|
@@ -1101,7 +1101,7 @@ class Ability(
|
|
|
1101
1101
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1102
1102
|
else:
|
|
1103
1103
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1104
|
-
|
|
1104
|
+
self.set_kids(nodes=new_kid)
|
|
1105
1105
|
return res
|
|
1106
1106
|
|
|
1107
1107
|
|
|
@@ -1149,7 +1149,7 @@ class AbilityDef(AstSymbolNode, ElementStmt, AstImplOnlyNode, CodeBlockStmt):
|
|
|
1149
1149
|
|
|
1150
1150
|
new_kid.append(self.body)
|
|
1151
1151
|
|
|
1152
|
-
|
|
1152
|
+
self.set_kids(nodes=new_kid)
|
|
1153
1153
|
return res
|
|
1154
1154
|
|
|
1155
1155
|
@property
|
|
@@ -1194,7 +1194,7 @@ class FuncSignature(AstSemStrNode):
|
|
|
1194
1194
|
new_kid.append(self.semstr)
|
|
1195
1195
|
new_kid.append(self.gen_token(Tok.COLON))
|
|
1196
1196
|
new_kid.append(self.return_type)
|
|
1197
|
-
|
|
1197
|
+
self.set_kids(nodes=new_kid)
|
|
1198
1198
|
return res
|
|
1199
1199
|
|
|
1200
1200
|
@property
|
|
@@ -1253,7 +1253,7 @@ class EventSignature(AstSemStrNode):
|
|
|
1253
1253
|
new_kid.append(self.semstr)
|
|
1254
1254
|
new_kid.append(self.gen_token(Tok.RETURN_HINT))
|
|
1255
1255
|
new_kid.append(self.return_type)
|
|
1256
|
-
|
|
1256
|
+
self.set_kids(nodes=new_kid)
|
|
1257
1257
|
return res
|
|
1258
1258
|
|
|
1259
1259
|
@property
|
|
@@ -1289,7 +1289,7 @@ class ArchRefChain(AstNode):
|
|
|
1289
1289
|
new_kid: list[AstNode] = []
|
|
1290
1290
|
for a in self.archs:
|
|
1291
1291
|
new_kid.append(a)
|
|
1292
|
-
|
|
1292
|
+
self.set_kids(nodes=new_kid)
|
|
1293
1293
|
return res
|
|
1294
1294
|
|
|
1295
1295
|
def py_resolve_name(self) -> str:
|
|
@@ -1358,7 +1358,7 @@ class ParamVar(AstSymbolNode, AstTypedVarNode, AstSemStrNode):
|
|
|
1358
1358
|
if self.value:
|
|
1359
1359
|
new_kid.append(self.gen_token(Tok.EQ))
|
|
1360
1360
|
new_kid.append(self.value)
|
|
1361
|
-
|
|
1361
|
+
self.set_kids(nodes=new_kid)
|
|
1362
1362
|
return res
|
|
1363
1363
|
|
|
1364
1364
|
|
|
@@ -1403,7 +1403,7 @@ class ArchHas(AstAccessNode, AstDocNode, ArchBlockStmt):
|
|
|
1403
1403
|
new_kid.append(self.access)
|
|
1404
1404
|
new_kid.append(self.vars)
|
|
1405
1405
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1406
|
-
|
|
1406
|
+
self.set_kids(nodes=new_kid)
|
|
1407
1407
|
return res
|
|
1408
1408
|
|
|
1409
1409
|
|
|
@@ -1453,7 +1453,7 @@ class HasVar(AstSymbolNode, AstTypedVarNode, AstSemStrNode):
|
|
|
1453
1453
|
if self.defer:
|
|
1454
1454
|
new_kid.append(self.gen_token(Tok.KW_BY))
|
|
1455
1455
|
new_kid.append(self.gen_token(Tok.KW_POST_INIT))
|
|
1456
|
-
|
|
1456
|
+
self.set_kids(nodes=new_kid)
|
|
1457
1457
|
return res
|
|
1458
1458
|
|
|
1459
1459
|
|
|
@@ -1482,7 +1482,7 @@ class TypedCtxBlock(CodeBlockStmt):
|
|
|
1482
1482
|
self.type_ctx,
|
|
1483
1483
|
self.body,
|
|
1484
1484
|
]
|
|
1485
|
-
|
|
1485
|
+
self.set_kids(nodes=new_kid)
|
|
1486
1486
|
return res
|
|
1487
1487
|
|
|
1488
1488
|
|
|
@@ -1516,7 +1516,7 @@ class IfStmt(CodeBlockStmt, AstElseBodyNode):
|
|
|
1516
1516
|
]
|
|
1517
1517
|
if self.else_body:
|
|
1518
1518
|
new_kid.append(self.else_body)
|
|
1519
|
-
|
|
1519
|
+
self.set_kids(nodes=new_kid)
|
|
1520
1520
|
return res
|
|
1521
1521
|
|
|
1522
1522
|
|
|
@@ -1537,7 +1537,7 @@ class ElseIf(IfStmt):
|
|
|
1537
1537
|
]
|
|
1538
1538
|
if self.else_body:
|
|
1539
1539
|
new_kid.append(self.else_body)
|
|
1540
|
-
|
|
1540
|
+
self.set_kids(nodes=new_kid)
|
|
1541
1541
|
return res
|
|
1542
1542
|
|
|
1543
1543
|
|
|
@@ -1562,7 +1562,7 @@ class ElseStmt(AstNode):
|
|
|
1562
1562
|
self.gen_token(Tok.KW_ELSE),
|
|
1563
1563
|
self.body,
|
|
1564
1564
|
]
|
|
1565
|
-
|
|
1565
|
+
self.set_kids(nodes=new_kid)
|
|
1566
1566
|
return res
|
|
1567
1567
|
|
|
1568
1568
|
|
|
@@ -1590,7 +1590,7 @@ class ExprStmt(CodeBlockStmt):
|
|
|
1590
1590
|
else:
|
|
1591
1591
|
new_kid.append(self.expr)
|
|
1592
1592
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1593
|
-
|
|
1593
|
+
self.set_kids(nodes=new_kid)
|
|
1594
1594
|
return res and self.expr is not None
|
|
1595
1595
|
|
|
1596
1596
|
|
|
@@ -1632,7 +1632,7 @@ class TryStmt(AstElseBodyNode, CodeBlockStmt):
|
|
|
1632
1632
|
new_kid.append(self.else_body)
|
|
1633
1633
|
if self.finally_body:
|
|
1634
1634
|
new_kid.append(self.finally_body)
|
|
1635
|
-
|
|
1635
|
+
self.set_kids(nodes=new_kid)
|
|
1636
1636
|
return res
|
|
1637
1637
|
|
|
1638
1638
|
|
|
@@ -1667,7 +1667,7 @@ class Except(CodeBlockStmt):
|
|
|
1667
1667
|
new_kid.append(self.gen_token(Tok.KW_AS))
|
|
1668
1668
|
new_kid.append(self.name)
|
|
1669
1669
|
new_kid.append(self.body)
|
|
1670
|
-
|
|
1670
|
+
self.set_kids(nodes=new_kid)
|
|
1671
1671
|
return res
|
|
1672
1672
|
|
|
1673
1673
|
|
|
@@ -1692,7 +1692,7 @@ class FinallyStmt(CodeBlockStmt):
|
|
|
1692
1692
|
self.gen_token(Tok.KW_FINALLY),
|
|
1693
1693
|
]
|
|
1694
1694
|
new_kid.append(self.body)
|
|
1695
|
-
|
|
1695
|
+
self.set_kids(nodes=new_kid)
|
|
1696
1696
|
return res
|
|
1697
1697
|
|
|
1698
1698
|
|
|
@@ -1739,7 +1739,7 @@ class IterForStmt(AstAsyncNode, AstElseBodyNode, CodeBlockStmt):
|
|
|
1739
1739
|
new_kid.append(self.body)
|
|
1740
1740
|
if self.else_body:
|
|
1741
1741
|
new_kid.append(self.else_body)
|
|
1742
|
-
|
|
1742
|
+
self.set_kids(nodes=new_kid)
|
|
1743
1743
|
return res
|
|
1744
1744
|
|
|
1745
1745
|
|
|
@@ -1783,7 +1783,7 @@ class InForStmt(AstAsyncNode, AstElseBodyNode, CodeBlockStmt):
|
|
|
1783
1783
|
new_kid.append(self.body)
|
|
1784
1784
|
if self.else_body:
|
|
1785
1785
|
new_kid.append(self.else_body)
|
|
1786
|
-
|
|
1786
|
+
self.set_kids(nodes=new_kid)
|
|
1787
1787
|
return res
|
|
1788
1788
|
|
|
1789
1789
|
|
|
@@ -1813,7 +1813,7 @@ class WhileStmt(CodeBlockStmt):
|
|
|
1813
1813
|
]
|
|
1814
1814
|
if self.body:
|
|
1815
1815
|
new_kid.append(self.body)
|
|
1816
|
-
|
|
1816
|
+
self.set_kids(nodes=new_kid)
|
|
1817
1817
|
return res
|
|
1818
1818
|
|
|
1819
1819
|
|
|
@@ -1848,7 +1848,7 @@ class WithStmt(AstAsyncNode, CodeBlockStmt):
|
|
|
1848
1848
|
new_kid.append(self.body)
|
|
1849
1849
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
1850
1850
|
|
|
1851
|
-
|
|
1851
|
+
self.set_kids(nodes=new_kid)
|
|
1852
1852
|
return res
|
|
1853
1853
|
|
|
1854
1854
|
|
|
@@ -1876,7 +1876,7 @@ class ExprAsItem(AstNode):
|
|
|
1876
1876
|
if self.alias:
|
|
1877
1877
|
new_kid.append(self.gen_token(Tok.KW_AS))
|
|
1878
1878
|
new_kid.append(self.alias)
|
|
1879
|
-
|
|
1879
|
+
self.set_kids(nodes=new_kid)
|
|
1880
1880
|
return res
|
|
1881
1881
|
|
|
1882
1882
|
|
|
@@ -1907,7 +1907,7 @@ class RaiseStmt(CodeBlockStmt):
|
|
|
1907
1907
|
new_kid.append(self.gen_token(Tok.KW_FROM))
|
|
1908
1908
|
new_kid.append(self.from_target)
|
|
1909
1909
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1910
|
-
|
|
1910
|
+
self.set_kids(nodes=new_kid)
|
|
1911
1911
|
return res
|
|
1912
1912
|
|
|
1913
1913
|
|
|
@@ -1939,7 +1939,7 @@ class AssertStmt(CodeBlockStmt):
|
|
|
1939
1939
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
1940
1940
|
new_kid.append(self.error_msg)
|
|
1941
1941
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
1942
|
-
|
|
1942
|
+
self.set_kids(nodes=new_kid)
|
|
1943
1943
|
return res
|
|
1944
1944
|
|
|
1945
1945
|
|
|
@@ -1961,7 +1961,7 @@ class CtrlStmt(CodeBlockStmt):
|
|
|
1961
1961
|
if deep:
|
|
1962
1962
|
res = self.ctrl.normalize(deep)
|
|
1963
1963
|
new_kid: list[AstNode] = [self.ctrl, self.gen_token(Tok.SEMI)]
|
|
1964
|
-
|
|
1964
|
+
self.set_kids(nodes=new_kid)
|
|
1965
1965
|
return res
|
|
1966
1966
|
|
|
1967
1967
|
|
|
@@ -1987,7 +1987,7 @@ class DeleteStmt(CodeBlockStmt):
|
|
|
1987
1987
|
self.target,
|
|
1988
1988
|
self.gen_token(Tok.SEMI),
|
|
1989
1989
|
]
|
|
1990
|
-
|
|
1990
|
+
self.set_kids(nodes=new_kid)
|
|
1991
1991
|
return res
|
|
1992
1992
|
|
|
1993
1993
|
|
|
@@ -2013,7 +2013,7 @@ class ReportStmt(CodeBlockStmt):
|
|
|
2013
2013
|
self.expr,
|
|
2014
2014
|
self.gen_token(Tok.SEMI),
|
|
2015
2015
|
]
|
|
2016
|
-
|
|
2016
|
+
self.set_kids(nodes=new_kid)
|
|
2017
2017
|
return res
|
|
2018
2018
|
|
|
2019
2019
|
|
|
@@ -2040,7 +2040,7 @@ class ReturnStmt(CodeBlockStmt):
|
|
|
2040
2040
|
if self.expr:
|
|
2041
2041
|
new_kid.append(self.expr)
|
|
2042
2042
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2043
|
-
|
|
2043
|
+
self.set_kids(nodes=new_kid)
|
|
2044
2044
|
return res
|
|
2045
2045
|
|
|
2046
2046
|
|
|
@@ -2067,7 +2067,7 @@ class IgnoreStmt(WalkerStmtOnlyNode, CodeBlockStmt):
|
|
|
2067
2067
|
self.target,
|
|
2068
2068
|
self.gen_token(Tok.SEMI),
|
|
2069
2069
|
]
|
|
2070
|
-
|
|
2070
|
+
self.set_kids(nodes=new_kid)
|
|
2071
2071
|
return res
|
|
2072
2072
|
|
|
2073
2073
|
|
|
@@ -2106,7 +2106,7 @@ class VisitStmt(WalkerStmtOnlyNode, AstElseBodyNode, CodeBlockStmt):
|
|
|
2106
2106
|
new_kid.append(self.else_body)
|
|
2107
2107
|
else:
|
|
2108
2108
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2109
|
-
|
|
2109
|
+
self.set_kids(nodes=new_kid)
|
|
2110
2110
|
return res
|
|
2111
2111
|
|
|
2112
2112
|
|
|
@@ -2137,7 +2137,7 @@ class RevisitStmt(WalkerStmtOnlyNode, AstElseBodyNode, CodeBlockStmt):
|
|
|
2137
2137
|
if self.else_body:
|
|
2138
2138
|
new_kid.append(self.else_body)
|
|
2139
2139
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2140
|
-
|
|
2140
|
+
self.set_kids(nodes=new_kid)
|
|
2141
2141
|
return res
|
|
2142
2142
|
|
|
2143
2143
|
|
|
@@ -2158,7 +2158,7 @@ class DisengageStmt(WalkerStmtOnlyNode, CodeBlockStmt):
|
|
|
2158
2158
|
self.gen_token(Tok.KW_DISENGAGE),
|
|
2159
2159
|
self.gen_token(Tok.SEMI),
|
|
2160
2160
|
]
|
|
2161
|
-
|
|
2161
|
+
self.set_kids(nodes=new_kid)
|
|
2162
2162
|
return True
|
|
2163
2163
|
|
|
2164
2164
|
|
|
@@ -2183,7 +2183,7 @@ class AwaitExpr(Expr):
|
|
|
2183
2183
|
self.gen_token(Tok.KW_AWAIT),
|
|
2184
2184
|
self.target,
|
|
2185
2185
|
]
|
|
2186
|
-
|
|
2186
|
+
self.set_kids(nodes=new_kid)
|
|
2187
2187
|
return res
|
|
2188
2188
|
|
|
2189
2189
|
|
|
@@ -2209,7 +2209,7 @@ class GlobalStmt(CodeBlockStmt):
|
|
|
2209
2209
|
self.target,
|
|
2210
2210
|
self.gen_token(Tok.SEMI),
|
|
2211
2211
|
]
|
|
2212
|
-
|
|
2212
|
+
self.set_kids(nodes=new_kid)
|
|
2213
2213
|
return res
|
|
2214
2214
|
|
|
2215
2215
|
|
|
@@ -2226,7 +2226,7 @@ class NonLocalStmt(GlobalStmt):
|
|
|
2226
2226
|
self.target,
|
|
2227
2227
|
self.gen_token(Tok.SEMI),
|
|
2228
2228
|
]
|
|
2229
|
-
|
|
2229
|
+
self.set_kids(nodes=new_kid)
|
|
2230
2230
|
return res
|
|
2231
2231
|
|
|
2232
2232
|
|
|
@@ -2282,7 +2282,7 @@ class Assignment(AstSemStrNode, AstTypedVarNode, EnumBlockStmt, CodeBlockStmt):
|
|
|
2282
2282
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2283
2283
|
elif (not self.is_enum_stmt) and not isinstance(self.parent, IterForStmt):
|
|
2284
2284
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2285
|
-
|
|
2285
|
+
self.set_kids(nodes=new_kid)
|
|
2286
2286
|
return res
|
|
2287
2287
|
|
|
2288
2288
|
|
|
@@ -2316,7 +2316,7 @@ class BinaryExpr(Expr):
|
|
|
2316
2316
|
self.right,
|
|
2317
2317
|
self.gen_token(Tok.RPAREN),
|
|
2318
2318
|
]
|
|
2319
|
-
|
|
2319
|
+
self.set_kids(nodes=new_kid)
|
|
2320
2320
|
return res
|
|
2321
2321
|
|
|
2322
2322
|
|
|
@@ -2349,7 +2349,7 @@ class CompareExpr(Expr):
|
|
|
2349
2349
|
for i, right in enumerate(self.rights):
|
|
2350
2350
|
new_kid.append(self.ops[i])
|
|
2351
2351
|
new_kid.append(right)
|
|
2352
|
-
|
|
2352
|
+
self.set_kids(nodes=new_kid)
|
|
2353
2353
|
return res
|
|
2354
2354
|
|
|
2355
2355
|
|
|
@@ -2379,7 +2379,7 @@ class BoolExpr(Expr):
|
|
|
2379
2379
|
if i > 0:
|
|
2380
2380
|
new_kid.append(self.op)
|
|
2381
2381
|
new_kid.append(value)
|
|
2382
|
-
|
|
2382
|
+
self.set_kids(nodes=new_kid)
|
|
2383
2383
|
return res
|
|
2384
2384
|
|
|
2385
2385
|
|
|
@@ -2410,7 +2410,7 @@ class LambdaExpr(Expr):
|
|
|
2410
2410
|
self.body,
|
|
2411
2411
|
self.gen_token(Tok.SEMI),
|
|
2412
2412
|
]
|
|
2413
|
-
|
|
2413
|
+
self.set_kids(nodes=new_kid)
|
|
2414
2414
|
return res
|
|
2415
2415
|
|
|
2416
2416
|
|
|
@@ -2435,7 +2435,7 @@ class UnaryExpr(Expr):
|
|
|
2435
2435
|
res = self.operand.normalize(deep)
|
|
2436
2436
|
res = res and self.op.normalize(deep) if self.op else res
|
|
2437
2437
|
new_kid: list[AstNode] = [self.op, self.operand]
|
|
2438
|
-
|
|
2438
|
+
self.set_kids(nodes=new_kid)
|
|
2439
2439
|
return res
|
|
2440
2440
|
|
|
2441
2441
|
|
|
@@ -2469,7 +2469,7 @@ class IfElseExpr(Expr):
|
|
|
2469
2469
|
self.gen_token(Tok.KW_ELSE),
|
|
2470
2470
|
self.else_value,
|
|
2471
2471
|
]
|
|
2472
|
-
|
|
2472
|
+
self.set_kids(nodes=new_kid)
|
|
2473
2473
|
return res
|
|
2474
2474
|
|
|
2475
2475
|
|
|
@@ -2500,7 +2500,7 @@ class MultiString(AtomExpr):
|
|
|
2500
2500
|
new_kid: list[AstNode] = []
|
|
2501
2501
|
for string in self.strings:
|
|
2502
2502
|
new_kid.append(string)
|
|
2503
|
-
|
|
2503
|
+
self.set_kids(nodes=new_kid)
|
|
2504
2504
|
return res
|
|
2505
2505
|
|
|
2506
2506
|
|
|
@@ -2535,7 +2535,7 @@ class FString(AtomExpr):
|
|
|
2535
2535
|
"{{" if i.value == "{" else "}}" if i.value == "}" else i.value
|
|
2536
2536
|
)
|
|
2537
2537
|
new_kid.append(self.parts)
|
|
2538
|
-
|
|
2538
|
+
self.set_kids(nodes=new_kid)
|
|
2539
2539
|
return res
|
|
2540
2540
|
|
|
2541
2541
|
|
|
@@ -2568,7 +2568,7 @@ class ListVal(AtomExpr):
|
|
|
2568
2568
|
if self.values:
|
|
2569
2569
|
new_kid.append(self.values)
|
|
2570
2570
|
new_kid.append(self.gen_token(Tok.RSQUARE))
|
|
2571
|
-
|
|
2571
|
+
self.set_kids(nodes=new_kid)
|
|
2572
2572
|
return res
|
|
2573
2573
|
|
|
2574
2574
|
|
|
@@ -2601,7 +2601,7 @@ class SetVal(AtomExpr):
|
|
|
2601
2601
|
if self.values:
|
|
2602
2602
|
new_kid.append(self.values)
|
|
2603
2603
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
2604
|
-
|
|
2604
|
+
self.set_kids(nodes=new_kid)
|
|
2605
2605
|
return res
|
|
2606
2606
|
|
|
2607
2607
|
|
|
@@ -2649,7 +2649,7 @@ class TupleVal(AtomExpr):
|
|
|
2649
2649
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
2650
2650
|
if not in_ret_type:
|
|
2651
2651
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
2652
|
-
|
|
2652
|
+
self.set_kids(nodes=new_kid)
|
|
2653
2653
|
return res
|
|
2654
2654
|
|
|
2655
2655
|
|
|
@@ -2685,7 +2685,7 @@ class DictVal(AtomExpr):
|
|
|
2685
2685
|
if i < len(self.kv_pairs) - 1:
|
|
2686
2686
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
2687
2687
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
2688
|
-
|
|
2688
|
+
self.set_kids(nodes=new_kid)
|
|
2689
2689
|
return res
|
|
2690
2690
|
|
|
2691
2691
|
|
|
@@ -2716,7 +2716,7 @@ class KVPair(AstNode):
|
|
|
2716
2716
|
else:
|
|
2717
2717
|
new_kid.append(self.gen_token(Tok.STAR_POW))
|
|
2718
2718
|
new_kid.append(self.value)
|
|
2719
|
-
|
|
2719
|
+
self.set_kids(nodes=new_kid)
|
|
2720
2720
|
return res
|
|
2721
2721
|
|
|
2722
2722
|
|
|
@@ -2745,7 +2745,7 @@ class KWPair(AstNode):
|
|
|
2745
2745
|
new_kid.append(self.key)
|
|
2746
2746
|
new_kid.append(self.gen_token(Tok.EQ))
|
|
2747
2747
|
new_kid.append(self.value)
|
|
2748
|
-
|
|
2748
|
+
self.set_kids(nodes=new_kid)
|
|
2749
2749
|
return res
|
|
2750
2750
|
|
|
2751
2751
|
|
|
@@ -2785,7 +2785,7 @@ class InnerCompr(AstAsyncNode):
|
|
|
2785
2785
|
for cond in self.conditional if self.conditional else []:
|
|
2786
2786
|
new_kid.append(self.gen_token(Tok.KW_IF))
|
|
2787
2787
|
new_kid.append(cond)
|
|
2788
|
-
|
|
2788
|
+
self.set_kids(nodes=new_kid)
|
|
2789
2789
|
return res
|
|
2790
2790
|
|
|
2791
2791
|
|
|
@@ -2823,7 +2823,7 @@ class ListCompr(AtomExpr):
|
|
|
2823
2823
|
for comp in self.compr:
|
|
2824
2824
|
new_kid.append(comp)
|
|
2825
2825
|
new_kid.append(self.gen_token(Tok.RSQUARE))
|
|
2826
|
-
|
|
2826
|
+
self.set_kids(nodes=new_kid)
|
|
2827
2827
|
return res
|
|
2828
2828
|
|
|
2829
2829
|
|
|
@@ -2844,7 +2844,7 @@ class GenCompr(ListCompr):
|
|
|
2844
2844
|
for comp in self.compr:
|
|
2845
2845
|
new_kid.append(comp)
|
|
2846
2846
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
2847
|
-
|
|
2847
|
+
self.set_kids(nodes=new_kid)
|
|
2848
2848
|
return res
|
|
2849
2849
|
|
|
2850
2850
|
|
|
@@ -2865,7 +2865,7 @@ class SetCompr(ListCompr):
|
|
|
2865
2865
|
for comp in self.compr:
|
|
2866
2866
|
new_kid.append(comp)
|
|
2867
2867
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
2868
|
-
|
|
2868
|
+
self.set_kids(nodes=new_kid)
|
|
2869
2869
|
return res
|
|
2870
2870
|
|
|
2871
2871
|
|
|
@@ -2902,7 +2902,7 @@ class DictCompr(AtomExpr):
|
|
|
2902
2902
|
for comp in self.compr:
|
|
2903
2903
|
new_kid.append(comp)
|
|
2904
2904
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
2905
|
-
|
|
2905
|
+
self.set_kids(nodes=new_kid)
|
|
2906
2906
|
return res
|
|
2907
2907
|
|
|
2908
2908
|
|
|
@@ -2916,12 +2916,14 @@ class AtomTrailer(Expr):
|
|
|
2916
2916
|
is_attr: bool,
|
|
2917
2917
|
is_null_ok: bool,
|
|
2918
2918
|
kid: Sequence[AstNode],
|
|
2919
|
+
is_genai: bool = False,
|
|
2919
2920
|
) -> None:
|
|
2920
2921
|
"""Initialize atom trailer expression node."""
|
|
2921
2922
|
self.target = target
|
|
2922
2923
|
self.right = right
|
|
2923
2924
|
self.is_attr = is_attr
|
|
2924
2925
|
self.is_null_ok = is_null_ok
|
|
2926
|
+
self.is_genai = is_genai
|
|
2925
2927
|
AstNode.__init__(self, kid=kid)
|
|
2926
2928
|
|
|
2927
2929
|
def normalize(self, deep: bool = True) -> bool:
|
|
@@ -2937,7 +2939,7 @@ class AtomTrailer(Expr):
|
|
|
2937
2939
|
new_kid.append(self.gen_token(Tok.DOT))
|
|
2938
2940
|
if self.right:
|
|
2939
2941
|
new_kid.append(self.right)
|
|
2940
|
-
|
|
2942
|
+
self.set_kids(nodes=new_kid)
|
|
2941
2943
|
return res
|
|
2942
2944
|
|
|
2943
2945
|
|
|
@@ -2962,7 +2964,7 @@ class AtomUnit(Expr):
|
|
|
2962
2964
|
new_kid.append(self.gen_token(Tok.LPAREN))
|
|
2963
2965
|
new_kid.append(self.value)
|
|
2964
2966
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
2965
|
-
|
|
2967
|
+
self.set_kids(nodes=new_kid)
|
|
2966
2968
|
return res
|
|
2967
2969
|
|
|
2968
2970
|
|
|
@@ -2991,7 +2993,7 @@ class YieldExpr(Expr):
|
|
|
2991
2993
|
if self.expr:
|
|
2992
2994
|
new_kid.append(self.expr)
|
|
2993
2995
|
new_kid.append(self.gen_token(Tok.SEMI))
|
|
2994
|
-
|
|
2996
|
+
self.set_kids(nodes=new_kid)
|
|
2995
2997
|
return res
|
|
2996
2998
|
|
|
2997
2999
|
|
|
@@ -3002,11 +3004,13 @@ class FuncCall(Expr):
|
|
|
3002
3004
|
self,
|
|
3003
3005
|
target: Expr,
|
|
3004
3006
|
params: Optional[SubNodeList[Expr | KWPair]],
|
|
3007
|
+
genai_call: Optional[FuncCall],
|
|
3005
3008
|
kid: Sequence[AstNode],
|
|
3006
3009
|
) -> None:
|
|
3007
3010
|
"""Initialize function call expression node."""
|
|
3008
3011
|
self.target = target
|
|
3009
3012
|
self.params = params
|
|
3013
|
+
self.genai_call = genai_call
|
|
3010
3014
|
AstNode.__init__(self, kid=kid)
|
|
3011
3015
|
|
|
3012
3016
|
def normalize(self, deep: bool = True) -> bool:
|
|
@@ -3014,10 +3018,14 @@ class FuncCall(Expr):
|
|
|
3014
3018
|
if deep:
|
|
3015
3019
|
res = self.target.normalize(deep)
|
|
3016
3020
|
res = res and (not self.params or self.params.normalize(deep))
|
|
3017
|
-
|
|
3018
|
-
if self.params:
|
|
3019
|
-
|
|
3020
|
-
self.
|
|
3021
|
+
new_kids = [self.target, self.gen_token(Tok.LPAREN, "(")]
|
|
3022
|
+
if self.params:
|
|
3023
|
+
new_kids.append(self.params)
|
|
3024
|
+
if self.genai_call:
|
|
3025
|
+
new_kids.append(self.gen_token(Tok.KW_BY))
|
|
3026
|
+
new_kids.append(self.genai_call)
|
|
3027
|
+
new_kids.append(self.gen_token(Tok.RPAREN, ")"))
|
|
3028
|
+
self.set_kids(nodes=new_kids)
|
|
3021
3029
|
return res
|
|
3022
3030
|
|
|
3023
3031
|
|
|
@@ -3068,7 +3076,7 @@ class IndexSlice(AtomExpr):
|
|
|
3068
3076
|
else:
|
|
3069
3077
|
res = False
|
|
3070
3078
|
new_kid.append(self.gen_token(Tok.RSQUARE))
|
|
3071
|
-
|
|
3079
|
+
self.set_kids(nodes=new_kid)
|
|
3072
3080
|
return res
|
|
3073
3081
|
|
|
3074
3082
|
|
|
@@ -3098,7 +3106,7 @@ class ArchRef(NameSpec):
|
|
|
3098
3106
|
if deep:
|
|
3099
3107
|
res = self.name_ref.normalize(deep)
|
|
3100
3108
|
new_kid: list[AstNode] = [self.arch, self.name_ref]
|
|
3101
|
-
|
|
3109
|
+
self.set_kids(nodes=new_kid)
|
|
3102
3110
|
return res
|
|
3103
3111
|
|
|
3104
3112
|
def py_resolve_name(self) -> str:
|
|
@@ -3135,7 +3143,7 @@ class SpecialVarRef(NameSpec):
|
|
|
3135
3143
|
if deep:
|
|
3136
3144
|
res = self.var.normalize(deep)
|
|
3137
3145
|
new_kid: list[AstNode] = [self.var]
|
|
3138
|
-
|
|
3146
|
+
self.set_kids(nodes=new_kid)
|
|
3139
3147
|
return res
|
|
3140
3148
|
|
|
3141
3149
|
def py_resolve_name(self) -> str:
|
|
@@ -3181,7 +3189,7 @@ class EdgeRefTrailer(Expr):
|
|
|
3181
3189
|
new_kid.append(self.gen_token(Tok.LSQUARE))
|
|
3182
3190
|
new_kid.extend(self.chain)
|
|
3183
3191
|
new_kid.append(self.gen_token(Tok.RSQUARE))
|
|
3184
|
-
|
|
3192
|
+
self.set_kids(nodes=new_kid)
|
|
3185
3193
|
return res
|
|
3186
3194
|
|
|
3187
3195
|
|
|
@@ -3233,7 +3241,7 @@ class EdgeOpRef(WalkerStmtOnlyNode, AtomExpr):
|
|
|
3233
3241
|
new_kid.append(self.gen_token(Tok.ARROW_L_P1))
|
|
3234
3242
|
new_kid.append(self.filter_cond)
|
|
3235
3243
|
new_kid.append(self.gen_token(Tok.ARROW_R_P2))
|
|
3236
|
-
|
|
3244
|
+
self.set_kids(nodes=new_kid)
|
|
3237
3245
|
return res
|
|
3238
3246
|
|
|
3239
3247
|
|
|
@@ -3256,7 +3264,7 @@ class DisconnectOp(WalkerStmtOnlyNode):
|
|
|
3256
3264
|
if deep:
|
|
3257
3265
|
res = self.edge_spec.normalize(deep)
|
|
3258
3266
|
new_kid: list[AstNode] = [self.gen_token(Tok.KW_DELETE), self.edge_spec]
|
|
3259
|
-
|
|
3267
|
+
self.set_kids(nodes=new_kid)
|
|
3260
3268
|
return res
|
|
3261
3269
|
|
|
3262
3270
|
|
|
@@ -3316,7 +3324,7 @@ class ConnectOp(AstNode):
|
|
|
3316
3324
|
new_kid.append(self.gen_token(Tok.COLON))
|
|
3317
3325
|
new_kid.append(self.conn_assign)
|
|
3318
3326
|
new_kid.append(self.gen_token(Tok.CARROW_R_P2))
|
|
3319
|
-
|
|
3327
|
+
self.set_kids(nodes=new_kid)
|
|
3320
3328
|
return res
|
|
3321
3329
|
|
|
3322
3330
|
|
|
@@ -3360,7 +3368,7 @@ class FilterCompr(AtomExpr):
|
|
|
3360
3368
|
new_kid.append(self.compares)
|
|
3361
3369
|
if not isinstance(self.parent, EdgeOpRef):
|
|
3362
3370
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
3363
|
-
|
|
3371
|
+
self.set_kids(nodes=new_kid)
|
|
3364
3372
|
return res
|
|
3365
3373
|
|
|
3366
3374
|
|
|
@@ -3395,7 +3403,7 @@ class AssignCompr(AtomExpr):
|
|
|
3395
3403
|
new_kid.append(self.gen_token(Tok.EQ))
|
|
3396
3404
|
new_kid.append(self.assigns)
|
|
3397
3405
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
3398
|
-
|
|
3406
|
+
self.set_kids(nodes=new_kid)
|
|
3399
3407
|
return res
|
|
3400
3408
|
|
|
3401
3409
|
|
|
@@ -3433,7 +3441,7 @@ class MatchStmt(CodeBlockStmt):
|
|
|
3433
3441
|
new_kid.append(case)
|
|
3434
3442
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
3435
3443
|
|
|
3436
|
-
|
|
3444
|
+
self.set_kids(nodes=new_kid)
|
|
3437
3445
|
return res
|
|
3438
3446
|
|
|
3439
3447
|
|
|
@@ -3468,7 +3476,7 @@ class MatchCase(AstNode):
|
|
|
3468
3476
|
new_kid.append(self.gen_token(Tok.COLON))
|
|
3469
3477
|
if self.body:
|
|
3470
3478
|
new_kid.extend([*self.body])
|
|
3471
|
-
|
|
3479
|
+
self.set_kids(nodes=new_kid)
|
|
3472
3480
|
return res
|
|
3473
3481
|
|
|
3474
3482
|
|
|
@@ -3495,7 +3503,7 @@ class MatchOr(MatchPattern):
|
|
|
3495
3503
|
new_kid.append(pattern)
|
|
3496
3504
|
new_kid.append(self.gen_token(Tok.KW_OR))
|
|
3497
3505
|
new_kid.pop()
|
|
3498
|
-
|
|
3506
|
+
self.set_kids(nodes=new_kid)
|
|
3499
3507
|
return res
|
|
3500
3508
|
|
|
3501
3509
|
|
|
@@ -3524,7 +3532,7 @@ class MatchAs(MatchPattern):
|
|
|
3524
3532
|
new_kid.append(self.pattern)
|
|
3525
3533
|
new_kid.append(self.gen_token(Tok.KW_AS))
|
|
3526
3534
|
new_kid.append(self.name)
|
|
3527
|
-
|
|
3535
|
+
self.set_kids(nodes=new_kid)
|
|
3528
3536
|
return res
|
|
3529
3537
|
|
|
3530
3538
|
|
|
@@ -3568,7 +3576,7 @@ class MatchValue(MatchPattern):
|
|
|
3568
3576
|
res = True
|
|
3569
3577
|
if deep:
|
|
3570
3578
|
res = self.value.normalize(deep)
|
|
3571
|
-
|
|
3579
|
+
self.set_kids(nodes=[self.value])
|
|
3572
3580
|
return res
|
|
3573
3581
|
|
|
3574
3582
|
|
|
@@ -3587,7 +3595,7 @@ class MatchSingleton(MatchPattern):
|
|
|
3587
3595
|
def normalize(self, deep: bool = False) -> bool:
|
|
3588
3596
|
"""Normalize match singleton node."""
|
|
3589
3597
|
res = True
|
|
3590
|
-
|
|
3598
|
+
self.set_kids(nodes=[self.value])
|
|
3591
3599
|
return res
|
|
3592
3600
|
|
|
3593
3601
|
|
|
@@ -3615,7 +3623,7 @@ class MatchSequence(MatchPattern):
|
|
|
3615
3623
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
3616
3624
|
new_kid.pop()
|
|
3617
3625
|
new_kid.append(self.gen_token(Tok.RSQUARE))
|
|
3618
|
-
|
|
3626
|
+
self.set_kids(nodes=new_kid)
|
|
3619
3627
|
return res
|
|
3620
3628
|
|
|
3621
3629
|
|
|
@@ -3643,7 +3651,7 @@ class MatchMapping(MatchPattern):
|
|
|
3643
3651
|
new_kid.append(self.gen_token(Tok.COMMA))
|
|
3644
3652
|
new_kid.pop()
|
|
3645
3653
|
new_kid.append(self.gen_token(Tok.RBRACE))
|
|
3646
|
-
|
|
3654
|
+
self.set_kids(nodes=new_kid)
|
|
3647
3655
|
return res
|
|
3648
3656
|
|
|
3649
3657
|
|
|
@@ -3671,7 +3679,7 @@ class MatchKVPair(MatchPattern):
|
|
|
3671
3679
|
res = res and self.value.normalize(deep)
|
|
3672
3680
|
op = Tok.EQ if isinstance(self.key, Name) else Tok.COLON
|
|
3673
3681
|
new_kid: list[AstNode] = [self.key, self.gen_token(op), self.value]
|
|
3674
|
-
|
|
3682
|
+
self.set_kids(nodes=new_kid)
|
|
3675
3683
|
return res
|
|
3676
3684
|
|
|
3677
3685
|
|
|
@@ -3698,7 +3706,7 @@ class MatchStar(MatchPattern):
|
|
|
3698
3706
|
self.gen_token(Tok.STAR_MUL if self.is_list else Tok.STAR_POW)
|
|
3699
3707
|
]
|
|
3700
3708
|
new_kid.append(self.name)
|
|
3701
|
-
|
|
3709
|
+
self.set_kids(nodes=new_kid)
|
|
3702
3710
|
return res
|
|
3703
3711
|
|
|
3704
3712
|
|
|
@@ -3735,7 +3743,7 @@ class MatchArch(MatchPattern):
|
|
|
3735
3743
|
else:
|
|
3736
3744
|
new_kid.pop()
|
|
3737
3745
|
new_kid.append(self.gen_token(Tok.RPAREN))
|
|
3738
|
-
|
|
3746
|
+
self.set_kids(nodes=new_kid)
|
|
3739
3747
|
return res
|
|
3740
3748
|
|
|
3741
3749
|
|