File tree Expand file tree Collapse file tree 1 file changed +26
-7
lines changed Expand file tree Collapse file tree 1 file changed +26
-7
lines changed Original file line number Diff line number Diff line change @@ -93,14 +93,33 @@ def to_onnx(
9393 control_flow_dispatcher = None
9494
9595 class MainDispatcher (Dispatcher ):
96- def __init__ (self ):
96+ def __init__ (self , previous_dispatcher = None ):
9797 super ().__init__ ({})
98-
99- main_dispatcher = MainDispatcher ()
100- if use_control_flow_dispatcher :
101- main_dispatcher .registered_functions .update (
102- control_flow_dispatcher .registered_functions
103- )
98+ self .previous_dispatcher = previous_dispatcher
99+
100+ @property
101+ def supported (self ):
102+ if self .previous_dispatcher :
103+ return (
104+ set (self .registered_functions ) | self .previous_dispatcher .supported
105+ )
106+ return set (self .registered_functions )
107+
108+ def find_function (self , name : Any ):
109+ if self .previous_dispatcher :
110+ find = self .previous_dispatcher .find_function (name )
111+ if find :
112+ return find
113+ return Dispatcher .find_function (self , name )
114+
115+ def find_method (self , name : Any ):
116+ if self .previous_dispatcher :
117+ find = self .previous_dispatcher .find_method (name )
118+ if find :
119+ return find
120+ return Dispatcher .find_method (self , name )
121+
122+ main_dispatcher = MainDispatcher (control_flow_dispatcher )
104123 if onnx_plugs :
105124 for plug in onnx_plugs :
106125 main_dispatcher .registered_functions [plug .target_name ] = (
You can’t perform that action at this time.
0 commit comments