Compile events

But no FATE support for events yet
This commit is contained in:
Ulf Norell 2019-05-06 15:56:36 +02:00
parent b43e8d9f68
commit 49b00715c5
2 changed files with 5 additions and 2 deletions

View File

@ -213,8 +213,9 @@ init_type_env() ->
to_fcode(Env, [{contract, _, {con, _, Main}, Decls}]) ->
#{ builtins := Builtins } = Env,
MainEnv = Env#{ context => {main_contract, Main},
builtins => Builtins#{[Main, "state"] => {get_state, none},
[Main, "put"] => {set_state, 1}} },
builtins => Builtins#{[Main, "state"] => {get_state, none},
[Main, "put"] => {set_state, 1},
[Main, "Chain", "event"] => {event, 1}} },
#{ functions := Funs } = Env1 =
decls_to_fcode(MainEnv, Decls),
StateType = lookup_type(Env1, [Main, "state"], [], {tuple, []}),

View File

@ -378,6 +378,8 @@ builtin_to_scode(_Env, get_state, none) ->
builtin_to_scode(Env, set_state, [_] = Args) ->
call_to_scode(Env, [aeb_fate_code:store(?s, ?a),
aeb_fate_code:tuple(0)], Args);
builtin_to_scode(_Env, event, [_] = _Args) ->
?TODO(fate_event_instruction);
builtin_to_scode(_Env, map_empty, none) ->
[aeb_fate_code:map_empty(?a)];
builtin_to_scode(_Env, bits_none, none) ->