From c4367ff96de76249ff60b7ae83ba0d5843876713 Mon Sep 17 00:00:00 2001 From: James Hutchison <122519877+JamesHutchison@users.noreply.github.com> Date: Thu, 18 Apr 2024 04:05:21 +0000 Subject: [PATCH] Add jurigged decorator workaround --- src/py/reactpy/reactpy/hot_reloading.py | 9 +++++++++ 1 file changed, 9 insertions(+) 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