Skip to content

Commit 69e8436

Browse files
committed
fix inh
1 parent 6d23853 commit 69e8436

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

onnx_diagnostic/export/api.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff 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] = (

0 commit comments

Comments
 (0)