From 88a1e07f13ba7045223c0f6bb0204cd9bde13d2b Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Wed, 22 Mar 2023 14:22:31 +0300 Subject: [PATCH] Check if a var name is fresh in separate function --- src/aeso_fcode_to_fate.erl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/aeso_fcode_to_fate.erl b/src/aeso_fcode_to_fate.erl index 4b78633..f26c0cb 100644 --- a/src/aeso_fcode_to_fate.erl +++ b/src/aeso_fcode_to_fate.erl @@ -766,16 +766,22 @@ dbg_scoped_vars(Env, [Var | Rest], SCode) -> dbg_scoped_var(#env{debug_info = false}, _, SCode) -> SCode; dbg_scoped_var(Env = #env{saved_fresh_names = SavedFreshNames}, Var, SCode) -> - case maps:get(Var, SavedFreshNames, Var) of - "%" ++ _ -> SCode; - "_" -> SCode; - VarName -> + VarName = maps:get(Var, SavedFreshNames, Var), + case VarName == "_" orelse is_fresh_name(VarName) of + true -> + SCode; + false -> Register = lookup_var(Env, Var), Def = [{'DBG_DEF', {immediate, VarName}, Register}], Undef = [{'DBG_UNDEF', {immediate, VarName}, Register}], Def ++ dbg_undef(Undef, SCode) end. +is_fresh_name([$% | _]) -> + true; +is_fresh_name(_) -> + false. + dbg_undef(_Undef, missing) -> missing; dbg_undef(Undef, loop) ->