@@ -166,13 +166,13 @@ def __init__(
166166 jinja_prefix = f'{ self .__module__ } _{ self .__class__ .__name__ } '
167167 # Optimize `propagate()` via `*.jinja` templates:
168168 if not self .propagate .__module__ .startswith (jinja_prefix ):
169- if self . inspector . can_read_source :
169+ try :
170170 module = module_from_template (
171171 module_name = f'{ jinja_prefix } _propagate' ,
172172 template_path = osp .join (root_dir , 'propagate.jinja' ),
173173 tmp_dirname = 'message_passing' ,
174174 # Keyword arguments:
175- module = self .__module__ ,
175+ module = self .inspector . _modules ,
176176 collect_name = 'collect' ,
177177 signature = self ._get_propagate_signature (),
178178 collect_param_dict = self .inspector .get_flat_param_dict (
@@ -185,34 +185,40 @@ def __init__(
185185 fuse = self .fuse ,
186186 )
187187
188- # Cache to potentially disable later on:
189188 self .__class__ ._orig_propagate = self .__class__ .propagate
190189 self .__class__ ._jinja_propagate = module .propagate
191190
192191 self .__class__ .propagate = module .propagate
193192 self .__class__ .collect = module .collect
194- else :
193+ except Exception : # pragma: no cover
195194 self .__class__ ._orig_propagate = self .__class__ .propagate
196195 self .__class__ ._jinja_propagate = self .__class__ .propagate
197196
198197 # Optimize `edge_updater()` via `*.jinja` templates (if implemented):
199198 if (self .inspector .implements ('edge_update' )
200- and not self .edge_updater .__module__ .startswith (jinja_prefix )
201- and self .inspector .can_read_source ):
202- module = module_from_template (
203- module_name = f'{ jinja_prefix } _edge_updater' ,
204- template_path = osp .join (root_dir , 'edge_updater.jinja' ),
205- tmp_dirname = 'message_passing' ,
206- # Keyword arguments:
207- module = self .__module__ ,
208- collect_name = 'edge_collect' ,
209- signature = self ._get_edge_updater_signature (),
210- collect_param_dict = self .inspector .get_param_dict (
211- 'edge_update' ),
212- )
199+ and not self .edge_updater .__module__ .startswith (jinja_prefix )):
200+ try :
201+ module = module_from_template (
202+ module_name = f'{ jinja_prefix } _edge_updater' ,
203+ template_path = osp .join (root_dir , 'edge_updater.jinja' ),
204+ tmp_dirname = 'message_passing' ,
205+ # Keyword arguments:
206+ modules = self .inspector ._modules ,
207+ collect_name = 'edge_collect' ,
208+ signature = self ._get_edge_updater_signature (),
209+ collect_param_dict = self .inspector .get_param_dict (
210+ 'edge_update' ),
211+ )
212+
213+ self .__class__ ._orig_edge_updater = self .__class__ .edge_updater
214+ self .__class__ ._jinja_edge_updater = module .edge_updater
213215
214- self .__class__ .edge_updater = module .edge_updater
215- self .__class__ .edge_collect = module .edge_collect
216+ self .__class__ .edge_updater = module .edge_updater
217+ self .__class__ .edge_collect = module .edge_collect
218+ except Exception : # pragma: no cover
219+ self .__class__ ._orig_edge_updater = self .__class__ .edge_updater
220+ self .__class__ ._jinja_edge_updater = (
221+ self .__class__ .edge_updater )
216222
217223 # Explainability:
218224 self ._explain : Optional [bool ] = None
0 commit comments