From 4892b749c8ba22192275dd7ed6f4a2644ff5b376 Mon Sep 17 00:00:00 2001 From: radrow Date: Fri, 16 Sep 2022 11:03:44 +0200 Subject: [PATCH] Include all functions in the symbols map --- src/aeso_fcode_to_fate.erl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/aeso_fcode_to_fate.erl b/src/aeso_fcode_to_fate.erl index 9e19be5..82b1ce3 100644 --- a/src/aeso_fcode_to_fate.erl +++ b/src/aeso_fcode_to_fate.erl @@ -70,6 +70,8 @@ code_error(Err) -> %% -- Main ------------------------------------------------------------------- +-define(funids, '$funids'). + %% @doc Main entry point. compile(FCode, Options) -> compile(#{}, FCode, Options). @@ -80,10 +82,15 @@ compile(ChildContracts, FCode, Options) -> SFuns1 = optimize_scode(SFuns, Options), FateCode = to_basic_blocks(SFuns1), ?debug(compile, Options, "~s\n", [aeb_fate_asm:pp(FateCode)]), + setelement(2, FateCode, get(?funids)), + erase(?funids), FateCode. make_function_id(X) -> - aeb_fate_code:symbol_identifier(make_function_name(X)). + FunIds = case get(?funids) of undefined -> #{}; FI -> FI end, + Id = aeb_fate_code:symbol_identifier(make_function_name(X)), + put(?funids, maps:put(X, Id, FunIds)), + Id. make_function_name(event) -> <<"Chain.event">>; make_function_name({entrypoint, Name}) -> Name;