@@ -39,15 +39,20 @@ class FreExNode:
3939 parents : Set [str ]
4040 """Parents of the node to add """
4141
42+ extension_node : bool
43+ """ """
44+
4245 def __init__ (
4346 self ,
4447 uid : str = None ,
4548 * ,
4649 fork_id : Optional [str ] = None ,
4750 parents : Set [str ] = None ,
4851 graph_ref : nx .DiGraph = None ,
52+ extension_node : bool = False ,
4953 ):
5054 self .parents = parents or set ()
55+ self .extension_node = extension_node
5156 self ._graph_ref = graph_ref
5257 self ._id = uid
5358 self ._fork_id = fork_id
@@ -63,6 +68,8 @@ def apply_accept_(self, visitor: AnyVisitor) -> bool:
6368 from freexgraph .standard_visitor import is_standard_visitor
6469
6570 if is_standard_visitor (visitor ):
71+ if self .extension_node :
72+ self .accept (visitor )
6673 return visitor .visit_standard (self )
6774 return self .accept (visitor )
6875
@@ -126,7 +133,9 @@ class GraphNode(FreExNode):
126133 def __init__ (
127134 self , uid : str = None , * , graph : "FreExGraph" , parents : Set [str ] = None
128135 ):
129- super ().__init__ (uid = uid , parents = parents , graph_ref = graph ._graph )
136+ super ().__init__ (
137+ uid = uid , parents = parents , graph_ref = graph ._graph , extension_node = True
138+ )
130139 self ._graph_ex = graph
131140
132141 def accept (self , visitor : AnyVisitor ) -> bool :
0 commit comments