@@ -65,9 +65,9 @@ class Base(ABC):
6565 __slots__ = ("type" , "parent" , "children" , "was_changed" )
6666
6767 def __init__ (self , type_id : int , children : Optional [list [NL ]] = None ):
68- self .type = type_id
69- self .children = children or []
70- self .parent : Optional ["Node" ] = None
68+ self .type = type_id # int: token number (< 256) or symbol number (>= 256)
69+ self .children = children or [] # List of subnodes
70+ self .parent : Optional ["Node" ] = None # Parent node pointer, or None
7171 self .was_changed : bool = False
7272
7373 def __eq__ (self , other : Any ) -> bool :
@@ -618,7 +618,7 @@ def match(self, node: NL, results: _Results | None = None) -> bool:
618618 return False
619619 if r :
620620 assert results is not None
621- results |= r
621+ results . update ( r )
622622 if results is not None and self .name :
623623 results [self .name ] = node
624624 return True
@@ -749,7 +749,7 @@ def _submatch(self, node, results=None) -> bool:
749749 for c , r in generate_matches (self .content , node .children ):
750750 if c == len (node .children ):
751751 if results is not None :
752- results |= r
752+ results . update ( r )
753753 return True
754754 return False
755755 if len (self .content ) != len (node .children ):
@@ -856,7 +856,7 @@ def match_seq(self, nodes, results=None) -> bool:
856856 for c , r in self .generate_matches (nodes ):
857857 if c == len (nodes ):
858858 if results is not None :
859- results |= r
859+ results . update ( r )
860860 if self .name :
861861 results [self .name ] = list (nodes )
862862 return True
0 commit comments