tests: Fix tests
[nit.git] / src / doc / templates / tests / test_json_model.sav / test_propdefs_to_full_json.res
index ea14337..126aca2 100644 (file)
        "class_name": "MVirtualTypeDef",
        "full_name": "test_prog$Object$OTHER",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>",
        "modifiers": ["type"],
        "is_intro": true,
        "bound": {
                "name": "nullable Object",
                "synopsis": "Root of everything.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>"
        }
 }
 {
@@ -39,7 +39,7 @@
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$==",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["intern", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
@@ -76,7 +76,7 @@
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$!=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
        }
 }
 {
-       "name": "init",
+       "name": "defaultinit",
        "namespace": [{
                "name": "test_prog",
                "synopsis": "Test program for model tools."
        }, "$", {
-               "name": "Character",
-               "synopsis": "Characters can be played by both the human or the machine."
-       }, "$", {
                "name": "Object",
                "synopsis": "Root of everything."
-       }, "::", {
-               "name": "init"
+       }, "$", {
+               "name": "defaultinit"
        }],
        "class_name": "MMethodDef",
-       "full_name": "test_prog$Character$Object::init",
+       "full_name": "test_prog$Object$defaultinit",
        "visibility": "public",
-       "modifiers": ["redef", "init"],
+       "modifiers": ["init"],
+       "is_intro": true,
        "msignature": {
                "arity": 0,
                "mparameters": [],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Int$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "+",
        "namespace": [{
                "name": "test_prog",
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Float$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Bool",
+               "synopsis": "Booleans, `true` or `false`."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Bool$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "String",
+               "synopsis": "Strings (there is no chars...)."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$String$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "List",
+               "synopsis": "List of things."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$List$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "main",
        "namespace": [{
                "name": "test_prog",
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Sys",
+               "synopsis": "Sys"
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Sys$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "_strength_bonus",
        "namespace": [{
                "name": "test_prog",
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Career$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "strength_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "endurance_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "intelligence_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Warrior",
+               "synopsis": "Warriors are good for fighting."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Warrior$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "strength_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "endurance_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "intelligence_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Magician",
+               "synopsis": "Magicians know magic and how to use it."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Magician$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "strength_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "endurance_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "intelligence_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Alcoholic",
+               "synopsis": "Alcoholics are good to nothing escept taking punches."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Alcoholic$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "strength_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "endurance_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "intelligence_bonus",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_strength",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_endurance",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_intelligence",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+       }
+}
+{
+       "name": "base_intelligence",
+       "synopsis": "Is this race smart?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Race",
+               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+       }, "$", {
+               "name": "base_intelligence",
+               "synopsis": "Is this race smart?"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Race$base_intelligence",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
+       "modifiers": ["fun"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": {
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+               }
+       }
+}
+{
+       "name": "base_intelligence=",
+       "synopsis": "Is this race smart?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Race",
+               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+       }, "$", {
+               "name": "base_intelligence=",
+               "synopsis": "Is this race smart?"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Race$base_intelligence=",
+       "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
+       "modifiers": ["protected", "fun"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 1,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "base_intelligence",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Race",
+               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Race$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "base_strength",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_endurance",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_intelligence",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Human",
+               "synopsis": "Humans are able to do everithing."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Human$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "base_strength",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_endurance",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_intelligence",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
        }
 }
 {
-       "name": "base_intelligence",
-       "synopsis": "Is this race smart?",
+       "name": "defaultinit",
        "namespace": [{
                "name": "test_prog",
                "synopsis": "Test program for model tools."
        }, "$", {
-               "name": "Race",
-               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
        }, "$", {
-               "name": "base_intelligence",
-               "synopsis": "Is this race smart?"
+               "name": "defaultinit"
        }],
        "class_name": "MMethodDef",
-       "full_name": "test_prog$Race$base_intelligence",
+       "full_name": "test_prog$Dwarf$defaultinit",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
-       "modifiers": ["fun"],
+       "modifiers": ["init"],
        "is_intro": true,
        "msignature": {
-               "arity": 0,
-               "mparameters": [],
-               "return_mtype": {
-                       "name": "Int",
-                       "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
-               }
+               "arity": 3,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "base_strength",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_endurance",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_intelligence",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
        }
 }
 {
-       "name": "base_intelligence=",
-       "synopsis": "Is this race smart?",
+       "name": "defaultinit",
        "namespace": [{
                "name": "test_prog",
                "synopsis": "Test program for model tools."
        }, "$", {
-               "name": "Race",
-               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+               "name": "Elf",
+               "synopsis": "Elves make good magicians."
        }, "$", {
-               "name": "base_intelligence=",
-               "synopsis": "Is this race smart?"
+               "name": "defaultinit"
        }],
        "class_name": "MMethodDef",
-       "full_name": "test_prog$Race$base_intelligence=",
-       "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
-       "modifiers": ["protected", "fun"],
+       "full_name": "test_prog$Elf$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
        "is_intro": true,
        "msignature": {
-               "arity": 1,
+               "arity": 3,
                "mparameters": [{
                        "is_vararg": false,
+                       "name": "base_strength",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "base_endurance",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
                        "name": "base_intelligence",
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_race",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Race",
                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Race",
                        "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Race",
                                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_career",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "nullable Career",
                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "nullable Career",
                        "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "nullable Career",
                                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "String",
                "synopsis": "Strings (there is no chars...).",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "String",
                        "synopsis": "Strings (there is no chars...).",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                }
        }
 }
                        "mtype": {
                                "name": "String",
                                "synopsis": "Strings (there is no chars...).",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Bool",
                "synopsis": "Booleans, `true` or `false`.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Bool",
                                "synopsis": "Booleans, `true` or `false`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_strengh",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual strength of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual endurance of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual endurance of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_intelligence",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The acutal intelligence of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The acutal intelligence of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$max_health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Maximum health of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Maximum health of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_health",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }],
+               "return_mtype": null
+       }
+}
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Character$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 4,
+               "mparameters": [{
+                       "is_vararg": false,
+                       "name": "race",
+                       "mtype": {
+                               "name": "Race",
+                               "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "name",
+                       "mtype": {
+                               "name": "String",
+                               "synopsis": "Strings (there is no chars...).",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "age",
+                       "mtype": {
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
+                       }
+               }, {
+                       "is_vararg": false,
+                       "name": "sex",
+                       "mtype": {
+                               "name": "Bool",
+                               "synopsis": "Booleans, `true` or `false`.",
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethodDef",
        "full_name": "test_prog$Weapon$dps",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Damage per second inflicted by this weapon.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Damage per second inflicted by this weapon.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Dwarf$Weapon::dps",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">dps</span></span></span></code> are based on the dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">base_endurance</span></span></span></code> (represents weight here)</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">dps</span></span></span></code> are based on the dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">base_endurance</span></span></span></code> (represents weight here)</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Weapon",
+               "synopsis": "Something that can be used to attack someone and inflict damage."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Weapon$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "hit_points",
        "namespace": [{
                "name": "test_prog",
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Character$Combatable::hit_points",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Use character <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> to determines hit_points.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Use character <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> to determines hit_points.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$direct_attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$defend",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$is_dead",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is the character still have hit_points?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is the character still have hit_points?</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Combatable$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "player_characters",
        "synopsis": "Characters played by human players.",
        "namespace": [{
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$TestGame$Game::player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$computer_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters players by computer.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::computer_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters players by computer.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$start_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Start the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::start_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Start the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$pause_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Pause the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::pause_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Pause the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$stop_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Stop the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::stop_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Stop the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Game",
+               "synopsis": "This is the interface you have to implement to use ure gaming platform."
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Game$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "_player_characters",
        "namespace": [{
                "name": "test_prog",
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "MyGame",
+               "synopsis": "This is an example of how to implement the Game interface"
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$MyGame$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "start",
        "namespace": [{
                "name": "test_prog",
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Starter"
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Starter$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "_player_characters",
        "namespace": [{
                "name": "test_prog",
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        }
 }
 {
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "TestGame"
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$TestGame$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}
+{
        "name": "test_game",
        "namespace": [{
                "name": "test_prog",
                "return_mtype": null
        }
 }
+{
+       "name": "defaultinit",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "GameTest"
+       }, "$", {
+               "name": "defaultinit"
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$GameTest$defaultinit",
+       "visibility": "public",
+       "modifiers": ["init"],
+       "is_intro": true,
+       "msignature": {
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": null
+       }
+}