Don't mess up on multiple namespaces in icode compiler

This commit is contained in:
Ulf Norell 2019-02-08 09:14:39 +01:00
parent 6cdba58e35
commit 0a5b80668f

View File

@ -28,7 +28,8 @@ code([{contract, _Attribs, Con, Code}|Rest], Icode) ->
NewIcode = contract_to_icode(Code, aeso_icode:set_namespace(Con, Icode)), NewIcode = contract_to_icode(Code, aeso_icode:set_namespace(Con, Icode)),
code(Rest, NewIcode); code(Rest, NewIcode);
code([{namespace, _Ann, Name, Code}|Rest], Icode) -> code([{namespace, _Ann, Name, Code}|Rest], Icode) ->
NewIcode = contract_to_icode(Code, aeso_icode:enter_namespace(Name, Icode)), %% TODO: nested namespaces
NewIcode = contract_to_icode(Code, aeso_icode:set_namespace(Name, Icode)),
code(Rest, NewIcode); code(Rest, NewIcode);
code([], Icode) -> code([], Icode) ->
add_default_init_function(add_builtins(Icode)). add_default_init_function(add_builtins(Icode)).