diff --git a/src/generation/types_header.anubis b/src/generation/types_header.anubis index 4951d0f..dc4f853 100644 --- a/src/generation/types_header.anubis +++ b/src/generation/types_header.anubis @@ -39,6 +39,8 @@ public define Maybe(One) */ transmit system/muscle.anubis +transmit system/convert.anubis +transmit tools/basis.anubis " + insert_read_foreign_type(sd_type)+ "\n" diff --git a/src/generation/types_messages.anubis b/src/generation/types_messages.anubis index 4d51ec1..8af018b 100644 --- a/src/generation/types_messages.anubis +++ b/src/generation/types_messages.anubis @@ -187,19 +187,25 @@ define String if anb_type is { //empty then indent + "with " + name + " = map_escape(( String str ) |-> (Maybe(String)) from_Message(msg), find_strings("+type_msg+", \""+name+"\")),\n", - one then indent + "with " + name + " = map_escape((Message msg) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_messages("+type_msg+", \""+name+"\")),\n", + one then + brace_counter <- *brace_counter + 1; + indent + "with mb_" + name + " = map_escape((Message msg) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_messages("+type_msg+", \""+name+"\")),\n"+ + indent + " if mb_" + name + " is {failure then failure, success("+ name + ") then \n", bool then indent + "with " + name + " = find_bool_list("+type_msg+", \""+name+"\"),\n", - int then indent + "with " + name + " = map_escape((String int_str) |-> decimal_scan(int_str), find_string_list("+type_msg+", \""+name+"\")),\n", + int then + brace_counter <- *brace_counter + 1; + indent + "with mb_" + name + " = map_escape((String int_str) |-> decimal_scan(int_str), find_string_list("+type_msg+", \""+name+"\")),\n"+ + indent + " if mb_" + name + " is {failure then failure, success("+ name + ") then \n", string then indent + "with " + name + " = find_string_list("+type_msg+", \""+name+"\"),\n", float then indent + "with " + name + " = find_float_list("+type_msg+", \""+name+"\"),\n", ds_type(type_name) then brace_counter <- *brace_counter + 1; - indent +"with _"+name+" = map_escape(( Message msg ) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_message_list("+type_msg+", \""+name+"\")),\n"+ - indent +" if _"+name+" is {failure then failure, success("+name+") then\n", + indent +"with mb_"+name+" = map_escape(( Message msg ) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_message_list("+type_msg+", \""+name+"\")),\n"+ + indent +" if mb_"+name+" is {failure then failure, success("+name+") then\n", extern_type(type_name, _) then brace_counter <- *brace_counter + 1; - indent +"with _"+name+" = map_escape(( Message msg ) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_message_list("+type_msg+", \""+name+"\")),\n"+ - indent +" if _"+name+" is {failure then failure, success("+name+") then\n" + indent +"with mb_"+name+" = map_escape(( Message msg ) |-> (Maybe("+dump(anb_type)+ ")) from_Message(msg), find_message_list("+type_msg+", \""+name+"\")),\n"+ + indent +" if mb_"+name+" is {failure then failure, success("+name+") then\n" } . diff --git a/src/main.anubis b/src/main.anubis index d104a88..4c4fed9 100644 --- a/src/main.anubis +++ b/src/main.anubis @@ -1,5 +1,5 @@ /************************************************** - * Project* The Takaden (高伝) project + * Project* The 伝作 (Densaku) project * * *Title* Generating type and Muscle message with Anubis * @@ -40,7 +40,7 @@ public define List(DS_Type) the_types_list = component(string, "first_name"), component(string, "last_name"), component(list, int, "extension_list"), - component(extern_type("DB_Entry", "calexium_lib/database.anubis"), "db_id") + component(extern_type("DB_id", "calexium_lib/model/db_types.anubis"), "db_id") ]) ]), -- libgit2 0.21.4