From 271870b2a48b53d6d3ca7d5e7b8cd30297bb34d3 Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Fri, 26 May 2023 16:50:35 +0300 Subject: [PATCH] Update rename when a new rename comes up --- src/aeso_ast_to_fcode.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/aeso_ast_to_fcode.erl b/src/aeso_ast_to_fcode.erl index 8cb7c84..6890926 100644 --- a/src/aeso_ast_to_fcode.erl +++ b/src/aeso_ast_to_fcode.erl @@ -2164,13 +2164,18 @@ rename_spat(Ren, {assign, X, P}) -> -spec rename_split(rename(), fsplit()) -> fsplit(). rename_split(Ren, {split, Type, X, Cases}) -> {split, Type, rename_var(Ren, X), [rename_case(Ren, C) || C <- Cases]}; -rename_split(Ren, {nosplit, Rens, E}) -> {nosplit, Rens, rename(Ren, E)}. +rename_split(Ren, {nosplit, Rens, E}) -> + {nosplit, update_rename(Rens, Ren), rename(Ren, E)}. -spec rename_case(rename(), fcase()) -> fcase(). rename_case(Ren, {'case', Pat, Split}) -> {Pat1, Ren1} = rename_spat(Ren, Pat), {'case', Pat1, rename_split(Ren1, Split)}. +-spec update_rename(rename(), rename()) -> rename(). +update_rename(OldRen, NewRen) -> + [{Name, proplists:get_value(Rename, NewRen, Rename)} || {Name, Rename} <- OldRen]. + %% -- Records -- -spec field_index(aeso_syntax:typedef(), aeso_syntax:name()) -> integer().