From d2dbb98b7f028c1d446f567b072ebc398506267e Mon Sep 17 00:00:00 2001 From: Ulf Norell Date: Tue, 26 Mar 2019 11:17:44 +0100 Subject: [PATCH] Update to changes in icode format --- src/aeso_icode_to_fate.erl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/aeso_icode_to_fate.erl b/src/aeso_icode_to_fate.erl index 245d8d7..ae57b8b 100644 --- a/src/aeso_icode_to_fate.erl +++ b/src/aeso_icode_to_fate.erl @@ -40,12 +40,19 @@ compile(ICode, Options) -> functions := Functions } = ICode, SFuns = functions_to_scode(Functions, Options), SFuns1 = optimize_scode(SFuns, Options), - to_basic_blocks(SFuns1, Options). + BBFuns = to_basic_blocks(SFuns1, Options), + #{ functions => BBFuns }. + +is_init([_, "init"]) -> true; +is_init(_Other) -> false. + +make_function_name([_, Name]) -> list_to_binary(Name); +make_function_name(Other) -> error({todo, namespace_stuff, Other}). functions_to_scode(Functions, Options) -> maps:from_list( - [ {list_to_binary(Name), function_to_scode(Name, Args, Body, Type, Options)} - || {Name, _Ann, Args, Body, Type} <- Functions, Name /= "init" ]). %% TODO: skip init for now + [ {make_function_name(Name), function_to_scode(Name, Args, Body, Type, Options)} + || {Name, _Ann, Args, Body, Type} <- Functions, not is_init(Name) ]). %% TODO: skip init for now function_to_scode(Name, Args, Body, Type, Options) -> debug(Options, "Compiling ~p ~p : ~p ->\n ~p\n", [Name, Args, Type, Body]),