Check if a var name is fresh in separate function

This commit is contained in:
Gaith Hallak 2023-03-22 14:22:31 +03:00
parent e579ea15e8
commit 88a1e07f13

View File

@ -766,16 +766,22 @@ dbg_scoped_vars(Env, [Var | Rest], SCode) ->
dbg_scoped_var(#env{debug_info = false}, _, SCode) -> dbg_scoped_var(#env{debug_info = false}, _, SCode) ->
SCode; SCode;
dbg_scoped_var(Env = #env{saved_fresh_names = SavedFreshNames}, Var, SCode) -> dbg_scoped_var(Env = #env{saved_fresh_names = SavedFreshNames}, Var, SCode) ->
case maps:get(Var, SavedFreshNames, Var) of VarName = maps:get(Var, SavedFreshNames, Var),
"%" ++ _ -> SCode; case VarName == "_" orelse is_fresh_name(VarName) of
"_" -> SCode; true ->
VarName -> SCode;
false ->
Register = lookup_var(Env, Var), Register = lookup_var(Env, Var),
Def = [{'DBG_DEF', {immediate, VarName}, Register}], Def = [{'DBG_DEF', {immediate, VarName}, Register}],
Undef = [{'DBG_UNDEF', {immediate, VarName}, Register}], Undef = [{'DBG_UNDEF', {immediate, VarName}, Register}],
Def ++ dbg_undef(Undef, SCode) Def ++ dbg_undef(Undef, SCode)
end. end.
is_fresh_name([$% | _]) ->
true;
is_fresh_name(_) ->
false.
dbg_undef(_Undef, missing) -> dbg_undef(_Undef, missing) ->
missing; missing;
dbg_undef(Undef, loop) -> dbg_undef(Undef, loop) ->