--- /dev/null
+{
+ "name": "Object",
+ "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",
+ "modifiers": ["public", "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$OTHER"
+ }, {
+ "full_name": "test_prog$Object$=="
+ }, {
+ "full_name": "test_prog$Object$!="
+ }, {
+ "full_name": "test_prog$Object$init"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::Object::OTHER"
+ }, {
+ "full_name": "test_prog::Object::=="
+ }, {
+ "full_name": "test_prog::Object::!="
+ }, {
+ "full_name": "test_prog::Object::init"
+ }],
+ "intro": {
+ "full_name": "test_prog$Object"
+ },
+ "mpackage": {
+ "full_name": "test_prog"
+ },
+ "intro_mpropdefs": [{
+ "full_name": "test_prog$Object$OTHER"
+ }, {
+ "full_name": "test_prog$Object$=="
+ }, {
+ "full_name": "test_prog$Object$!="
+ }, {
+ "full_name": "test_prog$Object$init"
+ }],
+ "redef_mpropdefs": []
+}
+{
+ "name": "Int",
+ "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",
+ "modifiers": ["public", "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$unary -"
+ }, {
+ "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"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::Int::unary -"
+ }, {
+ "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"
+ }],
+ "intro": {
+ "full_name": "test_prog$Int"
+ },
+ "mpackage": {
+ "full_name": "test_prog"
+ },
+ "intro_mpropdefs": [{
+ "full_name": "test_prog$Int$unary -"
+ }, {
+ "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"
+ }],
+ "redef_mpropdefs": []
+}
+{
+ "name": "Float",
+ "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",
+ "modifiers": ["public", "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": []
+}
+{
+ "name": "Bool",
+ "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",
+ "modifiers": ["public", "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": []
+}
+{
+ "name": "String",
+ "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",
+ "modifiers": ["public", "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": []
+}
+{
+ "name": "List",
+ "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",
+ "modifiers": ["public", "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"
+ }
+ }],
+ "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",
+ "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",
+ "modifiers": ["public", "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$_strength_bonus"
+ }, {
+ "full_name": "test_prog$Career$strength_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$endurance_bonus="
+ }, {
+ "full_name": "test_prog$Career$_intelligence_bonus"
+ }, {
+ "full_name": "test_prog$Career$intelligence_bonus"
+ }, {
+ "full_name": "test_prog$Career$intelligence_bonus="
+ }, {
+ "full_name": "test_prog$Career$Object::init"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::careers::Career::_strength_bonus"
+ }, {
+ "full_name": "test_prog::Career::strength_bonus"
+ }, {
+ "full_name": "test_prog::Career::strength_bonus="
+ }, {
+ "full_name": "test_prog::careers::Career::_endurance_bonus"
+ }, {
+ "full_name": "test_prog::Career::endurance_bonus"
+ }, {
+ "full_name": "test_prog::Career::endurance_bonus="
+ }, {
+ "full_name": "test_prog::careers::Career::_intelligence_bonus"
+ }, {
+ "full_name": "test_prog::Career::intelligence_bonus"
+ }, {
+ "full_name": "test_prog::Career::intelligence_bonus="
+ }],
+ "intro": {
+ "full_name": "test_prog$Career"
+ },
+ "mpackage": {
+ "full_name": "test_prog"
+ },
+ "intro_mpropdefs": [{
+ "full_name": "test_prog$Career$_strength_bonus"
+ }, {
+ "full_name": "test_prog$Career$strength_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$endurance_bonus="
+ }, {
+ "full_name": "test_prog$Career$_intelligence_bonus"
+ }, {
+ "full_name": "test_prog$Career$intelligence_bonus"
+ }, {
+ "full_name": "test_prog$Career$intelligence_bonus="
+ }],
+ "redef_mpropdefs": [{
+ "full_name": "test_prog$Career$Object::init"
+ }]
+}
+{
+ "name": "Warrior",
+ "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",
+ "modifiers": ["public", "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"
+ }]
+}
+{
+ "name": "Magician",
+ "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",
+ "modifiers": ["public", "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"
+ }]
+}
+{
+ "name": "Alcoholic",
+ "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",
+ "modifiers": ["public", "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"
+ }]
+}
+{
+ "name": "Race",
+ "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",
+ "modifiers": ["public", "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_strength"
+ }, {
+ "full_name": "test_prog$Race$base_strength"
+ }, {
+ "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_endurance="
+ }, {
+ "full_name": "test_prog$Race$_base_intelligence"
+ }, {
+ "full_name": "test_prog$Race$base_intelligence"
+ }, {
+ "full_name": "test_prog$Race$base_intelligence="
+ }, {
+ "full_name": "test_prog$Race$Object::init"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::races::Race::_base_strength"
+ }, {
+ "full_name": "test_prog::Race::base_strength"
+ }, {
+ "full_name": "test_prog::Race::base_strength="
+ }, {
+ "full_name": "test_prog::races::Race::_base_endurance"
+ }, {
+ "full_name": "test_prog::Race::base_endurance"
+ }, {
+ "full_name": "test_prog::Race::base_endurance="
+ }, {
+ "full_name": "test_prog::races::Race::_base_intelligence"
+ }, {
+ "full_name": "test_prog::Race::base_intelligence"
+ }, {
+ "full_name": "test_prog::Race::base_intelligence="
+ }],
+ "intro": {
+ "full_name": "test_prog$Race"
+ },
+ "mpackage": {
+ "full_name": "test_prog"
+ },
+ "intro_mpropdefs": [{
+ "full_name": "test_prog$Race$_base_strength"
+ }, {
+ "full_name": "test_prog$Race$base_strength"
+ }, {
+ "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_endurance="
+ }, {
+ "full_name": "test_prog$Race$_base_intelligence"
+ }, {
+ "full_name": "test_prog$Race$base_intelligence"
+ }, {
+ "full_name": "test_prog$Race$base_intelligence="
+ }],
+ "redef_mpropdefs": [{
+ "full_name": "test_prog$Race$Object::init"
+ }]
+}
+{
+ "name": "Human",
+ "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",
+ "modifiers": ["public", "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"
+ }]
+}
+{
+ "name": "Dwarf",
+ "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",
+ "modifiers": ["public", "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"
+ }]
+}
+{
+ "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": ["public", "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": ["public", "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$_race"
+ }, {
+ "full_name": "test_prog$Character$race"
+ }, {
+ "full_name": "test_prog$Character$race="
+ }, {
+ "full_name": "test_prog$Character$_career"
+ }, {
+ "full_name": "test_prog$Character$career"
+ }, {
+ "full_name": "test_prog$Character$career="
+ }, {
+ "full_name": "test_prog$Character$quit"
+ }, {
+ "full_name": "test_prog$Character$_name"
+ }, {
+ "full_name": "test_prog$Character$name"
+ }, {
+ "full_name": "test_prog$Character$name="
+ }, {
+ "full_name": "test_prog$Character$_age"
+ }, {
+ "full_name": "test_prog$Character$age"
+ }, {
+ "full_name": "test_prog$Character$age="
+ }, {
+ "full_name": "test_prog$Character$_sex"
+ }, {
+ "full_name": "test_prog$Character$sex"
+ }, {
+ "full_name": "test_prog$Character$sex="
+ }, {
+ "full_name": "test_prog$Character$total_strengh"
+ }, {
+ "full_name": "test_prog$Character$total_endurance"
+ }, {
+ "full_name": "test_prog$Character$total_intelligence"
+ }, {
+ "full_name": "test_prog$Character$max_health"
+ }, {
+ "full_name": "test_prog$Character$_health"
+ }, {
+ "full_name": "test_prog$Character$health"
+ }, {
+ "full_name": "test_prog$Character$health="
+ }, {
+ "full_name": "test_prog$Character$Object::init"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::character::Character::_race"
+ }, {
+ "full_name": "test_prog::Character::race"
+ }, {
+ "full_name": "test_prog::Character::race="
+ }, {
+ "full_name": "test_prog::character::Character::_career"
+ }, {
+ "full_name": "test_prog::Character::career"
+ }, {
+ "full_name": "test_prog::Character::career="
+ }, {
+ "full_name": "test_prog::Character::quit"
+ }, {
+ "full_name": "test_prog::character::Character::_name"
+ }, {
+ "full_name": "test_prog::Character::name"
+ }, {
+ "full_name": "test_prog::Character::name="
+ }, {
+ "full_name": "test_prog::character::Character::_age"
+ }, {
+ "full_name": "test_prog::Character::age"
+ }, {
+ "full_name": "test_prog::Character::age="
+ }, {
+ "full_name": "test_prog::character::Character::_sex"
+ }, {
+ "full_name": "test_prog::Character::sex"
+ }, {
+ "full_name": "test_prog::Character::sex="
+ }, {
+ "full_name": "test_prog::Character::total_strengh"
+ }, {
+ "full_name": "test_prog::Character::total_endurance"
+ }, {
+ "full_name": "test_prog::Character::total_intelligence"
+ }, {
+ "full_name": "test_prog::Character::max_health"
+ }, {
+ "full_name": "test_prog::character::Character::_health"
+ }, {
+ "full_name": "test_prog::Character::health"
+ }, {
+ "full_name": "test_prog::Character::health="
+ }],
+ "intro": {
+ "full_name": "test_prog$Character"
+ },
+ "mpackage": {
+ "full_name": "test_prog"
+ },
+ "intro_mpropdefs": [{
+ "full_name": "test_prog$Character$_race"
+ }, {
+ "full_name": "test_prog$Character$race"
+ }, {
+ "full_name": "test_prog$Character$race="
+ }, {
+ "full_name": "test_prog$Character$_career"
+ }, {
+ "full_name": "test_prog$Character$career"
+ }, {
+ "full_name": "test_prog$Character$career="
+ }, {
+ "full_name": "test_prog$Character$quit"
+ }, {
+ "full_name": "test_prog$Character$_name"
+ }, {
+ "full_name": "test_prog$Character$name"
+ }, {
+ "full_name": "test_prog$Character$name="
+ }, {
+ "full_name": "test_prog$Character$_age"
+ }, {
+ "full_name": "test_prog$Character$age"
+ }, {
+ "full_name": "test_prog$Character$age="
+ }, {
+ "full_name": "test_prog$Character$_sex"
+ }, {
+ "full_name": "test_prog$Character$sex"
+ }, {
+ "full_name": "test_prog$Character$sex="
+ }, {
+ "full_name": "test_prog$Character$total_strengh"
+ }, {
+ "full_name": "test_prog$Character$total_endurance"
+ }, {
+ "full_name": "test_prog$Character$total_intelligence"
+ }, {
+ "full_name": "test_prog$Character$max_health"
+ }, {
+ "full_name": "test_prog$Character$_health"
+ }, {
+ "full_name": "test_prog$Character$health"
+ }, {
+ "full_name": "test_prog$Character$health="
+ }],
+ "redef_mpropdefs": [{
+ "full_name": "test_prog$Character$Object::init"
+ }]
+}
+{
+ "name": "Character",
+ "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"
+ }]
+}
+{
+ "name": "Weapon",
+ "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",
+ "modifiers": ["public", "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": []
+}
+{
+ "name": "Combatable",
+ "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",
+ "modifiers": ["public", "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$hit_points"
+ }, {
+ "full_name": "test_prog$Combatable$attack"
+ }, {
+ "full_name": "test_prog$Combatable$direct_attack"
+ }, {
+ "full_name": "test_prog$Combatable$defend"
+ }, {
+ "full_name": "test_prog$Combatable$is_dead"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::Combatable::hit_points"
+ }, {
+ "full_name": "test_prog::Combatable::attack"
+ }, {
+ "full_name": "test_prog::Combatable::direct_attack"
+ }, {
+ "full_name": "test_prog::Combatable::defend"
+ }, {
+ "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$hit_points"
+ }, {
+ "full_name": "test_prog$Combatable$attack"
+ }, {
+ "full_name": "test_prog$Combatable$direct_attack"
+ }, {
+ "full_name": "test_prog$Combatable$defend"
+ }, {
+ "full_name": "test_prog$Combatable$is_dead"
+ }],
+ "redef_mpropdefs": []
+}
+{
+ "name": "Game",
+ "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",
+ "modifiers": ["public", "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$player_characters"
+ }, {
+ "full_name": "test_prog$Game$computer_characters"
+ }, {
+ "full_name": "test_prog$Game$start_game"
+ }, {
+ "full_name": "test_prog$Game$pause_game"
+ }, {
+ "full_name": "test_prog$Game$stop_game"
+ }],
+ "intro_mproperties": [{
+ "full_name": "test_prog::Game::player_characters"
+ }, {
+ "full_name": "test_prog::Game::computer_characters"
+ }, {
+ "full_name": "test_prog::Game::start_game"
+ }, {
+ "full_name": "test_prog::Game::pause_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$player_characters"
+ }, {
+ "full_name": "test_prog$Game$computer_characters"
+ }, {
+ "full_name": "test_prog$Game$start_game"
+ }, {
+ "full_name": "test_prog$Game$pause_game"
+ }, {
+ "full_name": "test_prog$Game$stop_game"
+ }],
+ "redef_mpropdefs": []
+}
+{
+ "name": "Starter",
+ "class_name": "MClassDef",
+ "full_name": "test_prog$Starter",
+ "mdoc": null,
+ "visibility": "public",
+ "modifiers": ["public", "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": []
+}
+{
+ "name": "Sys",
+ "class_name": "MClassDef",
+ "full_name": "test_prog$Sys",
+ "mdoc": null,
+ "visibility": "public",
+ "modifiers": ["public", "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": []
+}