diff --git a/src/py/reactpy/reactpy/hot_reloading.py b/src/py/reactpy/reactpy/hot_reloading.py index 6aae079a9..38c33cf01 100644 --- a/src/py/reactpy/reactpy/hot_reloading.py +++ b/src/py/reactpy/reactpy/hot_reloading.py @@ -8,6 +8,7 @@ def monkeypatch_jurigged_to_kill_connections_if_function_update(): import jurigged.codetools as jurigged_codetools # type: ignore + import jurigged.utils as jurigged_utils # type: ignore OrigFunctionDefinition = jurigged_codetools.FunctionDefinition @@ -26,4 +27,12 @@ def reevaluate(self, new_node, glb): active_connections.clear() return super().reevaluate(new_node, glb) + def stash(self, lineno=1, col_offset=0): + if not isinstance(self.parent, OrigFunctionDefinition): + co = self.get_object() + if co and (delta := lineno - self.node.extent.lineno): + self.recode(jurigged_utils.shift_lineno(co, delta), use_cache=False) + + return super(OrigFunctionDefinition, self).stash(lineno, col_offset) + jurigged_codetools.FunctionDefinition = NewFunctionDefinition