From eb2a0a4024ab35d21bbaab8915cd8170182160d1 Mon Sep 17 00:00:00 2001 From: George Marchment <georgemarchment@yahoo.fr> Date: Thu, 20 Mar 2025 12:04:01 +0100 Subject: [PATCH] Added sort length of parameters before replacing --- src/call.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/call.py b/src/call.py index 0e647eb..def0026 100644 --- a/src/call.py +++ b/src/call.py @@ -76,7 +76,16 @@ class Call(Executor): tag_to_add = "//AREA TO ADD PARAMS" code = f"{tag_to_add}\n{code}" index = 1 + + #We do this so that the longest parameters are rewritten first in the code -> to avoid problems + parameters_2_length = {} for param in self.parameters: + #TODO -> make sure of you change the parameters of the get_code -> you do the same below + temp_code = param.get_code(get_OG=True) + parameters_2_length[param] = len(temp_code) + sorted_parameters_2_length = {k: v for k, v in sorted(parameters_2_length.items(), key=lambda item: item[1], reverse=True)} + + for param in sorted_parameters_2_length: param_new_name = f"{self.get_first_element_called().get_alias_and_id()}_param_{index}" #Case the param is a call @@ -84,6 +93,7 @@ class Call(Executor): #If it's not a function -> then we rewrite it if(param.get_first_element_called().get_type()!="Function"): temp = code + #TODO -> make sure of you change the parameters of the get_code -> you do the same above code = replace_group1(code, fr"[^\w]({re.escape(param.get_code(get_OG=True))})", param_new_name) if(temp==code): raise Exception("This souldn't happen") -- GitLab