{ "name": "OTHER", "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", "modifiers": ["public", "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": "==", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "other", "mtype": { "full_name": "test_prog::Object::OTHER" } }], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "name": "!=", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "other", "mtype": { "full_name": "test_prog::Object::OTHER" } }], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "name": "init", "class_name": "MMethodDef", "full_name": "test_prog$Object$init", "mdoc": null, "visibility": "public", "modifiers": ["public", "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "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 } } { "name": "unary -", "class_name": "MMethodDef", "full_name": "test_prog$Int$unary -", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "+", "class_name": "MMethodDef", "full_name": "test_prog$Int$+", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "i", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "-", "class_name": "MMethodDef", "full_name": "test_prog$Int$-", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "i", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "*", "class_name": "MMethodDef", "full_name": "test_prog$Int$*", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "i", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "/", "class_name": "MMethodDef", "full_name": "test_prog$Int$/", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "i", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": ">", "class_name": "MMethodDef", "full_name": "test_prog$Int$>", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "i", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "name": "to_f", "class_name": "MMethodDef", "full_name": "test_prog$Int$to_f", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "+", "class_name": "MMethodDef", "full_name": "test_prog$Float$+", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "f", "mtype": { "full_name": "test_prog::Float" } }], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "-", "class_name": "MMethodDef", "full_name": "test_prog$Float$-", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "f", "mtype": { "full_name": "test_prog::Float" } }], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "*", "class_name": "MMethodDef", "full_name": "test_prog$Float$*", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "f", "mtype": { "full_name": "test_prog::Float" } }], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "/", "class_name": "MMethodDef", "full_name": "test_prog$Float$/", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "f", "mtype": { "full_name": "test_prog::Float" } }], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": ">", "class_name": "MMethodDef", "full_name": "test_prog$Float$>", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "f", "mtype": { "full_name": "test_prog::Float" } }], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "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": "strength_bonus", "class_name": "MMethodDef", "full_name": "test_prog$Career$strength_bonus", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "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": [{ "is_vararg": false, "name": "strength_bonus", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "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": "endurance_bonus", "class_name": "MMethodDef", "full_name": "test_prog$Career$endurance_bonus", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "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": [{ "is_vararg": false, "name": "endurance_bonus", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "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": "intelligence_bonus", "class_name": "MMethodDef", "full_name": "test_prog$Career$intelligence_bonus", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "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": [{ "is_vararg": false, "name": "intelligence_bonus", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "_base_strength", "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", "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": "base_strength", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "base_strength=", "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", "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": [{ "is_vararg": false, "name": "base_strength", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "_base_endurance", "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", "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": "base_endurance", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "base_endurance=", "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", "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": [{ "is_vararg": false, "name": "base_endurance", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "_base_intelligence", "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", "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": "base_intelligence", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "base_intelligence=", "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", "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": [{ "is_vararg": false, "name": "base_intelligence", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "_race", "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", "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", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Race" }, "vararg_rank": -1 } } { "name": "race=", "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", "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": [{ "is_vararg": false, "name": "race", "mtype": { "full_name": "test_prog::Race" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "_career", "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", "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": "career", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "nullable test_prog::Career" }, "vararg_rank": -1 } } { "name": "career=", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "career", "mtype": { "full_name": "nullable test_prog::Career" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "quit", "class_name": "MMethodDef", "full_name": "test_prog$Character$quit", "mdoc": null, "visibility": "public", "modifiers": ["public", "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 } } { "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": "name", "class_name": "MMethodDef", "full_name": "test_prog$Character$name", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::String" }, "vararg_rank": -1 } } { "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": [{ "is_vararg": false, "name": "name", "mtype": { "full_name": "test_prog::String" } }], "return_mtype": null, "vararg_rank": -1 } } { "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": "age", "class_name": "MMethodDef", "full_name": "test_prog$Character$age", "mdoc": null, "visibility": "public", "modifiers": ["public", "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" }, "msignature": { "arity": 1, "mparams": [{ "is_vararg": false, "name": "age", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "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": "sex", "class_name": "MMethodDef", "full_name": "test_prog$Character$sex", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "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": [{ "is_vararg": false, "name": "sex", "mtype": { "full_name": "test_prog::Bool" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "total_strengh", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "total_endurance", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "total_intelligence", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "max_health", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "_health", "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", "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": "health", "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": ["public", "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": 0, "mparams": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "health=", "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", "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": [{ "is_vararg": false, "name": "health", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": null, "vararg_rank": -1 } } { "name": "dps", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "dps", "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", "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": [], "return_mtype": { "full_name": "test_prog::Float" }, "vararg_rank": -1 } } { "name": "hit_points", "class_name": "MMethodDef", "full_name": "test_prog$Combatable$hit_points", "mdoc": null, "visibility": "public", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "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", "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": [], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "attack", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "target", "mtype": { "full_name": "test_prog::Combatable" } }, { "is_vararg": false, "name": "weapon", "mtype": { "full_name": "test_prog::Weapon" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "direct_attack", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "target", "mtype": { "full_name": "test_prog::Combatable" } }, { "is_vararg": false, "name": "weapon", "mtype": { "full_name": "test_prog::Weapon" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "defend", "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", "modifiers": ["public", "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": [{ "is_vararg": false, "name": "hit", "mtype": { "full_name": "test_prog::Int" } }], "return_mtype": { "full_name": "test_prog::Int" }, "vararg_rank": -1 } } { "name": "is_dead", "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": ["public", "fun"], "location": { "column_end": 43, "column_start": 2, "line_end": 50, "line_start": 49, "file": "test_location" }, "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": [], "return_mtype": { "full_name": "test_prog::Bool" }, "vararg_rank": -1 } } { "name": "player_characters", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::List[test_prog::Character]" }, "vararg_rank": -1 } } { "name": "computer_characters", "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", "modifiers": ["public", "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": [], "return_mtype": { "full_name": "test_prog::List[test_prog::Character]" }, "vararg_rank": -1 } } { "name": "start_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", "modifiers": ["public", "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 } } { "name": "pause_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", "modifiers": ["public", "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 } } { "name": "stop_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", "modifiers": ["public", "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 } } { "name": "start", "class_name": "MMethodDef", "full_name": "test_prog$Starter$start", "mdoc": null, "visibility": "public", "modifiers": ["public", "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 } } { "name": "main", "class_name": "MMethodDef", "full_name": "test_prog$Sys$main", "mdoc": null, "visibility": "public", "modifiers": ["public", "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 } }