model/json: fix model json tests after update
authorAlexandre Terrasa <alexandre@moz-code.org>
Wed, 25 Oct 2017 19:31:08 +0000 (15:31 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Mon, 18 Dec 2017 18:59:12 +0000 (13:59 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/doc/commands/tests/test_commands_json.sav/test_cmd_mentities.res
src/doc/commands/tests/test_commands_json.sav/test_cmd_parents.res
src/model/test_model_json.nit
src/model/test_model_json.sav/test_classdefs_to_full_json.res
src/model/test_model_json.sav/test_classes_to_full_json.res
src/model/test_model_json.sav/test_groups_to_full_json.res
src/model/test_model_json.sav/test_modules_to_full_json.res
src/model/test_model_json.sav/test_packages_to_full_json.res
src/model/test_model_json.sav/test_propdefs_to_full_json.res
src/model/test_model_json.sav/test_props_to_full_json.res
src/model/test_model_json.sav/test_refs_to_full_json.res

index 410f8e6..07d815d 100644 (file)
 {
        "results": [{
                "name": "careers",
+               "synopsis": "Careers of the game.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "careers",
+                       "synopsis": "Careers of the game."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::careers",
-               "mdoc": {
-                       "content": "Careers of the game.\n\nAll characters can have a `Career`.\nA character can also quit its current career and start a new one.\n\nAvailable careers:\n\n * `Warrior`\n * `Magician`\n * `Alcoholic`",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 25,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 3,
-                       "column_start": 1,
-                       "line_end": 69,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Careers of the game.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "character",
+               "synopsis": "Characters are playable entity in the world.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "character",
+                       "synopsis": "Characters are playable entity in the world."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::character",
-               "mdoc": {
-                       "content": "Characters are playable entity in the world.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 3,
-                       "column_start": 1,
-                       "line_end": 68,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are playable entity in the world.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "combat",
+               "synopsis": "COmbat interactions between characters.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "combat",
+                       "synopsis": "COmbat interactions between characters."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::combat",
-               "mdoc": {
-                       "content": "COmbat interactions between characters.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 3,
-                       "column_start": 1,
-                       "line_end": 67,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">COmbat interactions between characters.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "excluded",
+               "namespace": [{
+                       "name": "excluded"
+               }, "::", {
+                       "name": "excluded"
+               }],
                "class_name": "MModule",
                "full_name": "excluded::excluded",
-               "mdoc": null,
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 0,
-                       "line_start": 0,
-                       "file": "test_location"
-               }
+               "modifiers": ["module"]
        }, {
                "name": "game",
+               "synopsis": "A game abstraction for RPG.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "game",
+                       "synopsis": "A game abstraction for RPG."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::game",
-               "mdoc": {
-                       "content": "A game abstraction for RPG.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 3,
-                       "column_start": 1,
-                       "line_end": 45,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">A game abstraction for RPG.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "game_examples",
                "namespace": [{
                "modifiers": ["module"]
        }, {
                "name": "platform",
+               "synopsis": "Declares base types allowed on the platform.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "platform",
+                       "synopsis": "Declares base types allowed on the platform."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::platform",
-               "mdoc": {
-                       "content": "Declares base types allowed on the platform.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 17,
-                       "column_start": 1,
-                       "line_end": 59,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Declares base types allowed on the platform.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "races",
+               "synopsis": "Races of the game.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "races",
+                       "synopsis": "Races of the game."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::races",
-               "mdoc": {
-                       "content": "Races of the game.\n\nAll characters belong to a `Race`.\n\nAvailable races:\n\n * `Human`\n * `Dwarf`\n * `Elf`",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 24,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 3,
-                       "column_start": 1,
-                       "line_end": 78,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Races of the game.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "rpg",
+               "synopsis": "A worlg RPG abstraction.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "rpg",
+                       "synopsis": "A worlg RPG abstraction."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::rpg",
-               "mdoc": {
-                       "content": "A worlg RPG abstraction.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 13,
-                       "column_start": 1,
-                       "line_end": 21,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">A worlg RPG abstraction.</span>",
+               "modifiers": ["module"]
        }, {
                "name": "test_prog",
+               "synopsis": "A test program with a fake model to check model tools.",
+               "namespace": [{
+                       "name": "test_prog",
+                       "synopsis": "Test program for model tools."
+               }, "::", {
+                       "name": "test_prog",
+                       "synopsis": "A test program with a fake model to check model tools."
+               }],
                "class_name": "MModule",
                "full_name": "test_prog::test_prog",
-               "mdoc": {
-                       "content": "A test program with a fake model to check model tools.",
-                       "location": {
-                               "column_end": 0,
-                               "column_start": 1,
-                               "line_end": 16,
-                               "line_start": 15,
-                               "file": "test_location"
-                       }
-               },
                "visibility": "public",
-               "modifiers": ["module"],
-               "location": {
-                       "column_end": 13,
-                       "column_start": 1,
-                       "line_end": 26,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
+               "html_synopsis": "<span class=\"synopsys nitdoc\">A test program with a fake model to check model tools.</span>",
+               "modifiers": ["module"]
        }],
        "page": null,
        "count": null,
index f50645e..5e2fe63 100644 (file)
@@ -11,6 +11,9 @@
                }],
                "class_name": "MClass",
                "full_name": "test_prog::Career",
+               "visibility": "public",
+               "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>",
+               "modifiers": ["abstract class"]
        }],
        "page": null,
        "count": null,
index cc10f48..2dcc415 100644 (file)
@@ -43,54 +43,54 @@ class TestModelSerialization
                mentities.add model.mmodules.first
                mentities.add model.mclasses.first
                for mentity in mentities do
-                       print ((new MEntityRef(mentity)).to_pretty_full_json(mainmodule))
+                       print ((new MEntityRef(mentity)).serialize_to_json(pretty = true, plain = true))
                end
        end
 
        fun test_packages_to_full_json is test do
                for mentity in model.mpackages do
-                       print mentity.to_pretty_full_json(mainmodule)
+                       print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_groups_to_full_json is test do
                for mpackage in model.mpackages do
                        for mentity in mpackage.mgroups do
-                               print mentity.to_pretty_full_json(mainmodule)
+                               print mentity.serialize_to_json(pretty = true, plain = true)
                        end
                end
        end
 
        fun test_modules_to_full_json is test do
                for mentity in model.mmodules do
-                       print mentity.to_pretty_full_json(mainmodule)
+                       print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_classes_to_full_json is test do
                for mentity in model.mclasses do
-                       print mentity.to_pretty_full_json(mainmodule)
+                       print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_classdefs_to_full_json is test do
                for mclass in model.mclasses do
                        for mentity in mclass.mclassdefs do
-                               print mentity.to_pretty_full_json(mainmodule)
+                               print mentity.serialize_to_json(pretty = true, plain = true)
                        end
                end
        end
 
        fun test_props_to_full_json is test do
                for mentity in model.mproperties do
-                       print mentity.to_pretty_full_json(mainmodule)
+                       print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_propdefs_to_full_json is test do
                for mprop in model.mproperties do
                        for mentity in mprop.mpropdefs do
-                               print mentity.to_pretty_full_json(mainmodule)
+                               print mentity.serialize_to_json(pretty = true, plain = true)
                        end
                end
        end
index 6a4e795..ef4fc6d 100644 (file)
 {
        "name": "Object",
+       "synopsis": "Root of everything.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Object",
-       "mdoc": {
-               "content": "Root of everything.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 21,
-                       "line_start": 20,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>",
        "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 30,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::Object"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Object$!="
-       }, {
-               "full_name": "test_prog$Object$=="
-       }, {
-               "full_name": "test_prog$Object$OTHER"
-       }, {
-               "full_name": "test_prog$Object$init"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro": {
-               "full_name": "test_prog$Object"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Object$!="
-       }, {
-               "full_name": "test_prog$Object$=="
-       }, {
-               "full_name": "test_prog$Object$OTHER"
-       }, {
-               "full_name": "test_prog$Object$init"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Int",
+       "synopsis": "Some services about Integers.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Int",
-       "mdoc": {
-               "content": "Some services about Integers.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 33,
-                       "line_start": 32,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 41,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$*"
-       }, {
-               "full_name": "test_prog$Int$+"
-       }, {
-               "full_name": "test_prog$Int$-"
-       }, {
-               "full_name": "test_prog$Int$/"
-       }, {
-               "full_name": "test_prog$Int$>"
-       }, {
-               "full_name": "test_prog$Int$to_f"
-       }, {
-               "full_name": "test_prog$Int$unary -"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Int::*"
-       }, {
-               "full_name": "test_prog::Int::+"
-       }, {
-               "full_name": "test_prog::Int::-"
-       }, {
-               "full_name": "test_prog::Int::/"
-       }, {
-               "full_name": "test_prog::Int::>"
-       }, {
-               "full_name": "test_prog::Int::to_f"
-       }, {
-               "full_name": "test_prog::Int::unary -"
-       }],
-       "intro": {
-               "full_name": "test_prog$Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Int$*"
-       }, {
-               "full_name": "test_prog$Int$+"
-       }, {
-               "full_name": "test_prog$Int$-"
-       }, {
-               "full_name": "test_prog$Int$/"
-       }, {
-               "full_name": "test_prog$Int$>"
-       }, {
-               "full_name": "test_prog$Int$to_f"
-       }, {
-               "full_name": "test_prog$Int$unary -"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Float",
+       "synopsis": "Some services about Floats.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Float",
-       "mdoc": {
-               "content": "Some services about Floats.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 44,
-                       "line_start": 43,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 50,
-               "line_start": 43,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$*"
-       }, {
-               "full_name": "test_prog$Float$+"
-       }, {
-               "full_name": "test_prog$Float$-"
-       }, {
-               "full_name": "test_prog$Float$/"
-       }, {
-               "full_name": "test_prog$Float$>"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Float::*"
-       }, {
-               "full_name": "test_prog::Float::+"
-       }, {
-               "full_name": "test_prog::Float::-"
-       }, {
-               "full_name": "test_prog::Float::/"
-       }, {
-               "full_name": "test_prog::Float::>"
-       }],
-       "intro": {
-               "full_name": "test_prog$Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Float$*"
-       }, {
-               "full_name": "test_prog$Float$+"
-       }, {
-               "full_name": "test_prog$Float$-"
-       }, {
-               "full_name": "test_prog$Float$/"
-       }, {
-               "full_name": "test_prog$Float$>"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Bool",
+       "synopsis": "Booleans, `true` or `false`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Bool",
+               "synopsis": "Booleans, `true` or `false`."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Bool",
-       "mdoc": {
-               "content": "Booleans, `true` or `false`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 53,
-                       "line_start": 52,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "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>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 14,
-               "column_start": 1,
-               "line_end": 53,
-               "line_start": 52,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::Bool"
-       },
-       "mpropdefs": [],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Bool"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "String",
+       "synopsis": "Strings (there is no chars...).",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "String",
+               "synopsis": "Strings (there is no chars...)."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$String",
-       "mdoc": {
-               "content": "Strings (there is no chars...).",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 56,
-                       "line_start": 55,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 16,
-               "column_start": 1,
-               "line_end": 56,
-               "line_start": 55,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::String"
-       },
-       "mpropdefs": [],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$String"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "List",
+       "synopsis": "List of things.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "List",
+               "synopsis": "List of things."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$List",
-       "mdoc": {
-               "content": "List of things.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 59,
-                       "line_start": 58,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 17,
-               "column_start": 1,
-               "line_end": 59,
-               "line_start": 58,
-               "file": "test_location"
-       },
        "is_intro": true,
        "mparameters": [{
                "name": "E",
-               "rank": 0,
                "mtype": {
-                       "full_name": "nullable test_prog::Object"
+                       "name": "nullable Object",
+                       "synopsis": "Root of everything.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
                }
-       }],
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mclass": {
-               "full_name": "test_prog::List"
-       },
-       "mpropdefs": [],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$List"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": []
+       }]
 }
 {
        "name": "Career",
+       "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Career",
-       "mdoc": {
-               "content": "A `Career` gives a characteristic bonus or malus to the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 30,
-                       "line_start": 29,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "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>",
        "modifiers": ["abstract class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 36,
-               "line_start": 29,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$_endurance_bonus"
-       }, {
-               "full_name": "test_prog$Career$_intelligence_bonus"
-       }, {
-               "full_name": "test_prog$Career$_strength_bonus"
-       }, {
-               "full_name": "test_prog$Career$endurance_bonus"
-       }, {
-               "full_name": "test_prog$Career$endurance_bonus="
-       }, {
-               "full_name": "test_prog$Career$Object::init"
-       }, {
-               "full_name": "test_prog$Career$intelligence_bonus"
-       }, {
-               "full_name": "test_prog$Career$intelligence_bonus="
-       }, {
-               "full_name": "test_prog$Career$strength_bonus"
-       }, {
-               "full_name": "test_prog$Career$strength_bonus="
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "intro": {
-               "full_name": "test_prog$Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Career$_endurance_bonus"
-       }, {
-               "full_name": "test_prog$Career$_intelligence_bonus"
-       }, {
-               "full_name": "test_prog$Career$_strength_bonus"
-       }, {
-               "full_name": "test_prog$Career$endurance_bonus"
-       }, {
-               "full_name": "test_prog$Career$endurance_bonus="
-       }, {
-               "full_name": "test_prog$Career$intelligence_bonus"
-       }, {
-               "full_name": "test_prog$Career$intelligence_bonus="
-       }, {
-               "full_name": "test_prog$Career$strength_bonus"
-       }, {
-               "full_name": "test_prog$Career$strength_bonus="
-       }],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Career$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Warrior",
+       "synopsis": "Warriors are good for fighting.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Warrior",
+               "synopsis": "Warriors are good for fighting."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Warrior",
-       "mdoc": {
-               "content": "Warriors are good for fighting.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 47,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mclass": {
-               "full_name": "test_prog::Warrior"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Warrior$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Warrior"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Warrior$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Magician",
+       "synopsis": "Magicians know magic and how to use it.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Magician",
+               "synopsis": "Magicians know magic and how to use it."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Magician",
-       "mdoc": {
-               "content": "Magicians know magic and how to use it.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 50,
-                       "line_start": 49,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 58,
-               "line_start": 49,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mclass": {
-               "full_name": "test_prog::Magician"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Magician$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Magician"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Magician$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Alcoholic",
+       "synopsis": "Alcoholics are good to nothing escept taking punches.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Alcoholic",
+               "synopsis": "Alcoholics are good to nothing escept taking punches."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Alcoholic",
-       "mdoc": {
-               "content": "Alcoholics are good to nothing escept taking punches.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 61,
-                       "line_start": 60,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 69,
-               "line_start": 60,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mclass": {
-               "full_name": "test_prog::Alcoholic"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Alcoholic$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Alcoholic"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Alcoholic$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Race",
+       "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
+       "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."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Race",
-       "mdoc": {
-               "content": "Race determines basic characteristics and what the character will be able to do in life.\n\nThese are base characteristics, they cannot be changed\nbut you can add new ones if needed using refinement.\nObjects and spells cannot change those characteristics.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 33,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
        "modifiers": ["abstract class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 45,
-               "line_start": 28,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$_base_endurance"
-       }, {
-               "full_name": "test_prog$Race$_base_intelligence"
-       }, {
-               "full_name": "test_prog$Race$_base_strength"
-       }, {
-               "full_name": "test_prog$Race$base_endurance"
-       }, {
-               "full_name": "test_prog$Race$base_endurance="
-       }, {
-               "full_name": "test_prog$Race$base_intelligence"
-       }, {
-               "full_name": "test_prog$Race$base_intelligence="
-       }, {
-               "full_name": "test_prog$Race$base_strength"
-       }, {
-               "full_name": "test_prog$Race$base_strength="
-       }, {
-               "full_name": "test_prog$Race$Object::init"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }],
-       "intro": {
-               "full_name": "test_prog$Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Race$_base_endurance"
-       }, {
-               "full_name": "test_prog$Race$_base_intelligence"
-       }, {
-               "full_name": "test_prog$Race$_base_strength"
-       }, {
-               "full_name": "test_prog$Race$base_endurance"
-       }, {
-               "full_name": "test_prog$Race$base_endurance="
-       }, {
-               "full_name": "test_prog$Race$base_intelligence"
-       }, {
-               "full_name": "test_prog$Race$base_intelligence="
-       }, {
-               "full_name": "test_prog$Race$base_strength"
-       }, {
-               "full_name": "test_prog$Race$base_strength="
-       }],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Race$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Human",
+       "synopsis": "Humans are able to do everithing.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Human",
+               "synopsis": "Humans are able to do everithing."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Human",
-       "mdoc": {
-               "content": "Humans are able to do everithing.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 48,
-                       "line_start": 47,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Humans are able to do everithing.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 56,
-               "line_start": 47,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mclass": {
-               "full_name": "test_prog::Human"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Human$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Human"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Human$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Dwarf",
+       "synopsis": "Dwarves make strong warriors.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Dwarf",
-       "mdoc": {
-               "content": "Dwarves make strong warriors.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 59,
-                       "line_start": 58,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves make strong warriors.</span>",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 67,
-               "line_start": 58,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mclass": {
-               "full_name": "test_prog::Dwarf"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Dwarf$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Dwarf"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Dwarf$Object::init"
-       }]
+       "is_intro": true
 }
 {
        "name": "Dwarf",
-       "class_name": "MClassDef",
-       "full_name": "test_prog::combat$Dwarf",
-       "mdoc": {
-               "content": "Dwarves can be used as weapons.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 62,
-                       "line_start": 61,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["redef", "class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 67,
-               "line_start": 61,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mclass": {
-               "full_name": "test_prog::Dwarf"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog::combat$Dwarf$Weapon::dps"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Dwarf"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog::combat$Dwarf$Weapon::dps"
-       }]
-}
-{
-       "name": "Elf",
-       "class_name": "MClassDef",
-       "full_name": "test_prog$Elf",
-       "mdoc": {
-               "content": "Elves make good magicians.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 70,
-                       "line_start": 69,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 78,
-               "line_start": 69,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mclass": {
-               "full_name": "test_prog::Elf"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Elf$Object::init"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Elf"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Elf$Object::init"
-       }]
-}
-{
-       "name": "Character",
-       "class_name": "MClassDef",
-       "full_name": "test_prog$Character",
-       "mdoc": {
-               "content": "Characters can be played by both the human or the machine.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 22,
-                       "line_start": 21,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 68,
-               "line_start": 21,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_age"
-       }, {
-               "full_name": "test_prog$Character$_career"
-       }, {
-               "full_name": "test_prog$Character$_health"
-       }, {
-               "full_name": "test_prog$Character$_name"
-       }, {
-               "full_name": "test_prog$Character$_race"
-       }, {
-               "full_name": "test_prog$Character$_sex"
-       }, {
-               "full_name": "test_prog$Character$age"
-       }, {
-               "full_name": "test_prog$Character$age="
-       }, {
-               "full_name": "test_prog$Character$career"
-       }, {
-               "full_name": "test_prog$Character$career="
-       }, {
-               "full_name": "test_prog$Character$health"
-       }, {
-               "full_name": "test_prog$Character$health="
-       }, {
-               "full_name": "test_prog$Character$Object::init"
-       }, {
-               "full_name": "test_prog$Character$max_health"
-       }, {
-               "full_name": "test_prog$Character$name"
-       }, {
-               "full_name": "test_prog$Character$name="
-       }, {
-               "full_name": "test_prog$Character$quit"
-       }, {
-               "full_name": "test_prog$Character$race"
-       }, {
-               "full_name": "test_prog$Character$race="
-       }, {
-               "full_name": "test_prog$Character$sex"
-       }, {
-               "full_name": "test_prog$Character$sex="
-       }, {
-               "full_name": "test_prog$Character$total_endurance"
-       }, {
-               "full_name": "test_prog$Character$total_intelligence"
-       }, {
-               "full_name": "test_prog$Character$total_strengh"
+       "synopsis": "Dwarves can be used as weapons.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "combat",
+               "synopsis": "COmbat interactions between characters."
+       }, "$", {
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
        }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::character::Character::_age"
-       }, {
-               "full_name": "test_prog::character::Character::_career"
-       }, {
-               "full_name": "test_prog::character::Character::_health"
-       }, {
-               "full_name": "test_prog::character::Character::_name"
-       }, {
-               "full_name": "test_prog::character::Character::_race"
-       }, {
-               "full_name": "test_prog::character::Character::_sex"
-       }, {
-               "full_name": "test_prog::Character::age"
-       }, {
-               "full_name": "test_prog::Character::age="
-       }, {
-               "full_name": "test_prog::Character::career"
-       }, {
-               "full_name": "test_prog::Character::career="
-       }, {
-               "full_name": "test_prog::Character::health"
-       }, {
-               "full_name": "test_prog::Character::health="
-       }, {
-               "full_name": "test_prog::Character::max_health"
-       }, {
-               "full_name": "test_prog::Character::name"
-       }, {
-               "full_name": "test_prog::Character::name="
-       }, {
-               "full_name": "test_prog::Character::quit"
-       }, {
-               "full_name": "test_prog::Character::race"
-       }, {
-               "full_name": "test_prog::Character::race="
-       }, {
-               "full_name": "test_prog::Character::sex"
-       }, {
-               "full_name": "test_prog::Character::sex="
-       }, {
-               "full_name": "test_prog::Character::total_endurance"
-       }, {
-               "full_name": "test_prog::Character::total_intelligence"
-       }, {
-               "full_name": "test_prog::Character::total_strengh"
+       "class_name": "MClassDef",
+       "full_name": "test_prog::combat$Dwarf",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves can be used as weapons.</span>",
+       "modifiers": ["redef", "class"]
+}
+{
+       "name": "Elf",
+       "synopsis": "Elves make good magicians.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Elf",
+               "synopsis": "Elves make good magicians."
        }],
-       "intro": {
-               "full_name": "test_prog$Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Character$_age"
-       }, {
-               "full_name": "test_prog$Character$_career"
-       }, {
-               "full_name": "test_prog$Character$_health"
-       }, {
-               "full_name": "test_prog$Character$_name"
-       }, {
-               "full_name": "test_prog$Character$_race"
-       }, {
-               "full_name": "test_prog$Character$_sex"
-       }, {
-               "full_name": "test_prog$Character$age"
-       }, {
-               "full_name": "test_prog$Character$age="
-       }, {
-               "full_name": "test_prog$Character$career"
-       }, {
-               "full_name": "test_prog$Character$career="
-       }, {
-               "full_name": "test_prog$Character$health"
-       }, {
-               "full_name": "test_prog$Character$health="
-       }, {
-               "full_name": "test_prog$Character$max_health"
-       }, {
-               "full_name": "test_prog$Character$name"
-       }, {
-               "full_name": "test_prog$Character$name="
-       }, {
-               "full_name": "test_prog$Character$quit"
-       }, {
-               "full_name": "test_prog$Character$race"
-       }, {
-               "full_name": "test_prog$Character$race="
-       }, {
-               "full_name": "test_prog$Character$sex"
-       }, {
-               "full_name": "test_prog$Character$sex="
-       }, {
-               "full_name": "test_prog$Character$total_endurance"
-       }, {
-               "full_name": "test_prog$Character$total_intelligence"
-       }, {
-               "full_name": "test_prog$Character$total_strengh"
+       "class_name": "MClassDef",
+       "full_name": "test_prog$Elf",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Elves make good magicians.</span>",
+       "modifiers": ["class"],
+       "is_intro": true
+}
+{
+       "name": "Character",
+       "synopsis": "Characters can be played by both the human or the machine.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
        }],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog$Character$Object::init"
-       }]
+       "class_name": "MClassDef",
+       "full_name": "test_prog$Character",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters can be played by both the human or the machine.</span>",
+       "modifiers": ["class"],
+       "is_intro": true
 }
 {
        "name": "Character",
+       "synopsis": "Characters are now `Comabatable`",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "combat",
+               "synopsis": "COmbat interactions between characters."
+       }, "$", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog::combat$Character",
-       "mdoc": {
-               "content": "Characters are now `Comabatable`",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 54,
-                       "line_start": 53,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["redef", "class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 59,
-               "line_start": 53,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog::combat$Character$Combatable::hit_points"
-       }],
-       "intro_mproperties": [],
-       "intro": {
-               "full_name": "test_prog$Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [],
-       "redef_mpropdefs": [{
-               "full_name": "test_prog::combat$Character$Combatable::hit_points"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are now <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Comabatable</span></span></span></code></span>",
+       "modifiers": ["redef", "class"]
 }
 {
        "name": "Weapon",
+       "synopsis": "Something that can be used to attack someone and inflict damage.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Weapon",
+               "synopsis": "Something that can be used to attack someone and inflict damage."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Weapon",
-       "mdoc": {
-               "content": "Something that can be used to attack someone and inflict damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 21,
-                       "line_start": 20,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
        "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 24,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mclass": {
-               "full_name": "test_prog::Weapon"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Weapon$dps"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Weapon::dps"
-       }],
-       "intro": {
-               "full_name": "test_prog$Weapon"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Weapon$dps"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Combatable",
+       "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Combatable",
-       "mdoc": {
-               "content": "Something that can be combatted, it can `attack` and `defend`.\n\nWorld items can also be `Combatable`.\n`defend` method is then used to determines how the object react to an attack\nSome magical items can even `attack`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 31,
-                       "line_start": 26,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "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>",
        "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 51,
-               "line_start": 26,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$attack"
-       }, {
-               "full_name": "test_prog$Combatable$defend"
-       }, {
-               "full_name": "test_prog$Combatable$direct_attack"
-       }, {
-               "full_name": "test_prog$Combatable$hit_points"
-       }, {
-               "full_name": "test_prog$Combatable$is_dead"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Combatable::attack"
-       }, {
-               "full_name": "test_prog::Combatable::defend"
-       }, {
-               "full_name": "test_prog::Combatable::direct_attack"
-       }, {
-               "full_name": "test_prog::Combatable::hit_points"
-       }, {
-               "full_name": "test_prog::Combatable::is_dead"
-       }],
-       "intro": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Combatable$attack"
-       }, {
-               "full_name": "test_prog$Combatable$defend"
-       }, {
-               "full_name": "test_prog$Combatable$direct_attack"
-       }, {
-               "full_name": "test_prog$Combatable$hit_points"
-       }, {
-               "full_name": "test_prog$Combatable$is_dead"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Game",
+       "synopsis": "This is the interface you have to implement to use ure gaming platform.",
+       "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."
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Game",
-       "mdoc": {
-               "content": "This is the interface you have to implement to use ure gaming platform.\n\nsee http://our.platform.com",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 23,
-                       "line_start": 20,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
        "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 45,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$computer_characters"
-       }, {
-               "full_name": "test_prog$Game$pause_game"
-       }, {
-               "full_name": "test_prog$Game$player_characters"
-       }, {
-               "full_name": "test_prog$Game$start_game"
-       }, {
-               "full_name": "test_prog$Game$stop_game"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Game::computer_characters"
-       }, {
-               "full_name": "test_prog::Game::pause_game"
-       }, {
-               "full_name": "test_prog::Game::player_characters"
-       }, {
-               "full_name": "test_prog::Game::start_game"
-       }, {
-               "full_name": "test_prog::Game::stop_game"
-       }],
-       "intro": {
-               "full_name": "test_prog$Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Game$computer_characters"
-       }, {
-               "full_name": "test_prog$Game$pause_game"
-       }, {
-               "full_name": "test_prog$Game$player_characters"
-       }, {
-               "full_name": "test_prog$Game$start_game"
-       }, {
-               "full_name": "test_prog$Game$stop_game"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "MyGame",
 }
 {
        "name": "Starter",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Starter"
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Starter",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 23,
-               "line_start": 21,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mclass": {
-               "full_name": "test_prog::Starter"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Starter$start"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Starter::start"
-       }],
-       "intro": {
-               "full_name": "test_prog$Starter"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Starter$start"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
 {
        "name": "Sys",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Sys"
+       }],
        "class_name": "MClassDef",
        "full_name": "test_prog$Sys",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["class"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mparameters": [],
-       "mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mclass": {
-               "full_name": "test_prog::Sys"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Sys$main"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Sys::main"
-       }],
-       "intro": {
-               "full_name": "test_prog$Sys"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "intro_mpropdefs": [{
-               "full_name": "test_prog$Sys$main"
-       }],
-       "redef_mpropdefs": []
+       "is_intro": true
 }
index 79c488c..64f786d 100644 (file)
 {
        "name": "Object",
+       "synopsis": "Root of everything.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }],
        "class_name": "MClass",
        "full_name": "test_prog::Object",
-       "mdoc": {
-               "content": "Root of everything.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 21,
-                       "line_start": 20,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 30,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Object"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Object"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "redef_mproperties": [],
-       "parents": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>",
+       "modifiers": ["interface"]
 }
 {
        "name": "Int",
+       "synopsis": "Some services about Integers.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }],
        "class_name": "MClass",
        "full_name": "test_prog::Int",
-       "mdoc": {
-               "content": "Some services about Integers.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 33,
-                       "line_start": 32,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 41,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Int"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Int"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Int::*"
-       }, {
-               "full_name": "test_prog::Int::+"
-       }, {
-               "full_name": "test_prog::Int::-"
-       }, {
-               "full_name": "test_prog::Int::/"
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Int::>"
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Int::to_f"
-       }, {
-               "full_name": "test_prog::Int::unary -"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Int::*"
-       }, {
-               "full_name": "test_prog::Int::+"
-       }, {
-               "full_name": "test_prog::Int::-"
-       }, {
-               "full_name": "test_prog::Int::/"
-       }, {
-               "full_name": "test_prog::Int::>"
-       }, {
-               "full_name": "test_prog::Int::to_f"
-       }, {
-               "full_name": "test_prog::Int::unary -"
-       }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>",
+       "modifiers": ["class"]
 }
 {
        "name": "Float",
-       "class_name": "MClass",
-       "full_name": "test_prog::Float",
-       "mdoc": {
-               "content": "Some services about Floats.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 44,
-                       "line_start": 43,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 50,
-               "line_start": 43,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Float"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Float"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Float::*"
-       }, {
-               "full_name": "test_prog::Float::+"
-       }, {
-               "full_name": "test_prog::Float::-"
-       }, {
-               "full_name": "test_prog::Float::/"
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Float::>"
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Float::*"
-       }, {
-               "full_name": "test_prog::Float::+"
-       }, {
-               "full_name": "test_prog::Float::-"
-       }, {
-               "full_name": "test_prog::Float::/"
-       }, {
-               "full_name": "test_prog::Float::>"
-       }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "Bool",
-       "class_name": "MClass",
-       "full_name": "test_prog::Bool",
-       "mdoc": {
-               "content": "Booleans, `true` or `false`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 53,
-                       "line_start": 52,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 14,
-               "column_start": 1,
-               "line_end": 53,
-               "line_start": 52,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Bool"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Bool"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "String",
-       "class_name": "MClass",
-       "full_name": "test_prog::String",
-       "mdoc": {
-               "content": "Strings (there is no chars...).",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 56,
-                       "line_start": 55,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 16,
-               "column_start": 1,
-               "line_end": 56,
-               "line_start": 55,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$String"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$String"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "List",
-       "class_name": "MClass",
-       "full_name": "test_prog::List",
-       "mdoc": {
-               "content": "List of things.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 59,
-                       "line_start": 58,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 17,
-               "column_start": 1,
-               "line_end": 59,
-               "line_start": 58,
-               "file": "test_location"
-       },
-       "mparameters": [{
-               "name": "E",
-               "rank": 0,
-               "mtype": {
-                       "full_name": "nullable test_prog::Object"
-               }
-       }],
-       "intro": {
-               "full_name": "test_prog$List"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$List"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
+       "synopsis": "Some services about Floats.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
        }],
-       "intro_mproperties": [],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "Career",
        "class_name": "MClass",
-       "full_name": "test_prog::Career",
-       "mdoc": {
-               "content": "A `Career` gives a characteristic bonus or malus to the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 30,
-                       "line_start": 29,
-                       "file": "test_location"
-               }
-       },
+       "full_name": "test_prog::Float",
        "visibility": "public",
-       "modifiers": ["abstract class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 36,
-               "line_start": 29,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Career"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Career"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "Warrior",
-       "class_name": "MClass",
-       "full_name": "test_prog::Warrior",
-       "mdoc": {
-               "content": "Warriors are good for fighting.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 47,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Warrior"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Warrior"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Career"
-       }]
-}
-{
-       "name": "Magician",
-       "class_name": "MClass",
-       "full_name": "test_prog::Magician",
-       "mdoc": {
-               "content": "Magicians know magic and how to use it.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 50,
-                       "line_start": 49,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 58,
-               "line_start": 49,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Magician"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Magician"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Career"
-       }]
-}
-{
-       "name": "Alcoholic",
-       "class_name": "MClass",
-       "full_name": "test_prog::Alcoholic",
-       "mdoc": {
-               "content": "Alcoholics are good to nothing escept taking punches.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 61,
-                       "line_start": 60,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 69,
-               "line_start": 60,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Alcoholic"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Alcoholic"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       }, {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus"
-       }, {
-               "full_name": "test_prog::Career::endurance_bonus="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       }, {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       }, {
-               "full_name": "test_prog::Career::strength_bonus"
-       }, {
-               "full_name": "test_prog::Career::strength_bonus="
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Career"
-       }]
-}
-{
-       "name": "Race",
-       "class_name": "MClass",
-       "full_name": "test_prog::Race",
-       "mdoc": {
-               "content": "Race determines basic characteristics and what the character will be able to do in life.\n\nThese are base characteristics, they cannot be changed\nbut you can add new ones if needed using refinement.\nObjects and spells cannot change those characteristics.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 33,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["abstract class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 45,
-               "line_start": 28,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Race"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Race"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
-}
-{
-       "name": "Human",
-       "class_name": "MClass",
-       "full_name": "test_prog::Human",
-       "mdoc": {
-               "content": "Humans are able to do everithing.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 48,
-                       "line_start": 47,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 56,
-               "line_start": 47,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Human"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Human"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Race"
-       }]
-}
-{
-       "name": "Dwarf",
-       "class_name": "MClass",
-       "full_name": "test_prog::Dwarf",
-       "mdoc": {
-               "content": "Dwarves make strong warriors.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 59,
-                       "line_start": 58,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 67,
-               "line_start": 58,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Dwarf"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Dwarf"
-       }, {
-               "full_name": "test_prog::combat$Dwarf"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }, {
-               "full_name": "test_prog::Weapon::dps"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Weapon::dps"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Race"
-       }, {
-               "full_name": "test_prog::Weapon"
-       }]
-}
-{
-       "name": "Elf",
-       "class_name": "MClass",
-       "full_name": "test_prog::Elf",
-       "mdoc": {
-               "content": "Elves make good magicians.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 70,
-                       "line_start": 69,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 78,
-               "line_start": 69,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Elf"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Elf"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::races::Race::_base_endurance"
-       }, {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       }, {
-               "full_name": "test_prog::races::Race::_base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_endurance"
-       }, {
-               "full_name": "test_prog::Race::base_endurance="
-       }, {
-               "full_name": "test_prog::Race::base_intelligence"
-       }, {
-               "full_name": "test_prog::Race::base_intelligence="
-       }, {
-               "full_name": "test_prog::Race::base_strength"
-       }, {
-               "full_name": "test_prog::Race::base_strength="
-       }, {
-               "full_name": "test_prog::Object::init"
-       }],
-       "intro_mproperties": [],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Object::init"
-       }],
-       "parents": [{
-               "full_name": "test_prog::Race"
-       }]
-}
-{
-       "name": "Character",
-       "class_name": "MClass",
-       "full_name": "test_prog::Character",
-       "mdoc": {
-               "content": "Characters can be played by both the human or the machine.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 22,
-                       "line_start": 21,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 68,
-               "line_start": 21,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Character"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Character"
-       }, {
-               "full_name": "test_prog::combat$Character"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::character::Character::_age"
-       }, {
-               "full_name": "test_prog::character::Character::_career"
-       }, {
-               "full_name": "test_prog::character::Character::_health"
-       }, {
-               "full_name": "test_prog::character::Character::_name"
-       }, {
-               "full_name": "test_prog::character::Character::_race"
-       }, {
-               "full_name": "test_prog::character::Character::_sex"
-       }, {
-               "full_name": "test_prog::Character::age"
-       }, {
-               "full_name": "test_prog::Character::age="
-       }, {
-               "full_name": "test_prog::Combatable::attack"
-       }, {
-               "full_name": "test_prog::Character::career"
-       }, {
-               "full_name": "test_prog::Character::career="
-       }, {
-               "full_name": "test_prog::Combatable::defend"
-       }, {
-               "full_name": "test_prog::Combatable::direct_attack"
-       }, {
-               "full_name": "test_prog::Character::health"
-       }, {
-               "full_name": "test_prog::Character::health="
-       }, {
-               "full_name": "test_prog::Combatable::hit_points"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Combatable::is_dead"
-       }, {
-               "full_name": "test_prog::Character::max_health"
-       }, {
-               "full_name": "test_prog::Character::name"
-       }, {
-               "full_name": "test_prog::Character::name="
-       }, {
-               "full_name": "test_prog::Character::quit"
-       }, {
-               "full_name": "test_prog::Character::race"
-       }, {
-               "full_name": "test_prog::Character::race="
-       }, {
-               "full_name": "test_prog::Character::sex"
-       }, {
-               "full_name": "test_prog::Character::sex="
-       }, {
-               "full_name": "test_prog::Character::total_endurance"
-       }, {
-               "full_name": "test_prog::Character::total_intelligence"
-       }, {
-               "full_name": "test_prog::Character::total_strengh"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::character::Character::_age"
-       }, {
-               "full_name": "test_prog::character::Character::_career"
-       }, {
-               "full_name": "test_prog::character::Character::_health"
-       }, {
-               "full_name": "test_prog::character::Character::_name"
-       }, {
-               "full_name": "test_prog::character::Character::_race"
-       }, {
-               "full_name": "test_prog::character::Character::_sex"
-       }, {
-               "full_name": "test_prog::Character::age"
-       }, {
-               "full_name": "test_prog::Character::age="
-       }, {
-               "full_name": "test_prog::Character::career"
-       }, {
-               "full_name": "test_prog::Character::career="
-       }, {
-               "full_name": "test_prog::Character::health"
-       }, {
-               "full_name": "test_prog::Character::health="
-       }, {
-               "full_name": "test_prog::Character::max_health"
-       }, {
-               "full_name": "test_prog::Character::name"
-       }, {
-               "full_name": "test_prog::Character::name="
-       }, {
-               "full_name": "test_prog::Character::quit"
-       }, {
-               "full_name": "test_prog::Character::race"
-       }, {
-               "full_name": "test_prog::Character::race="
-       }, {
-               "full_name": "test_prog::Character::sex"
-       }, {
-               "full_name": "test_prog::Character::sex="
-       }, {
-               "full_name": "test_prog::Character::total_endurance"
-       }, {
-               "full_name": "test_prog::Character::total_intelligence"
-       }, {
-               "full_name": "test_prog::Character::total_strengh"
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Bool",
+       "synopsis": "Booleans, `true` or `false`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Bool",
+               "synopsis": "Booleans, `true` or `false`."
        }],
-       "redef_mproperties": [{
-               "full_name": "test_prog::Combatable::hit_points"
-       }, {
-               "full_name": "test_prog::Object::init"
+       "class_name": "MClass",
+       "full_name": "test_prog::Bool",
+       "visibility": "public",
+       "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>",
+       "modifiers": ["class"]
+}
+{
+       "name": "String",
+       "synopsis": "Strings (there is no chars...).",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "String",
+               "synopsis": "Strings (there is no chars...)."
        }],
-       "parents": [{
-               "full_name": "test_prog::Combatable"
-       }]
+       "class_name": "MClass",
+       "full_name": "test_prog::String",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>",
+       "modifiers": ["class"]
 }
 {
-       "name": "Weapon",
+       "name": "List",
+       "synopsis": "List of things.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "List",
+               "synopsis": "List of things."
+       }],
        "class_name": "MClass",
-       "full_name": "test_prog::Weapon",
-       "mdoc": {
-               "content": "Something that can be used to attack someone and inflict damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 21,
-                       "line_start": 20,
-                       "file": "test_location"
+       "full_name": "test_prog::List",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>",
+       "modifiers": ["class"],
+       "mparameters": [{
+               "name": "E",
+               "mtype": {
+                       "name": "nullable Object",
+                       "synopsis": "Root of everything.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
                }
-       },
+       }]
+}
+{
+       "name": "Career",
+       "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }],
+       "class_name": "MClass",
+       "full_name": "test_prog::Career",
        "visibility": "public",
-       "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 24,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Weapon"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Weapon"
+       "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>",
+       "modifiers": ["abstract class"]
+}
+{
+       "name": "Warrior",
+       "synopsis": "Warriors are good for fighting.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Warrior",
+               "synopsis": "Warriors are good for fighting."
        }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Weapon::dps"
-       }, {
-               "full_name": "test_prog::Object::init"
+       "class_name": "MClass",
+       "full_name": "test_prog::Warrior",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Magician",
+       "synopsis": "Magicians know magic and how to use it.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Magician",
+               "synopsis": "Magicians know magic and how to use it."
        }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Weapon::dps"
+       "class_name": "MClass",
+       "full_name": "test_prog::Magician",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Alcoholic",
+       "synopsis": "Alcoholics are good to nothing escept taking punches.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Alcoholic",
+               "synopsis": "Alcoholics are good to nothing escept taking punches."
        }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "class_name": "MClass",
+       "full_name": "test_prog::Alcoholic",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
+       "modifiers": ["class"]
 }
 {
-       "name": "Combatable",
+       "name": "Race",
+       "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
+       "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."
+       }],
        "class_name": "MClass",
-       "full_name": "test_prog::Combatable",
-       "mdoc": {
-               "content": "Something that can be combatted, it can `attack` and `defend`.\n\nWorld items can also be `Combatable`.\n`defend` method is then used to determines how the object react to an attack\nSome magical items can even `attack`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 31,
-                       "line_start": 26,
-                       "file": "test_location"
-               }
-       },
+       "full_name": "test_prog::Race",
        "visibility": "public",
-       "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 51,
-               "line_start": 26,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Combatable"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Combatable"
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
+       "modifiers": ["abstract class"]
+}
+{
+       "name": "Human",
+       "synopsis": "Humans are able to do everithing.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Human",
+               "synopsis": "Humans are able to do everithing."
        }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Combatable::attack"
-       }, {
-               "full_name": "test_prog::Combatable::defend"
-       }, {
-               "full_name": "test_prog::Combatable::direct_attack"
-       }, {
-               "full_name": "test_prog::Combatable::hit_points"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Combatable::is_dead"
+       "class_name": "MClass",
+       "full_name": "test_prog::Human",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Humans are able to do everithing.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Dwarf",
+       "synopsis": "Dwarves make strong warriors.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
        }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Combatable::attack"
-       }, {
-               "full_name": "test_prog::Combatable::defend"
-       }, {
-               "full_name": "test_prog::Combatable::direct_attack"
-       }, {
-               "full_name": "test_prog::Combatable::hit_points"
-       }, {
-               "full_name": "test_prog::Combatable::is_dead"
+       "class_name": "MClass",
+       "full_name": "test_prog::Dwarf",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves make strong warriors.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Elf",
+       "synopsis": "Elves make good magicians.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Elf",
+               "synopsis": "Elves make good magicians."
        }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "class_name": "MClass",
+       "full_name": "test_prog::Elf",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Elves make good magicians.</span>",
+       "modifiers": ["class"]
 }
 {
-       "name": "Game",
+       "name": "Character",
+       "synopsis": "Characters can be played by both the human or the machine.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }],
        "class_name": "MClass",
-       "full_name": "test_prog::Game",
-       "mdoc": {
-               "content": "This is the interface you have to implement to use ure gaming platform.\n\nsee http://our.platform.com",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 23,
-                       "line_start": 20,
-                       "file": "test_location"
-               }
-       },
+       "full_name": "test_prog::Character",
        "visibility": "public",
-       "modifiers": ["interface"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 45,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Game"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Game"
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters can be played by both the human or the machine.</span>",
+       "modifiers": ["class"]
+}
+{
+       "name": "Weapon",
+       "synopsis": "Something that can be used to attack someone and inflict damage.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Weapon",
+               "synopsis": "Something that can be used to attack someone and inflict damage."
        }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Game::computer_characters"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Game::pause_game"
-       }, {
-               "full_name": "test_prog::Game::player_characters"
-       }, {
-               "full_name": "test_prog::Game::start_game"
-       }, {
-               "full_name": "test_prog::Game::stop_game"
+       "class_name": "MClass",
+       "full_name": "test_prog::Weapon",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
+       "modifiers": ["interface"]
+}
+{
+       "name": "Combatable",
+       "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
        }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Game::computer_characters"
-       }, {
-               "full_name": "test_prog::Game::pause_game"
-       }, {
-               "full_name": "test_prog::Game::player_characters"
-       }, {
-               "full_name": "test_prog::Game::start_game"
-       }, {
-               "full_name": "test_prog::Game::stop_game"
+       "class_name": "MClass",
+       "full_name": "test_prog::Combatable",
+       "visibility": "public",
+       "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>",
+       "modifiers": ["interface"]
+}
+{
+       "name": "Game",
+       "synopsis": "This is the interface you have to implement to use ure gaming platform.",
+       "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."
        }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "class_name": "MClass",
+       "full_name": "test_prog::Game",
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
+       "modifiers": ["interface"]
 }
 {
        "name": "MyGame",
 }
 {
        "name": "Starter",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Starter"
+       }],
        "class_name": "MClass",
        "full_name": "test_prog::Starter",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 23,
-               "line_start": 21,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Starter"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Starter"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Starter::start"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Starter::start"
-       }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "modifiers": ["class"]
 }
 {
        "name": "Sys",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Sys"
+       }],
        "class_name": "MClass",
        "full_name": "test_prog::Sys",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["class"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
-       "mparameters": [],
-       "intro": {
-               "full_name": "test_prog$Sys"
-       },
-       "intro_mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mclassdefs": [{
-               "full_name": "test_prog$Sys"
-       }],
-       "all_mproperties": [{
-               "full_name": "test_prog::Object::!="
-       }, {
-               "full_name": "test_prog::Object::=="
-       }, {
-               "full_name": "test_prog::Object::OTHER"
-       }, {
-               "full_name": "test_prog::Object::init"
-       }, {
-               "full_name": "test_prog::Sys::main"
-       }],
-       "intro_mproperties": [{
-               "full_name": "test_prog::Sys::main"
-       }],
-       "redef_mproperties": [],
-       "parents": [{
-               "full_name": "test_prog::Object"
-       }]
+       "modifiers": ["class"]
 }
index ee5e331..7eee50b 100644 (file)
 {
        "name": "test_prog",
+       "synopsis": "Test program for model tools.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, ">"],
        "class_name": "MGroup",
        "full_name": "test_prog>",
-       "mdoc": {
-               "content": "Test program for model tools.\n\nThis program creates a fake model that can be used to test tools like:\n\n* `nitdoc`\n* `nitmetrics`\n* `nitx`\n* or others `modelbuilder`.\n\nAn image:\n\n![Tinks3D](../../contrib/tinks/doc/tinks3d.png)",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 12,
-                       "line_start": 1,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": true,
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "default_mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "parent": null,
-       "mmodules": [{
-               "full_name": "test_prog::test_prog"
-       }],
-       "mgroups": [{
-               "full_name": "test_prog>examples>"
-       }, {
-               "full_name": "test_prog>game>"
-       }, {
-               "full_name": "test_prog>platform>"
-       }, {
-               "full_name": "test_prog>rpg>"
-       }]
-}
-{
-       "name": "examples",
-       "class_name": "MGroup",
-       "full_name": "test_prog>examples>",
-       "mdoc": null,
-       "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": false,
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "default_mmodule": null,
-       "parent": {
-               "full_name": "test_prog>"
-       },
-       "mmodules": [{
-               "full_name": "test_prog::game_examples"
-       }],
-       "mgroups": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Test program for model tools.</span>",
+       "modifiers": ["group"]
 }
 {
        "name": "game",
+       "synopsis": "Gaming group",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, ">", {
+               "name": "game",
+               "synopsis": "Gaming group"
+       }, ">"],
        "class_name": "MGroup",
        "full_name": "test_prog>game>",
-       "mdoc": {
-               "content": "Gaming group",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 1,
-                       "line_start": 1,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": false,
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "default_mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "parent": {
-               "full_name": "test_prog>"
-       },
-       "mmodules": [{
-               "full_name": "test_prog::game"
-       }],
-       "mgroups": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Gaming group</span>",
+       "modifiers": ["group"]
 }
 {
        "name": "platform",
+       "synopsis": "Fictive Crappy Platform.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, ">", {
+               "name": "platform",
+               "synopsis": "Fictive Crappy Platform."
+       }, ">"],
        "class_name": "MGroup",
        "full_name": "test_prog>platform>",
-       "mdoc": {
-               "content": "Fictive Crappy Platform.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 1,
-                       "line_start": 1,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": false,
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "default_mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "parent": {
-               "full_name": "test_prog>"
-       },
-       "mmodules": [{
-               "full_name": "test_prog::platform"
-       }],
-       "mgroups": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Fictive Crappy Platform.</span>",
+       "modifiers": ["group"]
 }
 {
        "name": "rpg",
+       "synopsis": "Role Playing Game group",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, ">", {
+               "name": "rpg",
+               "synopsis": "Role Playing Game group"
+       }, ">"],
        "class_name": "MGroup",
        "full_name": "test_prog>rpg>",
-       "mdoc": {
-               "content": "Role Playing Game group",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 1,
-                       "line_start": 1,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": false,
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "default_mmodule": {
-               "full_name": "test_prog::rpg"
-       },
-       "parent": {
-               "full_name": "test_prog>"
-       },
-       "mmodules": [{
-               "full_name": "test_prog::careers"
-       }, {
-               "full_name": "test_prog::character"
-       }, {
-               "full_name": "test_prog::combat"
-       }, {
-               "full_name": "test_prog::races"
-       }, {
-               "full_name": "test_prog::rpg"
-       }],
-       "mgroups": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Role Playing Game group</span>",
+       "modifiers": ["group"]
 }
 {
        "name": "excluded",
+       "namespace": [{
+               "name": "excluded"
+       }, ">"],
        "class_name": "MGroup",
        "full_name": "excluded>",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["group"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "is_root": true,
-       "mpackage": {
-               "full_name": "excluded"
-       },
-       "default_mmodule": {
-               "full_name": "excluded::excluded"
-       },
-       "parent": null,
-       "mmodules": [{
-               "full_name": "excluded::excluded"
-       }],
-       "mgroups": []
+       "modifiers": ["group"]
 }
index d117c08..07af68c 100644 (file)
 }
 {
        "name": "excluded",
+       "namespace": [{
+               "name": "excluded"
+       }, "::", {
+               "name": "excluded"
+       }],
        "class_name": "MModule",
        "full_name": "excluded::excluded",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "excluded"
-       },
-       "mgroup": {
-               "full_name": "excluded>"
-       },
-       "intro_mclasses": [],
-       "mclassdefs": [],
-       "intro_mclassdefs": [],
-       "redef_mclassdefs": [],
-       "imports": []
+       "modifiers": ["module"]
 }
 {
        "name": "game",
+       "synopsis": "A game abstraction for RPG.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "game",
+               "synopsis": "A game abstraction for RPG."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::game",
-       "mdoc": {
-               "content": "A game abstraction for RPG.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 45,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Game"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Game"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Game"
-       }],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::rpg"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">A game abstraction for RPG.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "platform",
+       "synopsis": "Declares base types allowed on the platform.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "platform",
+               "synopsis": "Declares base types allowed on the platform."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::platform",
-       "mdoc": {
-               "content": "Declares base types allowed on the platform.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 17,
-               "column_start": 1,
-               "line_end": 59,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Bool"
-       }, {
-               "full_name": "test_prog::Float"
-       }, {
-               "full_name": "test_prog::Int"
-       }, {
-               "full_name": "test_prog::List"
-       }, {
-               "full_name": "test_prog::Object"
-       }, {
-               "full_name": "test_prog::String"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Bool"
-       }, {
-               "full_name": "test_prog$Float"
-       }, {
-               "full_name": "test_prog$Int"
-       }, {
-               "full_name": "test_prog$List"
-       }, {
-               "full_name": "test_prog$Object"
-       }, {
-               "full_name": "test_prog$String"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Bool"
-       }, {
-               "full_name": "test_prog$Float"
-       }, {
-               "full_name": "test_prog$Int"
-       }, {
-               "full_name": "test_prog$List"
-       }, {
-               "full_name": "test_prog$Object"
-       }, {
-               "full_name": "test_prog$String"
-       }],
-       "redef_mclassdefs": [],
-       "imports": []
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Declares base types allowed on the platform.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "careers",
+       "synopsis": "Careers of the game.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "careers",
+               "synopsis": "Careers of the game."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::careers",
-       "mdoc": {
-               "content": "Careers of the game.\n\nAll characters can have a `Career`.\nA character can also quit its current career and start a new one.\n\nAvailable careers:\n\n * `Warrior`\n * `Magician`\n * `Alcoholic`",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 25,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 69,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Alcoholic"
-       }, {
-               "full_name": "test_prog::Career"
-       }, {
-               "full_name": "test_prog::Magician"
-       }, {
-               "full_name": "test_prog::Warrior"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Alcoholic"
-       }, {
-               "full_name": "test_prog$Career"
-       }, {
-               "full_name": "test_prog$Magician"
-       }, {
-               "full_name": "test_prog$Warrior"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Alcoholic"
-       }, {
-               "full_name": "test_prog$Career"
-       }, {
-               "full_name": "test_prog$Magician"
-       }, {
-               "full_name": "test_prog$Warrior"
-       }],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::platform"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Careers of the game.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "character",
+       "synopsis": "Characters are playable entity in the world.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::character",
-       "mdoc": {
-               "content": "Characters are playable entity in the world.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 68,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Character"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Character"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Character"
-       }],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::races"
-       }, {
-               "full_name": "test_prog::careers"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are playable entity in the world.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "combat",
+       "synopsis": "COmbat interactions between characters.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "combat",
+               "synopsis": "COmbat interactions between characters."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::combat",
-       "mdoc": {
-               "content": "COmbat interactions between characters.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 67,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Combatable"
-       }, {
-               "full_name": "test_prog::Weapon"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog::combat$Character"
-       }, {
-               "full_name": "test_prog$Combatable"
-       }, {
-               "full_name": "test_prog::combat$Dwarf"
-       }, {
-               "full_name": "test_prog$Weapon"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Combatable"
-       }, {
-               "full_name": "test_prog$Weapon"
-       }],
-       "redef_mclassdefs": [{
-               "full_name": "test_prog::combat$Character"
-       }, {
-               "full_name": "test_prog::combat$Dwarf"
-       }],
-       "imports": [{
-               "full_name": "test_prog::character"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">COmbat interactions between characters.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "races",
+       "synopsis": "Races of the game.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "races",
+               "synopsis": "Races of the game."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::races",
-       "mdoc": {
-               "content": "Races of the game.\n\nAll characters belong to a `Race`.\n\nAvailable races:\n\n * `Human`\n * `Dwarf`\n * `Elf`",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 24,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 78,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Dwarf"
-       }, {
-               "full_name": "test_prog::Elf"
-       }, {
-               "full_name": "test_prog::Human"
-       }, {
-               "full_name": "test_prog::Race"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Dwarf"
-       }, {
-               "full_name": "test_prog$Elf"
-       }, {
-               "full_name": "test_prog$Human"
-       }, {
-               "full_name": "test_prog$Race"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Dwarf"
-       }, {
-               "full_name": "test_prog$Elf"
-       }, {
-               "full_name": "test_prog$Human"
-       }, {
-               "full_name": "test_prog$Race"
-       }],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::platform"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Races of the game.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "rpg",
+       "synopsis": "A worlg RPG abstraction.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "rpg",
+               "synopsis": "A worlg RPG abstraction."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::rpg",
-       "mdoc": {
-               "content": "A worlg RPG abstraction.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 21,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "intro_mclasses": [],
-       "mclassdefs": [],
-       "intro_mclassdefs": [],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::combat"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">A worlg RPG abstraction.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "test_prog",
+       "synopsis": "A test program with a fake model to check model tools.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "test_prog",
+               "synopsis": "A test program with a fake model to check model tools."
+       }],
        "class_name": "MModule",
        "full_name": "test_prog::test_prog",
-       "mdoc": {
-               "content": "A test program with a fake model to check model tools.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 1,
-                       "line_end": 16,
-                       "line_start": 15,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 26,
-               "line_start": 15,
-               "file": "test_location"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>"
-       },
-       "intro_mclasses": [{
-               "full_name": "test_prog::Starter"
-       }, {
-               "full_name": "test_prog::Sys"
-       }],
-       "mclassdefs": [{
-               "full_name": "test_prog$Starter"
-       }, {
-               "full_name": "test_prog$Sys"
-       }],
-       "intro_mclassdefs": [{
-               "full_name": "test_prog$Starter"
-       }, {
-               "full_name": "test_prog$Sys"
-       }],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::game"
-       }]
+       "html_synopsis": "<span class=\"synopsys nitdoc\">A test program with a fake model to check model tools.</span>",
+       "modifiers": ["module"]
 }
 {
        "name": "test_prog-m",
+       "namespace": [{
+               "name": "test_prog-m"
+       }],
        "class_name": "MModule",
        "full_name": "test_prog-m",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["module"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "mpackage": null,
-       "mgroup": null,
-       "intro_mclasses": [],
-       "mclassdefs": [],
-       "intro_mclassdefs": [],
-       "redef_mclassdefs": [],
-       "imports": [{
-               "full_name": "test_prog::test_prog"
-       }, {
-               "full_name": "test_prog::game_examples"
-       }]
+       "modifiers": ["module"]
 }
index ca0a550..8715a80 100644 (file)
@@ -1,72 +1,25 @@
 {
        "name": "test_prog",
+       "synopsis": "Test program for model tools.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }],
        "class_name": "MPackage",
        "full_name": "test_prog",
-       "mdoc": {
-               "content": "Test program for model tools.\n\nThis program creates a fake model that can be used to test tools like:\n\n* `nitdoc`\n* `nitmetrics`\n* `nitx`\n* or others `modelbuilder`.\n\nAn image:\n\n![Tinks3D](../../contrib/tinks/doc/tinks3d.png)",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 0,
-                       "line_end": 12,
-                       "line_start": 1,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Test program for model tools.</span>",
        "modifiers": ["package"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "root": {
-               "full_name": "test_prog>"
-       },
-       "mgroups": [{
-               "full_name": "test_prog>examples>"
-       }, {
-               "full_name": "test_prog>game>"
-       }, {
-               "full_name": "test_prog>platform>"
-       }, {
-               "full_name": "test_prog>rpg>"
-       }, {
-               "full_name": "test_prog>"
-       }],
-       "ini": {
-               "upstream.issues": "https://github.com/nitlang/nit/issues",
-               "upstream.homepage": "http://nitlanguage.org",
-               "upstream.git.directory": "tests/test_prog",
-               "upstream.browse": "https://github.com/nitlang/nit/tree/master/tests/test_prog",
-               "source.exclude": "game/excluded.nit:game/excluded_dir",
-               "package.license": "Apache-2.0",
-               "package.more_contributors": "Riri <riri@example.com>, Fifi (http://www.example.com/~fifi), Loulou",
-               "package.maintainer": "John Doe <jdoe@example.com> (http://www.example.com/~jdoe), Spider-Man",
-               "package.tags": "test,game",
-               "package.version": "0.1",
-               "package.name": "test_prog"
-       }
+       "license": "Apache-2.0",
+       "tags": ["test", "game"]
 }
 {
        "name": "excluded",
+       "namespace": [{
+               "name": "excluded"
+       }],
        "class_name": "MPackage",
        "full_name": "excluded",
-       "mdoc": null,
        "visibility": "public",
-       "modifiers": ["package"],
-       "location": {
-               "column_end": 0,
-               "column_start": 0,
-               "line_end": 0,
-               "line_start": 0,
-               "file": "test_location"
-       },
-       "root": {
-               "full_name": "excluded>"
-       },
-       "mgroups": [{
-               "full_name": "excluded>"
-       }]
+       "modifiers": ["package"]
 }
index e4b178a..e6414bb 100644 (file)
 {
        "name": "OTHER",
+       "synopsis": "Used for comparisons.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "$", {
+               "name": "OTHER",
+               "synopsis": "Used for comparisons."
+       }],
        "class_name": "MVirtualTypeDef",
        "full_name": "test_prog$Object$OTHER",
-       "mdoc": {
-               "content": "Used for comparisons.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 23,
-                       "line_start": 22,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>",
        "modifiers": ["type"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 23,
-               "line_start": 22,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::OTHER"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$OTHER"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "bound": {
-               "full_name": "nullable test_prog::Object"
-       },
-       "is_fixed": false
+               "name": "nullable Object",
+               "synopsis": "Root of everything.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+       }
 }
 {
        "name": "==",
+       "synopsis": "Is `other` equqls to `self`?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "$", {
+               "name": "==",
+               "synopsis": "Is `other` equqls to `self`?"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$==",
-       "mdoc": {
-               "content": "Is `other` equqls to `self`?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 26,
-                       "line_start": 25,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 37,
-               "column_start": 2,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::=="
-       },
-       "intro": {
-               "full_name": "test_prog$Object$=="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "other",
                        "mtype": {
-                               "full_name": "test_prog::Object::OTHER"
+                               "name": "OTHER",
+                               "synopsis": "Used for comparisons.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "!=",
+       "synopsis": "Is `other` different from `self`?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "$", {
+               "name": "!=",
+               "synopsis": "Is `other` different from `self`?"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$!=",
-       "mdoc": {
-               "content": "Is `other` different from `self`?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 55,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 28,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::!="
-       },
-       "intro": {
-               "full_name": "test_prog$Object$!="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "other",
                        "mtype": {
-                               "full_name": "test_prog::Object::OTHER"
+                               "name": "OTHER",
+                               "synopsis": "Used for comparisons.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "$", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["init"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 30,
-               "line_start": 20,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "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": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 12,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Warrior",
+               "synopsis": "Warriors are good for fighting."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Warrior$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 46,
-               "line_start": 42,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Warrior"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Magician",
+               "synopsis": "Magicians know magic and how to use it."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Magician$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 57,
-               "line_start": 53,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Magician"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Alcoholic",
+               "synopsis": "Alcoholics are good to nothing escept taking punches."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Alcoholic$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 68,
-               "line_start": 64,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Alcoholic"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "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": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 12,
-               "column_start": 2,
-               "line_end": 44,
-               "line_start": 44,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Human",
+               "synopsis": "Humans are able to do everithing."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Human$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 55,
-               "line_start": 51,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Human"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Dwarf$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 66,
-               "line_start": 62,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Dwarf"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Elf",
+               "synopsis": "Elves make good magicians."
+       }, "$", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Elf$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 77,
-               "line_start": 73,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Elf"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "init",
+       "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"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["redef", "init"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 68,
-               "line_start": 21,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Object::init"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "unary -",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "unary -"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$unary -",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 21,
-               "column_start": 2,
-               "line_end": 34,
-               "line_start": 34,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::unary -"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$unary -"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "+",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "+"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$+",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::+"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$+"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "-",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "-"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$-",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::-"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$-"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "*",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "*"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$*",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::*"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$*"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "/",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "/"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$/",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 38,
-               "line_start": 38,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::/"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$/"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": ">",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": ">"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$>",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 30,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 39,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::>"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$>"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "to_f",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "$", {
+               "name": "to_f"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Int$to_f",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 26,
-               "column_start": 2,
-               "line_end": 40,
-               "line_start": 40,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Int::to_f"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$to_f"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "+",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": "+"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Float$+",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 45,
-               "line_start": 45,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Float::+"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$+"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "-",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": "-"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Float$-",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 46,
-               "line_start": 46,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Float::-"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$-"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "*",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": "*"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Float$*",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 47,
-               "line_start": 47,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Float::*"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$*"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "/",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": "/"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Float$/",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 48,
-               "line_start": 48,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Float::/"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$/"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": ">",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "$", {
+               "name": ">"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Float$>",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 32,
-               "column_start": 2,
-               "line_end": 49,
-               "line_start": 49,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Float::>"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$>"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mmodule": {
-               "full_name": "test_prog::platform"
-       },
-       "mgroup": {
-               "full_name": "test_prog>platform>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "_strength_bonus",
+       "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": "_strength_bonus"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Career$_strength_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::careers::Career::_strength_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_strength_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "strength_bonus",
+       "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": "strength_bonus"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$strength_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::strength_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$strength_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "strength_bonus=",
+       "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": "strength_bonus="
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$strength_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::strength_bonus="
-       },
-       "intro": {
-               "full_name": "test_prog$Career$strength_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "strength_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_endurance_bonus",
+       "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": "_endurance_bonus"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Career$_endurance_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::careers::Career::_endurance_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_endurance_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "endurance_bonus",
+       "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": "endurance_bonus"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$endurance_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::endurance_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$endurance_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "endurance_bonus=",
+       "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": "endurance_bonus="
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$endurance_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::endurance_bonus="
-       },
-       "intro": {
-               "full_name": "test_prog$Career$endurance_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "endurance_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_intelligence_bonus",
+       "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": "_intelligence_bonus"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Career$_intelligence_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::careers::Career::_intelligence_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_intelligence_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "intelligence_bonus",
+       "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": "intelligence_bonus"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$intelligence_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::intelligence_bonus"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$intelligence_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "intelligence_bonus=",
+       "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": "intelligence_bonus="
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Career$intelligence_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Career::intelligence_bonus="
-       },
-       "intro": {
-               "full_name": "test_prog$Career$intelligence_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mmodule": {
-               "full_name": "test_prog::careers"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "intelligence_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_base_strength",
+       "synopsis": "Used to represents how strong the race is.",
+       "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_strength",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_strength",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::races::Race::_base_strength"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_strength"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "base_strength",
+       "synopsis": "Used to represents how strong the race is.",
+       "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_strength",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_strength"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_strength"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "base_strength=",
+       "synopsis": "Used to represents how strong the race is.",
+       "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_strength=",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength=",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_strength="
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_strength="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_strength",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_base_endurance",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "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_endurance",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_endurance",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::races::Race::_base_endurance"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "base_endurance",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "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_endurance",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_endurance"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "base_endurance=",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "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_endurance=",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance=",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_endurance="
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_endurance="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_endurance",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "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": "MAttributeDef",
        "full_name": "test_prog$Race$_base_intelligence",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::races::Race::_base_intelligence"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys 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",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_intelligence"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys 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=",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Race::base_intelligence="
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_intelligence="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mmodule": {
-               "full_name": "test_prog::races"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_intelligence",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_race",
+       "synopsis": "The `Race` of the character.",
+       "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": "_race",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_race",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_race"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_race"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Race"
+               "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>"
        }
 }
 {
        "name": "race",
+       "synopsis": "The `Race` of the character.",
+       "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": "race",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::race"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$race"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Race"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "race=",
+       "synopsis": "The `Race` of the character.",
+       "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": "race=",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race=",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::race="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$race="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "race",
                        "mtype": {
-                               "full_name": "test_prog::Race"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_career",
+       "synopsis": "The current `Career` of the character.",
+       "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": "_career",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_career",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_career"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_career"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "nullable test_prog::Career"
+               "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>"
        }
 }
 {
        "name": "career",
+       "synopsis": "The current `Career` of the character.",
+       "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": "career",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::career"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$career"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "nullable test_prog::Career"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "career=",
+       "synopsis": "The current `Career` of the character.",
+       "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": "career=",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career=",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::career="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$career="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "career",
                        "mtype": {
-                               "full_name": "nullable test_prog::Career"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "quit",
+       "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": "quit"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$quit",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 31,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::quit"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$quit"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "_name",
+       "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": "_name"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_name",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_name"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_name"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::String"
+               "name": "String",
+               "synopsis": "Strings (there is no chars...).",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
        }
 }
 {
        "name": "name",
+       "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": "name"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$name",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::name"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$name"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::String"
-               },
-               "vararg_rank": -1
+                       "name": "String",
+                       "synopsis": "Strings (there is no chars...).",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+               }
        }
 }
 {
        "name": "name=",
+       "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": "name="
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$name=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::name="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$name="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "name",
                        "mtype": {
-                               "full_name": "test_prog::String"
+                               "name": "String",
+                               "synopsis": "Strings (there is no chars...).",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_age",
+       "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": "_age"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_age",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_age"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_age"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "age",
+       "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": "age"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$age",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::age"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$age"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
-               "arity": 0,
-               "mparams": [],
-               "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
-       }
-}
-{
-       "name": "age=",
-       "class_name": "MMethodDef",
-       "full_name": "test_prog$Character$age=",
-       "mdoc": null,
-       "visibility": "protected",
-       "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::age="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$age="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
+               "arity": 0,
+               "mparameters": [],
+               "return_mtype": {
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
+       }
+}
+{
+       "name": "age=",
+       "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": "age="
+       }],
+       "class_name": "MMethodDef",
+       "full_name": "test_prog$Character$age=",
+       "visibility": "protected",
+       "modifiers": ["protected", "fun"],
+       "is_intro": true,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "age",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_sex",
+       "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": "_sex"
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_sex",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_sex"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_sex"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Bool"
+               "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>"
        }
 }
 {
        "name": "sex",
+       "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": "sex"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$sex",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::sex"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$sex"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "sex=",
+       "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": "sex="
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$sex=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::sex="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$sex="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "sex",
                        "mtype": {
-                               "full_name": "test_prog::Bool"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "total_strengh",
+       "synopsis": "The actual strength of the character.",
+       "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": "total_strengh",
+               "synopsis": "The actual strength of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_strengh",
-       "mdoc": {
-               "content": "The actual strength of the character.\n\nReturns `race.base_strength + career.strength_bonus` or just `race.base_strength` is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 39,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 45,
-               "line_start": 39,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::total_strengh"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_strengh"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "total_endurance",
+       "synopsis": "The actual endurance of the character.",
+       "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": "total_endurance",
+               "synopsis": "The actual endurance of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_endurance",
-       "mdoc": {
-               "content": "The actual endurance of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 48,
-                       "line_start": 47,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual endurance of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 51,
-               "line_start": 47,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::total_endurance"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "total_intelligence",
+       "synopsis": "The acutal intelligence of the character.",
+       "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": "total_intelligence",
+               "synopsis": "The acutal intelligence of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_intelligence",
-       "mdoc": {
-               "content": "The acutal intelligence of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 54,
-                       "line_start": 53,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The acutal intelligence of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 57,
-               "line_start": 53,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::total_intelligence"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "max_health",
+       "synopsis": "Maximum health of the character.",
+       "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": "max_health",
+               "synopsis": "Maximum health of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$max_health",
-       "mdoc": {
-               "content": "Maximum health of the character.\n\nBased on `total endurance * 10`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 62,
-                       "line_start": 59,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Maximum health of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 51,
-               "column_start": 2,
-               "line_end": 62,
-               "line_start": 59,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::max_health"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$max_health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "_health",
+       "synopsis": "The current `health` of the character.",
+       "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": "_health",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_health",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::character::Character::_health"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "health",
+       "synopsis": "The current `health` of the character.",
+       "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": "health",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
-       "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::health"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
+       "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>",
+       "modifiers": ["fun"],
+       "is_intro": true,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "health=",
+       "synopsis": "The current `health` of the character.",
+       "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": "health=",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health=",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Character::health="
-       },
-       "intro": {
-               "full_name": "test_prog$Character$health="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mmodule": {
-               "full_name": "test_prog::character"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "health",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "dps",
+       "synopsis": "Damage per second inflicted by this weapon.",
+       "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": "dps",
+               "synopsis": "Damage per second inflicted by this weapon."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Weapon$dps",
-       "mdoc": {
-               "content": "Damage per second inflicted by this weapon.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 23,
-                       "line_start": 22,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Damage per second inflicted by this weapon.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 23,
-               "line_start": 22,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Weapon"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Weapon::dps"
-       },
-       "intro": {
-               "full_name": "test_prog$Weapon$dps"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Weapon"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "dps",
+       "synopsis": "Dwarf `dps` are based on the dwarf `base_endurance` (represents weight here)",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "combat",
+               "synopsis": "COmbat interactions between characters."
+       }, "$", {
+               "name": "Dwarf",
+               "synopsis": "Dwarves make strong warriors."
+       }, "$", {
+               "name": "Weapon",
+               "synopsis": "Something that can be used to attack someone and inflict damage."
+       }, "::", {
+               "name": "dps",
+               "synopsis": "Dwarf `dps` are based on the dwarf `base_endurance` (represents weight here)"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Dwarf$Weapon::dps",
-       "mdoc": {
-               "content": "Dwarf `dps` are based on the dwarf `base_endurance` (represents weight here)",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 66,
-                       "line_start": 65,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["redef", "fun"],
-       "location": {
-               "column_end": 51,
-               "column_start": 2,
-               "line_end": 66,
-               "line_start": 65,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog::combat$Dwarf"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Weapon::dps"
-       },
-       "intro": {
-               "full_name": "test_prog$Weapon$dps"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Weapon"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "hit_points",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "hit_points"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$hit_points",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 32,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::hit_points"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$hit_points"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "hit_points",
+       "synopsis": "Use character `health` to determines hit_points.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "combat",
+               "synopsis": "COmbat interactions between characters."
+       }, "$", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "hit_points",
+               "synopsis": "Use character `health` to determines hit_points."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Character$Combatable::hit_points",
-       "mdoc": {
-               "content": "Use character `health` to determines hit_points.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 58,
-                       "line_start": 57,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["redef", "fun"],
-       "location": {
-               "column_end": 38,
-               "column_start": 2,
-               "line_end": 58,
-               "line_start": 57,
-               "file": "test_location"
-       },
-       "is_intro": false,
-       "mclassdef": {
-               "full_name": "test_prog::combat$Character"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::hit_points"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$hit_points"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "attack",
+       "synopsis": "A `Combatable` can attack a `target` that is also a `Combatable`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "attack",
+               "synopsis": "A `Combatable` can attack a `target` that is also a `Combatable`."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$attack",
-       "mdoc": {
-               "content": "A `Combatable` can attack a `target` that is also a `Combatable`.\n\nAttack the `target` using `wepaon` and returns the number of inflicted hit points.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 37,
-                       "line_start": 34,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 64,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 34,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::attack"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$attack"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 2,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "target",
                        "mtype": {
-                               "full_name": "test_prog::Combatable"
+                               "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>"
                        }
                }, {
                        "is_vararg": false,
                        "name": "weapon",
                        "mtype": {
-                               "full_name": "test_prog::Weapon"
+                               "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>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "direct_attack",
+       "synopsis": "Like `attack` but cannot be defended.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "direct_attack",
+               "synopsis": "Like `attack` but cannot be defended."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$direct_attack",
-       "mdoc": {
-               "content": "Like `attack` but cannot be defended.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 40,
-                       "line_start": 39,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 71,
-               "column_start": 2,
-               "line_end": 40,
-               "line_start": 39,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::direct_attack"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$direct_attack"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 2,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "target",
                        "mtype": {
-                               "full_name": "test_prog::Combatable"
+                               "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>"
                        }
                }, {
                        "is_vararg": false,
                        "name": "weapon",
                        "mtype": {
-                               "full_name": "test_prog::Weapon"
+                               "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>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "defend",
+       "synopsis": "`Combatable` can defend against attacks.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "defend",
+               "synopsis": "`Combatable` can defend against attacks."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$defend",
-       "mdoc": {
-               "content": "`Combatable` can defend against attacks.\n\nDefends against a number of received hit points and return the number of pared hit points.\n\n@param hit: damage received.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 47,
-                       "line_start": 42,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 38,
-               "column_start": 2,
-               "line_end": 47,
-               "line_start": 42,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::defend"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$defend"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "hit",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "is_dead",
+       "synopsis": "Is the character still have hit_points?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "$", {
+               "name": "is_dead",
+               "synopsis": "Is the character still have hit_points?"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$is_dead",
-       "mdoc": {
-               "content": "Is the character still have hit_points?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 50,
-                       "line_start": 49,
-                       "file": "test_location"
-               }
-       },
-       "visibility": "public",
-       "modifiers": ["fun"],
-       "location": {
-               "column_end": 43,
-               "column_start": 2,
-               "line_end": 50,
-               "line_start": 49,
-               "file": "test_location"
-       },
+       "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is the character still have hit_points?</span>",
+       "modifiers": ["fun"],
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Combatable::is_dead"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$is_dead"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mmodule": {
-               "full_name": "test_prog::combat"
-       },
-       "mgroup": {
-               "full_name": "test_prog>rpg>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "player_characters",
+       "synopsis": "Characters played by human players.",
+       "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": "player_characters",
+               "synopsis": "Characters played by human players."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$player_characters",
-       "mdoc": {
-               "content": "Characters played by human players.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 26,
-                       "line_start": 25,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 51,
-               "column_start": 2,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Game::player_characters"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$player_characters"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::List[test_prog::Character]"
-               },
-               "vararg_rank": -1
+                       "name": "List[Character]",
+                       "synopsis": "List of things.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               }
        }
 }
 {
 }
 {
        "name": "computer_characters",
+       "synopsis": "Characters players by computer.",
+       "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": "computer_characters",
+               "synopsis": "Characters players by computer."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$computer_characters",
-       "mdoc": {
-               "content": "Characters players by computer.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 53,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 28,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Game::computer_characters"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$computer_characters"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::List[test_prog::Character]"
-               },
-               "vararg_rank": -1
+                       "name": "List[Character]",
+                       "synopsis": "List of things.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               }
        }
 }
 {
 }
 {
        "name": "start_game",
+       "synopsis": "Start the game.",
+       "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": "start_game",
+               "synopsis": "Start the game."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$start_game",
-       "mdoc": {
-               "content": "Start the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 34,
-                       "line_start": 31,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 34,
-               "line_start": 31,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Game::start_game"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$start_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
 }
 {
        "name": "pause_game",
+       "synopsis": "Pause the game.",
+       "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": "pause_game",
+               "synopsis": "Pause the game."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$pause_game",
-       "mdoc": {
-               "content": "Pause the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 36,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 36,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Game::pause_game"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$pause_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
 }
 {
        "name": "stop_game",
+       "synopsis": "Stop the game.",
+       "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": "stop_game",
+               "synopsis": "Stop the game."
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$stop_game",
-       "mdoc": {
-               "content": "Stop the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 44,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 26,
-               "column_start": 2,
-               "line_end": 44,
-               "line_start": 41,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Game::stop_game"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$stop_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mmodule": {
-               "full_name": "test_prog::game"
-       },
-       "mgroup": {
-               "full_name": "test_prog>game>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
 }
 {
        "name": "start",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Starter"
+       }, "$", {
+               "name": "start"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Starter$start",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 22,
-               "line_start": 22,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Starter"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Starter::start"
-       },
-       "intro": {
-               "full_name": "test_prog$Starter$start"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Starter"
-       },
-       "mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "main",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "$", {
+               "name": "Sys"
+       }, "$", {
+               "name": "main"
+       }],
        "class_name": "MMethodDef",
        "full_name": "test_prog$Sys$main",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
        "is_intro": true,
-       "mclassdef": {
-               "full_name": "test_prog$Sys"
-       },
-       "mproperty": {
-               "full_name": "test_prog::Sys::main"
-       },
-       "intro": {
-               "full_name": "test_prog$Sys$main"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Sys"
-       },
-       "mmodule": {
-               "full_name": "test_prog::test_prog"
-       },
-       "mgroup": {
-               "full_name": "test_prog>"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
index f2b22b3..de9d44c 100644 (file)
 {
        "name": "OTHER",
+       "synopsis": "Used for comparisons.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "OTHER",
+               "synopsis": "Used for comparisons."
+       }],
        "class_name": "MVirtualTypeProp",
        "full_name": "test_prog::Object::OTHER",
-       "mdoc": {
-               "content": "Used for comparisons.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 23,
-                       "line_start": 22,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>",
        "modifiers": ["type"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 23,
-               "line_start": 22,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$OTHER"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Object$OTHER"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Object"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "mvirtualtype": {
-               "full_name": "test_prog::Object::OTHER"
-       },
        "bound": {
-               "full_name": "nullable test_prog::Object"
+               "name": "nullable Object",
+               "synopsis": "Root of everything.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
        }
 }
 {
        "name": "==",
+       "synopsis": "Is `other` equqls to `self`?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "==",
+               "synopsis": "Is `other` equqls to `self`?"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Object::==",
-       "mdoc": {
-               "content": "Is `other` equqls to `self`?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 26,
-                       "line_start": 25,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 37,
-               "column_start": 2,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$=="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Object$=="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Object"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "other",
                        "mtype": {
-                               "full_name": "test_prog::Object::OTHER"
+                               "name": "OTHER",
+                               "synopsis": "Used for comparisons.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "!=",
+       "synopsis": "Is `other` different from `self`?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "!=",
+               "synopsis": "Is `other` different from `self`?"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Object::!=",
-       "mdoc": {
-               "content": "Is `other` different from `self`?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 55,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 28,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$!="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Object$!="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Object"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "other",
                        "mtype": {
-                               "full_name": "test_prog::Object::OTHER"
+                               "name": "OTHER",
+                               "synopsis": "Used for comparisons.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "init",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Object",
+               "synopsis": "Root of everything."
+       }, "::", {
+               "name": "init"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Object::init",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["init"],
-       "location": {
-               "column_end": 3,
-               "column_start": 1,
-               "line_end": 30,
-               "line_start": 20,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Object$init"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Object"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Elf$Object::init"
-       }, {
-               "full_name": "test_prog$Career$Object::init"
-       }, {
-               "full_name": "test_prog$Warrior$Object::init"
-       }, {
-               "full_name": "test_prog$Magician$Object::init"
-       }, {
-               "full_name": "test_prog$Alcoholic$Object::init"
-       }, {
-               "full_name": "test_prog$Race$Object::init"
-       }, {
-               "full_name": "test_prog$Human$Object::init"
-       }, {
-               "full_name": "test_prog$Dwarf$Object::init"
-       }, {
-               "full_name": "test_prog$Character$Object::init"
-       }, {
-               "full_name": "test_prog$Object$init"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Object"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "is_init": true,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "unary -",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "unary -"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::unary -",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 21,
-               "column_start": 2,
-               "line_end": 34,
-               "line_start": 34,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$unary -"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$unary -"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "+",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "+"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::+",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$+"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$+"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "-",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "-"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::-",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$-"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$-"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "*",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "*"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::*",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$*"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$*"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "/",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "/"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::/",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 38,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$/"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$/"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": ">",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": ">"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::>",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 30,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 39,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$>"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$>"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "i",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "to_f",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Int",
+               "synopsis": "Some services about Integers."
+       }, "::", {
+               "name": "to_f"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Int::to_f",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 26,
-               "column_start": 2,
-               "line_end": 40,
-               "line_start": 40,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Int$to_f"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Int"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Int$to_f"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Int"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "+",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "::", {
+               "name": "+"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Float::+",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 45,
-               "line_start": 45,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$+"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$+"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "-",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "::", {
+               "name": "-"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Float::-",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 46,
-               "line_start": 46,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$-"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$-"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "*",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "::", {
+               "name": "*"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Float::*",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 47,
-               "line_start": 47,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$*"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$*"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "/",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "::", {
+               "name": "/"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Float::/",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 33,
-               "column_start": 2,
-               "line_end": 48,
-               "line_start": 48,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$/"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$/"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": ">",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Float",
+               "synopsis": "Some services about Floats."
+       }, "::", {
+               "name": ">"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Float::>",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["intern", "fun"],
-       "location": {
-               "column_end": 32,
-               "column_start": 2,
-               "line_end": 49,
-               "line_start": 49,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Float$>"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Float"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Float$>"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Float"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "f",
                        "mtype": {
-                               "full_name": "test_prog::Float"
+                               "name": "Float",
+                               "synopsis": "Some services about Floats.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "_strength_bonus",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "careers",
+               "synopsis": "Careers of the game."
+       }, "::", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }, "::", {
+               "name": "_strength_bonus"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::careers::Career::_strength_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_strength_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$_strength_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "strength_bonus",
+       "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": "strength_bonus"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::strength_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$strength_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$strength_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "strength_bonus=",
+       "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": "strength_bonus="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::strength_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 31,
-               "line_start": 31,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$strength_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$strength_bonus="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "strength_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_endurance_bonus",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "careers",
+               "synopsis": "Careers of the game."
+       }, "::", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }, "::", {
+               "name": "_endurance_bonus"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::careers::Career::_endurance_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_endurance_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$_endurance_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "endurance_bonus",
+       "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": "endurance_bonus"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::endurance_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$endurance_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$endurance_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "endurance_bonus=",
+       "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": "endurance_bonus="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::endurance_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 25,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$endurance_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$endurance_bonus="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "endurance_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_intelligence_bonus",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "careers",
+               "synopsis": "Careers of the game."
+       }, "::", {
+               "name": "Career",
+               "synopsis": "A `Career` gives a characteristic bonus or malus to the character."
+       }, "::", {
+               "name": "_intelligence_bonus"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::careers::Career::_intelligence_bonus",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$_intelligence_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$_intelligence_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "intelligence_bonus",
+       "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": "intelligence_bonus"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::intelligence_bonus",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$intelligence_bonus"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$intelligence_bonus"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "intelligence_bonus=",
+       "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": "intelligence_bonus="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Career::intelligence_bonus=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 28,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 33,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Career$intelligence_bonus="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Career"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Career$intelligence_bonus="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Career"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "intelligence_bonus",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_base_strength",
+       "synopsis": "Used to represents how strong the race is.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "races",
+               "synopsis": "Races of the game."
+       }, "::", {
+               "name": "Race",
+               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+       }, "::", {
+               "name": "_base_strength",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::races::Race::_base_strength",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_strength"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$_base_strength"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "base_strength",
+       "synopsis": "Used to represents how strong the race is.",
+       "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_strength",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_strength",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_strength"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_strength"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "base_strength=",
+       "synopsis": "Used to represents how strong the race is.",
+       "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_strength=",
+               "synopsis": "Used to represents how strong the race is."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_strength=",
-       "mdoc": {
-               "content": "Used to represents how strong the race is.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 36,
-                       "line_start": 35,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 23,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_strength="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_strength="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_strength",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_base_endurance",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "races",
+               "synopsis": "Races of the game."
+       }, "::", {
+               "name": "Race",
+               "synopsis": "Race determines basic characteristics and what the character will be able to do in life."
+       }, "::", {
+               "name": "_base_endurance",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::races::Race::_base_endurance",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$_base_endurance"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "base_endurance",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "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_endurance",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_endurance",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_endurance"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "base_endurance=",
+       "synopsis": "Used to represents how the race can absorb damage.",
+       "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_endurance=",
+               "synopsis": "Used to represents how the race can absorb damage."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_endurance=",
-       "mdoc": {
-               "content": "Used to represents how the race can absorb damage.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 38,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 24,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 38,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_endurance="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_endurance="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_endurance",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_base_intelligence",
+       "synopsis": "Is this race smart?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "races",
+               "synopsis": "Races of the game."
+       }, "::", {
+               "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": "MAttribute",
        "full_name": "test_prog::races::Race::_base_intelligence",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "private",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$_base_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$_base_intelligence"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys 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": "MMethod",
        "full_name": "test_prog::Race::base_intelligence",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_intelligence"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys 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": "MMethod",
        "full_name": "test_prog::Race::base_intelligence=",
-       "mdoc": {
-               "content": "Is this race smart?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "protected",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 42,
-               "line_start": 41,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Race$base_intelligence="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Race"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Race$base_intelligence="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Race"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "base_intelligence",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_race",
+       "synopsis": "The `Race` of the character.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_race",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_race",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_race"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_race"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Race"
+               "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>"
        }
 }
 {
        "name": "race",
+       "synopsis": "The `Race` of the character.",
+       "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": "race",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::race",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$race"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$race"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Race"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "race=",
+       "synopsis": "The `Race` of the character.",
+       "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": "race=",
+               "synopsis": "The `Race` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::race=",
-       "mdoc": {
-               "content": "The `Race` of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 25,
-                       "line_start": 24,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 15,
-               "column_start": 2,
-               "line_end": 25,
-               "line_start": 24,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$race="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$race="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "race",
                        "mtype": {
-                               "full_name": "test_prog::Race"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_career",
+       "synopsis": "The current `Career` of the character.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_career",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_career",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_career"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_career"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "nullable test_prog::Career"
+               "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>"
        }
 }
 {
        "name": "career",
+       "synopsis": "The current `Career` of the character.",
+       "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": "career",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::career",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$career"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$career"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "nullable test_prog::Career"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "career=",
+       "synopsis": "The current `Career` of the character.",
+       "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": "career=",
+               "synopsis": "The current `Career` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::career=",
-       "mdoc": {
-               "content": "The current `Career` of the character.\nReturns `null` if character is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 27,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 47,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 27,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$career="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$career="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "career",
                        "mtype": {
-                               "full_name": "nullable test_prog::Career"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "quit",
+       "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": "quit"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::quit",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 33,
-               "line_start": 31,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$quit"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$quit"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "_name",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_name"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_name",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_name"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_name"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::String"
+               "name": "String",
+               "synopsis": "Strings (there is no chars...).",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
        }
 }
 {
        "name": "name",
+       "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": "name"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::name",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$name"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$name"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::String"
-               },
-               "vararg_rank": -1
+                       "name": "String",
+                       "synopsis": "Strings (there is no chars...).",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+               }
        }
 }
 {
        "name": "name=",
+       "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": "name="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::name=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 35,
-               "line_start": 35,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$name="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$name="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "name",
                        "mtype": {
-                               "full_name": "test_prog::String"
+                               "name": "String",
+                               "synopsis": "Strings (there is no chars...).",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_age",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_age"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_age",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_age"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_age"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "age",
+       "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": "age"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::age",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$age"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$age"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "age=",
+       "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": "age="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::age=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 2,
-               "line_end": 36,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$age="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$age="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "age",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "_sex",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_sex"
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_sex",
-       "mdoc": null,
        "visibility": "private",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_sex"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_sex"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Bool"
+               "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>"
        }
 }
 {
        "name": "sex",
+       "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": "sex"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::sex",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$sex"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$sex"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "sex=",
+       "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": "sex="
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::sex=",
-       "mdoc": null,
        "visibility": "protected",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 14,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 37,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$sex="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$sex="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "sex",
                        "mtype": {
-                               "full_name": "test_prog::Bool"
+                               "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>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "total_strengh",
+       "synopsis": "The actual strength of the character.",
+       "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": "total_strengh",
+               "synopsis": "The actual strength of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_strengh",
-       "mdoc": {
-               "content": "The actual strength of the character.\n\nReturns `race.base_strength + career.strength_bonus` or just `race.base_strength` is unemployed.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 42,
-                       "line_start": 39,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 45,
-               "line_start": 39,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_strengh"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$total_strengh"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "total_endurance",
+       "synopsis": "The actual endurance of the character.",
+       "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": "total_endurance",
+               "synopsis": "The actual endurance of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_endurance",
-       "mdoc": {
-               "content": "The actual endurance of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 48,
-                       "line_start": 47,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual endurance of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 51,
-               "line_start": 47,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_endurance"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$total_endurance"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "total_intelligence",
+       "synopsis": "The acutal intelligence of the character.",
+       "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": "total_intelligence",
+               "synopsis": "The acutal intelligence of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_intelligence",
-       "mdoc": {
-               "content": "The acutal intelligence of the character.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 54,
-                       "line_start": 53,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">The acutal intelligence of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 4,
-               "column_start": 2,
-               "line_end": 57,
-               "line_start": 53,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$total_intelligence"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$total_intelligence"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "max_health",
+       "synopsis": "Maximum health of the character.",
+       "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": "max_health",
+               "synopsis": "Maximum health of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::max_health",
-       "mdoc": {
-               "content": "Maximum health of the character.\n\nBased on `total endurance * 10`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 62,
-                       "line_start": 59,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Maximum health of the character.</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 51,
-               "column_start": 2,
-               "line_end": 62,
-               "line_start": 59,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$max_health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$max_health"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "_health",
+       "synopsis": "The current `health` of the character.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "character",
+               "synopsis": "Characters are playable entity in the world."
+       }, "::", {
+               "name": "Character",
+               "synopsis": "Characters can be played by both the human or the machine."
+       }, "::", {
+               "name": "_health",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_health",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["private", "var"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$_health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$_health"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
        "static_mtype": {
-               "full_name": "test_prog::Int"
+               "name": "Int",
+               "synopsis": "Some services about Integers.",
+               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "name": "health",
+       "synopsis": "The current `health` of the character.",
+       "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": "health",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::health",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$health"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$health"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "health=",
+       "synopsis": "The current `health` of the character.",
+       "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": "health=",
+               "synopsis": "The current `health` of the character."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Character::health=",
-       "mdoc": {
-               "content": "The current `health` of the character.\n\nStarts at `max_health`.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 67,
-                       "line_start": 64,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["protected", "fun"],
-       "location": {
-               "column_end": 29,
-               "column_start": 2,
-               "line_end": 67,
-               "line_start": 64,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Character$health="
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Character"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Character$health="
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Character"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "health",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "return_mtype": null
        }
 }
 {
        "name": "dps",
+       "synopsis": "Damage per second inflicted by this weapon.",
+       "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": "dps",
+               "synopsis": "Damage per second inflicted by this weapon."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Weapon::dps",
-       "mdoc": {
-               "content": "Damage per second inflicted by this weapon.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 23,
-                       "line_start": 22,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
-       "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 23,
-               "line_start": 22,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Weapon$dps"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Weapon"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Weapon$dps"
-       }, {
-               "full_name": "test_prog::combat$Dwarf$Weapon::dps"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Weapon"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Damage per second inflicted by this weapon.</span>",
+       "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Float"
-               },
-               "vararg_rank": -1
+                       "name": "Float",
+                       "synopsis": "Some services about Floats.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+               }
        }
 }
 {
        "name": "hit_points",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "hit_points"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::hit_points",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 32,
-               "column_start": 2,
-               "line_end": 32,
-               "line_start": 32,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$hit_points"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$hit_points"
-       }, {
-               "full_name": "test_prog::combat$Character$Combatable::hit_points"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "attack",
+       "synopsis": "A `Combatable` can attack a `target` that is also a `Combatable`.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "attack",
+               "synopsis": "A `Combatable` can attack a `target` that is also a `Combatable`."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::attack",
-       "mdoc": {
-               "content": "A `Combatable` can attack a `target` that is also a `Combatable`.\n\nAttack the `target` using `wepaon` and returns the number of inflicted hit points.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 37,
-                       "line_start": 34,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 64,
-               "column_start": 2,
-               "line_end": 37,
-               "line_start": 34,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$attack"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$attack"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 2,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "target",
                        "mtype": {
-                               "full_name": "test_prog::Combatable"
+                               "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>"
                        }
                }, {
                        "is_vararg": false,
                        "name": "weapon",
                        "mtype": {
-                               "full_name": "test_prog::Weapon"
+                               "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>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "direct_attack",
+       "synopsis": "Like `attack` but cannot be defended.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "direct_attack",
+               "synopsis": "Like `attack` but cannot be defended."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::direct_attack",
-       "mdoc": {
-               "content": "Like `attack` but cannot be defended.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 40,
-                       "line_start": 39,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 71,
-               "column_start": 2,
-               "line_end": 40,
-               "line_start": 39,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$direct_attack"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$direct_attack"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 2,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "target",
                        "mtype": {
-                               "full_name": "test_prog::Combatable"
+                               "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>"
                        }
                }, {
                        "is_vararg": false,
                        "name": "weapon",
                        "mtype": {
-                               "full_name": "test_prog::Weapon"
+                               "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>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "defend",
+       "synopsis": "`Combatable` can defend against attacks.",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "defend",
+               "synopsis": "`Combatable` can defend against attacks."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::defend",
-       "mdoc": {
-               "content": "`Combatable` can defend against attacks.\n\nDefends against a number of received hit points and return the number of pared hit points.\n\n@param hit: damage received.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 47,
-                       "line_start": 42,
-                       "file": "test_location"
-               }
-       },
        "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>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 38,
-               "column_start": 2,
-               "line_end": 47,
-               "line_start": 42,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$defend"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$defend"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 1,
-               "mparams": [{
+               "mparameters": [{
                        "is_vararg": false,
                        "name": "hit",
                        "mtype": {
-                               "full_name": "test_prog::Int"
+                               "name": "Int",
+                               "synopsis": "Some services about Integers.",
+                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
-                       "full_name": "test_prog::Int"
-               },
-               "vararg_rank": -1
+                       "name": "Int",
+                       "synopsis": "Some services about Integers.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               }
        }
 }
 {
        "name": "is_dead",
+       "synopsis": "Is the character still have hit_points?",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Combatable",
+               "synopsis": "Something that can be combatted, it can `attack` and `defend`."
+       }, "::", {
+               "name": "is_dead",
+               "synopsis": "Is the character still have hit_points?"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::is_dead",
-       "mdoc": {
-               "content": "Is the character still have hit_points?",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 50,
-                       "line_start": 49,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Is the character still have hit_points?</span>",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 43,
-               "column_start": 2,
-               "line_end": 50,
-               "line_start": 49,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Combatable$is_dead"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Combatable"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Combatable$is_dead"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Combatable"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::Bool"
-               },
-               "vararg_rank": -1
+                       "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>"
+               }
        }
 }
 {
        "name": "player_characters",
+       "synopsis": "Characters played by human players.",
+       "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": "player_characters",
+               "synopsis": "Characters played by human players."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Game::player_characters",
-       "mdoc": {
-               "content": "Characters played by human players.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 26,
-                       "line_start": 25,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 51,
-               "column_start": 2,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$player_characters"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$player_characters"
-       }, {
-               "full_name": "test_prog$MyGame$Game::player_characters"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::List[test_prog::Character]"
-               },
-               "vararg_rank": -1
+                       "name": "List[Character]",
+                       "synopsis": "List of things.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               }
        }
 }
 {
        "name": "computer_characters",
+       "synopsis": "Characters players by computer.",
+       "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": "computer_characters",
+               "synopsis": "Characters players by computer."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Game::computer_characters",
-       "mdoc": {
-               "content": "Characters players by computer.",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 29,
-                       "line_start": 28,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 53,
-               "column_start": 2,
-               "line_end": 29,
-               "line_start": 28,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$computer_characters"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$computer_characters"
-       }, {
-               "full_name": "test_prog$MyGame$Game::computer_characters"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
+               "mparameters": [],
                "return_mtype": {
-                       "full_name": "test_prog::List[test_prog::Character]"
-               },
-               "vararg_rank": -1
+                       "name": "List[Character]",
+                       "synopsis": "List of things.",
+                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               }
        }
 }
 {
        "name": "start_game",
+       "synopsis": "Start the game.",
+       "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": "start_game",
+               "synopsis": "Start the game."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Game::start_game",
-       "mdoc": {
-               "content": "Start the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 34,
-                       "line_start": 31,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 34,
-               "line_start": 31,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$start_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$start_game"
-       }, {
-               "full_name": "test_prog$MyGame$Game::start_game"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "pause_game",
+       "synopsis": "Pause the game.",
+       "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": "pause_game",
+               "synopsis": "Pause the game."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Game::pause_game",
-       "mdoc": {
-               "content": "Pause the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 39,
-                       "line_start": 36,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 27,
-               "column_start": 2,
-               "line_end": 39,
-               "line_start": 36,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$pause_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$pause_game"
-       }, {
-               "full_name": "test_prog$MyGame$Game::pause_game"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "stop_game",
+       "synopsis": "Stop the game.",
+       "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": "stop_game",
+               "synopsis": "Stop the game."
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Game::stop_game",
-       "mdoc": {
-               "content": "Stop the game.\n\nYou have to implement that method!",
-               "location": {
-                       "column_end": 0,
-                       "column_start": 2,
-                       "line_end": 44,
-                       "line_start": 41,
-                       "file": "test_location"
-               }
-       },
        "visibility": "public",
+       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
        "modifiers": ["abstract", "fun"],
-       "location": {
-               "column_end": 26,
-               "column_start": 2,
-               "line_end": 44,
-               "line_start": 41,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Game$stop_game"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Game"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Game$stop_game"
-       }, {
-               "full_name": "test_prog$MyGame$Game::stop_game"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Game"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
 }
 {
        "name": "start",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Starter"
+       }, "::", {
+               "name": "start"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Starter::start",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 17,
-               "column_start": 2,
-               "line_end": 22,
-               "line_start": 22,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Starter$start"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Starter"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Starter$start"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Starter"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
 {
        "name": "main",
+       "namespace": [{
+               "name": "test_prog",
+               "synopsis": "Test program for model tools."
+       }, "::", {
+               "name": "Sys"
+       }, "::", {
+               "name": "main"
+       }],
        "class_name": "MMethod",
        "full_name": "test_prog::Sys::main",
-       "mdoc": null,
        "visibility": "public",
        "modifiers": ["fun"],
-       "location": {
-               "column_end": 13,
-               "column_start": 1,
-               "line_end": 26,
-               "line_start": 25,
-               "file": "test_location"
-       },
-       "intro": {
-               "full_name": "test_prog$Sys$main"
-       },
-       "intro_mclassdef": {
-               "full_name": "test_prog$Sys"
-       },
-       "mpropdefs": [{
-               "full_name": "test_prog$Sys$main"
-       }],
-       "intro_mclass": {
-               "full_name": "test_prog::Sys"
-       },
-       "mpackage": {
-               "full_name": "test_prog"
-       },
-       "is_init": false,
        "msignature": {
                "arity": 0,
-               "mparams": [],
-               "return_mtype": null,
-               "vararg_rank": -1
+               "mparameters": [],
+               "return_mtype": null
        }
 }
index b5e00b5..a827187 100644 (file)
@@ -1,9 +1,11 @@
 {
-       "full_name": "test_prog"
+       "name": "test_prog",
+       "synopsis": "Test program for model tools."
 }
 {
-       "full_name": "test_prog::game_examples"
+       "name": "excluded"
 }
 {
-       "full_name": "test_prog::Object"
+       "name": "Object",
+       "synopsis": "Root of everything."
 }