tests: fix tests for model json
[nit.git] / src / model / test_model_json.sav / test_classes_to_full_json.res
1 {
2         "name": "Object",
3         "class_name": "MClass",
4         "full_name": "test_prog::Object",
5         "mdoc": {
6                 "content": "Root of everything.",
7                 "location": {
8                         "column_end": 0,
9                         "column_start": 1,
10                         "line_end": 21,
11                         "line_start": 20,
12                         "file": "test_location"
13                 }
14         },
15         "visibility": "public",
16         "modifiers": ["interface"],
17         "location": {
18                 "column_end": 3,
19                 "column_start": 1,
20                 "line_end": 30,
21                 "line_start": 20,
22                 "file": "test_location"
23         },
24         "mparameters": [],
25         "intro": {
26                 "full_name": "test_prog$Object"
27         },
28         "intro_mmodule": {
29                 "full_name": "test_prog::platform"
30         },
31         "mpackage": {
32                 "full_name": "test_prog"
33         },
34         "mclassdefs": [{
35                 "full_name": "test_prog$Object"
36         }],
37         "all_mproperties": [{
38                 "full_name": "test_prog::Object::!="
39         }, {
40                 "full_name": "test_prog::Object::=="
41         }, {
42                 "full_name": "test_prog::Object::OTHER"
43         }, {
44                 "full_name": "test_prog::Object::init"
45         }],
46         "intro_mproperties": [{
47                 "full_name": "test_prog::Object::!="
48         }, {
49                 "full_name": "test_prog::Object::=="
50         }, {
51                 "full_name": "test_prog::Object::OTHER"
52         }, {
53                 "full_name": "test_prog::Object::init"
54         }],
55         "redef_mproperties": [],
56         "parents": []
57 }
58 {
59         "name": "Int",
60         "class_name": "MClass",
61         "full_name": "test_prog::Int",
62         "mdoc": {
63                 "content": "Some services about Integers.",
64                 "location": {
65                         "column_end": 0,
66                         "column_start": 1,
67                         "line_end": 33,
68                         "line_start": 32,
69                         "file": "test_location"
70                 }
71         },
72         "visibility": "public",
73         "modifiers": ["class"],
74         "location": {
75                 "column_end": 3,
76                 "column_start": 1,
77                 "line_end": 41,
78                 "line_start": 32,
79                 "file": "test_location"
80         },
81         "mparameters": [],
82         "intro": {
83                 "full_name": "test_prog$Int"
84         },
85         "intro_mmodule": {
86                 "full_name": "test_prog::platform"
87         },
88         "mpackage": {
89                 "full_name": "test_prog"
90         },
91         "mclassdefs": [{
92                 "full_name": "test_prog$Int"
93         }],
94         "all_mproperties": [{
95                 "full_name": "test_prog::Object::!="
96         }, {
97                 "full_name": "test_prog::Int::*"
98         }, {
99                 "full_name": "test_prog::Int::+"
100         }, {
101                 "full_name": "test_prog::Int::-"
102         }, {
103                 "full_name": "test_prog::Int::/"
104         }, {
105                 "full_name": "test_prog::Object::=="
106         }, {
107                 "full_name": "test_prog::Int::>"
108         }, {
109                 "full_name": "test_prog::Object::OTHER"
110         }, {
111                 "full_name": "test_prog::Object::init"
112         }, {
113                 "full_name": "test_prog::Int::to_f"
114         }, {
115                 "full_name": "test_prog::Int::unary -"
116         }],
117         "intro_mproperties": [{
118                 "full_name": "test_prog::Int::*"
119         }, {
120                 "full_name": "test_prog::Int::+"
121         }, {
122                 "full_name": "test_prog::Int::-"
123         }, {
124                 "full_name": "test_prog::Int::/"
125         }, {
126                 "full_name": "test_prog::Int::>"
127         }, {
128                 "full_name": "test_prog::Int::to_f"
129         }, {
130                 "full_name": "test_prog::Int::unary -"
131         }],
132         "redef_mproperties": [],
133         "parents": [{
134                 "full_name": "test_prog::Object"
135         }]
136 }
137 {
138         "name": "Float",
139         "class_name": "MClass",
140         "full_name": "test_prog::Float",
141         "mdoc": {
142                 "content": "Some services about Floats.",
143                 "location": {
144                         "column_end": 0,
145                         "column_start": 1,
146                         "line_end": 44,
147                         "line_start": 43,
148                         "file": "test_location"
149                 }
150         },
151         "visibility": "public",
152         "modifiers": ["class"],
153         "location": {
154                 "column_end": 3,
155                 "column_start": 1,
156                 "line_end": 50,
157                 "line_start": 43,
158                 "file": "test_location"
159         },
160         "mparameters": [],
161         "intro": {
162                 "full_name": "test_prog$Float"
163         },
164         "intro_mmodule": {
165                 "full_name": "test_prog::platform"
166         },
167         "mpackage": {
168                 "full_name": "test_prog"
169         },
170         "mclassdefs": [{
171                 "full_name": "test_prog$Float"
172         }],
173         "all_mproperties": [{
174                 "full_name": "test_prog::Object::!="
175         }, {
176                 "full_name": "test_prog::Float::*"
177         }, {
178                 "full_name": "test_prog::Float::+"
179         }, {
180                 "full_name": "test_prog::Float::-"
181         }, {
182                 "full_name": "test_prog::Float::/"
183         }, {
184                 "full_name": "test_prog::Object::=="
185         }, {
186                 "full_name": "test_prog::Float::>"
187         }, {
188                 "full_name": "test_prog::Object::OTHER"
189         }, {
190                 "full_name": "test_prog::Object::init"
191         }],
192         "intro_mproperties": [{
193                 "full_name": "test_prog::Float::*"
194         }, {
195                 "full_name": "test_prog::Float::+"
196         }, {
197                 "full_name": "test_prog::Float::-"
198         }, {
199                 "full_name": "test_prog::Float::/"
200         }, {
201                 "full_name": "test_prog::Float::>"
202         }],
203         "redef_mproperties": [],
204         "parents": [{
205                 "full_name": "test_prog::Object"
206         }]
207 }
208 {
209         "name": "Bool",
210         "class_name": "MClass",
211         "full_name": "test_prog::Bool",
212         "mdoc": {
213                 "content": "Booleans, `true` or `false`.",
214                 "location": {
215                         "column_end": 0,
216                         "column_start": 1,
217                         "line_end": 53,
218                         "line_start": 52,
219                         "file": "test_location"
220                 }
221         },
222         "visibility": "public",
223         "modifiers": ["class"],
224         "location": {
225                 "column_end": 14,
226                 "column_start": 1,
227                 "line_end": 53,
228                 "line_start": 52,
229                 "file": "test_location"
230         },
231         "mparameters": [],
232         "intro": {
233                 "full_name": "test_prog$Bool"
234         },
235         "intro_mmodule": {
236                 "full_name": "test_prog::platform"
237         },
238         "mpackage": {
239                 "full_name": "test_prog"
240         },
241         "mclassdefs": [{
242                 "full_name": "test_prog$Bool"
243         }],
244         "all_mproperties": [{
245                 "full_name": "test_prog::Object::!="
246         }, {
247                 "full_name": "test_prog::Object::=="
248         }, {
249                 "full_name": "test_prog::Object::OTHER"
250         }, {
251                 "full_name": "test_prog::Object::init"
252         }],
253         "intro_mproperties": [],
254         "redef_mproperties": [],
255         "parents": [{
256                 "full_name": "test_prog::Object"
257         }]
258 }
259 {
260         "name": "String",
261         "class_name": "MClass",
262         "full_name": "test_prog::String",
263         "mdoc": {
264                 "content": "Strings (there is no chars...).",
265                 "location": {
266                         "column_end": 0,
267                         "column_start": 1,
268                         "line_end": 56,
269                         "line_start": 55,
270                         "file": "test_location"
271                 }
272         },
273         "visibility": "public",
274         "modifiers": ["class"],
275         "location": {
276                 "column_end": 16,
277                 "column_start": 1,
278                 "line_end": 56,
279                 "line_start": 55,
280                 "file": "test_location"
281         },
282         "mparameters": [],
283         "intro": {
284                 "full_name": "test_prog$String"
285         },
286         "intro_mmodule": {
287                 "full_name": "test_prog::platform"
288         },
289         "mpackage": {
290                 "full_name": "test_prog"
291         },
292         "mclassdefs": [{
293                 "full_name": "test_prog$String"
294         }],
295         "all_mproperties": [{
296                 "full_name": "test_prog::Object::!="
297         }, {
298                 "full_name": "test_prog::Object::=="
299         }, {
300                 "full_name": "test_prog::Object::OTHER"
301         }, {
302                 "full_name": "test_prog::Object::init"
303         }],
304         "intro_mproperties": [],
305         "redef_mproperties": [],
306         "parents": [{
307                 "full_name": "test_prog::Object"
308         }]
309 }
310 {
311         "name": "List",
312         "class_name": "MClass",
313         "full_name": "test_prog::List",
314         "mdoc": {
315                 "content": "List of things.",
316                 "location": {
317                         "column_end": 0,
318                         "column_start": 1,
319                         "line_end": 59,
320                         "line_start": 58,
321                         "file": "test_location"
322                 }
323         },
324         "visibility": "public",
325         "modifiers": ["class"],
326         "location": {
327                 "column_end": 17,
328                 "column_start": 1,
329                 "line_end": 59,
330                 "line_start": 58,
331                 "file": "test_location"
332         },
333         "mparameters": [{
334                 "name": "E",
335                 "rank": 0,
336                 "mtype": {
337                         "full_name": "nullable test_prog::Object"
338                 }
339         }],
340         "intro": {
341                 "full_name": "test_prog$List"
342         },
343         "intro_mmodule": {
344                 "full_name": "test_prog::platform"
345         },
346         "mpackage": {
347                 "full_name": "test_prog"
348         },
349         "mclassdefs": [{
350                 "full_name": "test_prog$List"
351         }],
352         "all_mproperties": [{
353                 "full_name": "test_prog::Object::!="
354         }, {
355                 "full_name": "test_prog::Object::=="
356         }, {
357                 "full_name": "test_prog::Object::OTHER"
358         }, {
359                 "full_name": "test_prog::Object::init"
360         }],
361         "intro_mproperties": [],
362         "redef_mproperties": [],
363         "parents": [{
364                 "full_name": "test_prog::Object"
365         }]
366 }
367 {
368         "name": "Career",
369         "class_name": "MClass",
370         "full_name": "test_prog::Career",
371         "mdoc": {
372                 "content": "A `Career` gives a characteristic bonus or malus to the character.",
373                 "location": {
374                         "column_end": 0,
375                         "column_start": 1,
376                         "line_end": 30,
377                         "line_start": 29,
378                         "file": "test_location"
379                 }
380         },
381         "visibility": "public",
382         "modifiers": ["abstract class"],
383         "location": {
384                 "column_end": 3,
385                 "column_start": 1,
386                 "line_end": 36,
387                 "line_start": 29,
388                 "file": "test_location"
389         },
390         "mparameters": [],
391         "intro": {
392                 "full_name": "test_prog$Career"
393         },
394         "intro_mmodule": {
395                 "full_name": "test_prog::careers"
396         },
397         "mpackage": {
398                 "full_name": "test_prog"
399         },
400         "mclassdefs": [{
401                 "full_name": "test_prog$Career"
402         }],
403         "all_mproperties": [{
404                 "full_name": "test_prog::Object::!="
405         }, {
406                 "full_name": "test_prog::Object::=="
407         }, {
408                 "full_name": "test_prog::Object::OTHER"
409         }, {
410                 "full_name": "test_prog::careers::Career::_endurance_bonus"
411         }, {
412                 "full_name": "test_prog::careers::Career::_intelligence_bonus"
413         }, {
414                 "full_name": "test_prog::careers::Career::_strength_bonus"
415         }, {
416                 "full_name": "test_prog::Career::endurance_bonus"
417         }, {
418                 "full_name": "test_prog::Career::endurance_bonus="
419         }, {
420                 "full_name": "test_prog::Object::init"
421         }, {
422                 "full_name": "test_prog::Career::intelligence_bonus"
423         }, {
424                 "full_name": "test_prog::Career::intelligence_bonus="
425         }, {
426                 "full_name": "test_prog::Career::strength_bonus"
427         }, {
428                 "full_name": "test_prog::Career::strength_bonus="
429         }],
430         "intro_mproperties": [{
431                 "full_name": "test_prog::careers::Career::_endurance_bonus"
432         }, {
433                 "full_name": "test_prog::careers::Career::_intelligence_bonus"
434         }, {
435                 "full_name": "test_prog::careers::Career::_strength_bonus"
436         }, {
437                 "full_name": "test_prog::Career::endurance_bonus"
438         }, {
439                 "full_name": "test_prog::Career::endurance_bonus="
440         }, {
441                 "full_name": "test_prog::Career::intelligence_bonus"
442         }, {
443                 "full_name": "test_prog::Career::intelligence_bonus="
444         }, {
445                 "full_name": "test_prog::Career::strength_bonus"
446         }, {
447                 "full_name": "test_prog::Career::strength_bonus="
448         }],
449         "redef_mproperties": [{
450                 "full_name": "test_prog::Object::init"
451         }],
452         "parents": [{
453                 "full_name": "test_prog::Object"
454         }]
455 }
456 {
457         "name": "Warrior",
458         "class_name": "MClass",
459         "full_name": "test_prog::Warrior",
460         "mdoc": {
461                 "content": "Warriors are good for fighting.",
462                 "location": {
463                         "column_end": 0,
464                         "column_start": 1,
465                         "line_end": 39,
466                         "line_start": 38,
467                         "file": "test_location"
468                 }
469         },
470         "visibility": "public",
471         "modifiers": ["class"],
472         "location": {
473                 "column_end": 3,
474                 "column_start": 1,
475                 "line_end": 47,
476                 "line_start": 38,
477                 "file": "test_location"
478         },
479         "mparameters": [],
480         "intro": {
481                 "full_name": "test_prog$Warrior"
482         },
483         "intro_mmodule": {
484                 "full_name": "test_prog::careers"
485         },
486         "mpackage": {
487                 "full_name": "test_prog"
488         },
489         "mclassdefs": [{
490                 "full_name": "test_prog$Warrior"
491         }],
492         "all_mproperties": [{
493                 "full_name": "test_prog::Object::!="
494         }, {
495                 "full_name": "test_prog::Object::=="
496         }, {
497                 "full_name": "test_prog::Object::OTHER"
498         }, {
499                 "full_name": "test_prog::careers::Career::_endurance_bonus"
500         }, {
501                 "full_name": "test_prog::careers::Career::_intelligence_bonus"
502         }, {
503                 "full_name": "test_prog::careers::Career::_strength_bonus"
504         }, {
505                 "full_name": "test_prog::Career::endurance_bonus"
506         }, {
507                 "full_name": "test_prog::Career::endurance_bonus="
508         }, {
509                 "full_name": "test_prog::Object::init"
510         }, {
511                 "full_name": "test_prog::Career::intelligence_bonus"
512         }, {
513                 "full_name": "test_prog::Career::intelligence_bonus="
514         }, {
515                 "full_name": "test_prog::Career::strength_bonus"
516         }, {
517                 "full_name": "test_prog::Career::strength_bonus="
518         }],
519         "intro_mproperties": [],
520         "redef_mproperties": [{
521                 "full_name": "test_prog::Object::init"
522         }],
523         "parents": [{
524                 "full_name": "test_prog::Career"
525         }]
526 }
527 {
528         "name": "Magician",
529         "class_name": "MClass",
530         "full_name": "test_prog::Magician",
531         "mdoc": {
532                 "content": "Magicians know magic and how to use it.",
533                 "location": {
534                         "column_end": 0,
535                         "column_start": 1,
536                         "line_end": 50,
537                         "line_start": 49,
538                         "file": "test_location"
539                 }
540         },
541         "visibility": "public",
542         "modifiers": ["class"],
543         "location": {
544                 "column_end": 3,
545                 "column_start": 1,
546                 "line_end": 58,
547                 "line_start": 49,
548                 "file": "test_location"
549         },
550         "mparameters": [],
551         "intro": {
552                 "full_name": "test_prog$Magician"
553         },
554         "intro_mmodule": {
555                 "full_name": "test_prog::careers"
556         },
557         "mpackage": {
558                 "full_name": "test_prog"
559         },
560         "mclassdefs": [{
561                 "full_name": "test_prog$Magician"
562         }],
563         "all_mproperties": [{
564                 "full_name": "test_prog::Object::!="
565         }, {
566                 "full_name": "test_prog::Object::=="
567         }, {
568                 "full_name": "test_prog::Object::OTHER"
569         }, {
570                 "full_name": "test_prog::careers::Career::_endurance_bonus"
571         }, {
572                 "full_name": "test_prog::careers::Career::_intelligence_bonus"
573         }, {
574                 "full_name": "test_prog::careers::Career::_strength_bonus"
575         }, {
576                 "full_name": "test_prog::Career::endurance_bonus"
577         }, {
578                 "full_name": "test_prog::Career::endurance_bonus="
579         }, {
580                 "full_name": "test_prog::Object::init"
581         }, {
582                 "full_name": "test_prog::Career::intelligence_bonus"
583         }, {
584                 "full_name": "test_prog::Career::intelligence_bonus="
585         }, {
586                 "full_name": "test_prog::Career::strength_bonus"
587         }, {
588                 "full_name": "test_prog::Career::strength_bonus="
589         }],
590         "intro_mproperties": [],
591         "redef_mproperties": [{
592                 "full_name": "test_prog::Object::init"
593         }],
594         "parents": [{
595                 "full_name": "test_prog::Career"
596         }]
597 }
598 {
599         "name": "Alcoholic",
600         "class_name": "MClass",
601         "full_name": "test_prog::Alcoholic",
602         "mdoc": {
603                 "content": "Alcoholics are good to nothing escept taking punches.",
604                 "location": {
605                         "column_end": 0,
606                         "column_start": 1,
607                         "line_end": 61,
608                         "line_start": 60,
609                         "file": "test_location"
610                 }
611         },
612         "visibility": "public",
613         "modifiers": ["class"],
614         "location": {
615                 "column_end": 3,
616                 "column_start": 1,
617                 "line_end": 69,
618                 "line_start": 60,
619                 "file": "test_location"
620         },
621         "mparameters": [],
622         "intro": {
623                 "full_name": "test_prog$Alcoholic"
624         },
625         "intro_mmodule": {
626                 "full_name": "test_prog::careers"
627         },
628         "mpackage": {
629                 "full_name": "test_prog"
630         },
631         "mclassdefs": [{
632                 "full_name": "test_prog$Alcoholic"
633         }],
634         "all_mproperties": [{
635                 "full_name": "test_prog::Object::!="
636         }, {
637                 "full_name": "test_prog::Object::=="
638         }, {
639                 "full_name": "test_prog::Object::OTHER"
640         }, {
641                 "full_name": "test_prog::careers::Career::_endurance_bonus"
642         }, {
643                 "full_name": "test_prog::careers::Career::_intelligence_bonus"
644         }, {
645                 "full_name": "test_prog::careers::Career::_strength_bonus"
646         }, {
647                 "full_name": "test_prog::Career::endurance_bonus"
648         }, {
649                 "full_name": "test_prog::Career::endurance_bonus="
650         }, {
651                 "full_name": "test_prog::Object::init"
652         }, {
653                 "full_name": "test_prog::Career::intelligence_bonus"
654         }, {
655                 "full_name": "test_prog::Career::intelligence_bonus="
656         }, {
657                 "full_name": "test_prog::Career::strength_bonus"
658         }, {
659                 "full_name": "test_prog::Career::strength_bonus="
660         }],
661         "intro_mproperties": [],
662         "redef_mproperties": [{
663                 "full_name": "test_prog::Object::init"
664         }],
665         "parents": [{
666                 "full_name": "test_prog::Career"
667         }]
668 }
669 {
670         "name": "Race",
671         "class_name": "MClass",
672         "full_name": "test_prog::Race",
673         "mdoc": {
674                 "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.",
675                 "location": {
676                         "column_end": 0,
677                         "column_start": 1,
678                         "line_end": 33,
679                         "line_start": 28,
680                         "file": "test_location"
681                 }
682         },
683         "visibility": "public",
684         "modifiers": ["abstract class"],
685         "location": {
686                 "column_end": 3,
687                 "column_start": 1,
688                 "line_end": 45,
689                 "line_start": 28,
690                 "file": "test_location"
691         },
692         "mparameters": [],
693         "intro": {
694                 "full_name": "test_prog$Race"
695         },
696         "intro_mmodule": {
697                 "full_name": "test_prog::races"
698         },
699         "mpackage": {
700                 "full_name": "test_prog"
701         },
702         "mclassdefs": [{
703                 "full_name": "test_prog$Race"
704         }],
705         "all_mproperties": [{
706                 "full_name": "test_prog::Object::!="
707         }, {
708                 "full_name": "test_prog::Object::=="
709         }, {
710                 "full_name": "test_prog::Object::OTHER"
711         }, {
712                 "full_name": "test_prog::races::Race::_base_endurance"
713         }, {
714                 "full_name": "test_prog::races::Race::_base_intelligence"
715         }, {
716                 "full_name": "test_prog::races::Race::_base_strength"
717         }, {
718                 "full_name": "test_prog::Race::base_endurance"
719         }, {
720                 "full_name": "test_prog::Race::base_endurance="
721         }, {
722                 "full_name": "test_prog::Race::base_intelligence"
723         }, {
724                 "full_name": "test_prog::Race::base_intelligence="
725         }, {
726                 "full_name": "test_prog::Race::base_strength"
727         }, {
728                 "full_name": "test_prog::Race::base_strength="
729         }, {
730                 "full_name": "test_prog::Object::init"
731         }],
732         "intro_mproperties": [{
733                 "full_name": "test_prog::races::Race::_base_endurance"
734         }, {
735                 "full_name": "test_prog::races::Race::_base_intelligence"
736         }, {
737                 "full_name": "test_prog::races::Race::_base_strength"
738         }, {
739                 "full_name": "test_prog::Race::base_endurance"
740         }, {
741                 "full_name": "test_prog::Race::base_endurance="
742         }, {
743                 "full_name": "test_prog::Race::base_intelligence"
744         }, {
745                 "full_name": "test_prog::Race::base_intelligence="
746         }, {
747                 "full_name": "test_prog::Race::base_strength"
748         }, {
749                 "full_name": "test_prog::Race::base_strength="
750         }],
751         "redef_mproperties": [{
752                 "full_name": "test_prog::Object::init"
753         }],
754         "parents": [{
755                 "full_name": "test_prog::Object"
756         }]
757 }
758 {
759         "name": "Human",
760         "class_name": "MClass",
761         "full_name": "test_prog::Human",
762         "mdoc": {
763                 "content": "Humans are able to do everithing.",
764                 "location": {
765                         "column_end": 0,
766                         "column_start": 1,
767                         "line_end": 48,
768                         "line_start": 47,
769                         "file": "test_location"
770                 }
771         },
772         "visibility": "public",
773         "modifiers": ["class"],
774         "location": {
775                 "column_end": 3,
776                 "column_start": 1,
777                 "line_end": 56,
778                 "line_start": 47,
779                 "file": "test_location"
780         },
781         "mparameters": [],
782         "intro": {
783                 "full_name": "test_prog$Human"
784         },
785         "intro_mmodule": {
786                 "full_name": "test_prog::races"
787         },
788         "mpackage": {
789                 "full_name": "test_prog"
790         },
791         "mclassdefs": [{
792                 "full_name": "test_prog$Human"
793         }],
794         "all_mproperties": [{
795                 "full_name": "test_prog::Object::!="
796         }, {
797                 "full_name": "test_prog::Object::=="
798         }, {
799                 "full_name": "test_prog::Object::OTHER"
800         }, {
801                 "full_name": "test_prog::races::Race::_base_endurance"
802         }, {
803                 "full_name": "test_prog::races::Race::_base_intelligence"
804         }, {
805                 "full_name": "test_prog::races::Race::_base_strength"
806         }, {
807                 "full_name": "test_prog::Race::base_endurance"
808         }, {
809                 "full_name": "test_prog::Race::base_endurance="
810         }, {
811                 "full_name": "test_prog::Race::base_intelligence"
812         }, {
813                 "full_name": "test_prog::Race::base_intelligence="
814         }, {
815                 "full_name": "test_prog::Race::base_strength"
816         }, {
817                 "full_name": "test_prog::Race::base_strength="
818         }, {
819                 "full_name": "test_prog::Object::init"
820         }],
821         "intro_mproperties": [],
822         "redef_mproperties": [{
823                 "full_name": "test_prog::Object::init"
824         }],
825         "parents": [{
826                 "full_name": "test_prog::Race"
827         }]
828 }
829 {
830         "name": "Dwarf",
831         "class_name": "MClass",
832         "full_name": "test_prog::Dwarf",
833         "mdoc": {
834                 "content": "Dwarves make strong warriors.",
835                 "location": {
836                         "column_end": 0,
837                         "column_start": 1,
838                         "line_end": 59,
839                         "line_start": 58,
840                         "file": "test_location"
841                 }
842         },
843         "visibility": "public",
844         "modifiers": ["class"],
845         "location": {
846                 "column_end": 3,
847                 "column_start": 1,
848                 "line_end": 67,
849                 "line_start": 58,
850                 "file": "test_location"
851         },
852         "mparameters": [],
853         "intro": {
854                 "full_name": "test_prog$Dwarf"
855         },
856         "intro_mmodule": {
857                 "full_name": "test_prog::races"
858         },
859         "mpackage": {
860                 "full_name": "test_prog"
861         },
862         "mclassdefs": [{
863                 "full_name": "test_prog$Dwarf"
864         }, {
865                 "full_name": "test_prog::combat$Dwarf"
866         }],
867         "all_mproperties": [{
868                 "full_name": "test_prog::Object::!="
869         }, {
870                 "full_name": "test_prog::Object::=="
871         }, {
872                 "full_name": "test_prog::Object::OTHER"
873         }, {
874                 "full_name": "test_prog::races::Race::_base_endurance"
875         }, {
876                 "full_name": "test_prog::races::Race::_base_intelligence"
877         }, {
878                 "full_name": "test_prog::races::Race::_base_strength"
879         }, {
880                 "full_name": "test_prog::Race::base_endurance"
881         }, {
882                 "full_name": "test_prog::Race::base_endurance="
883         }, {
884                 "full_name": "test_prog::Race::base_intelligence"
885         }, {
886                 "full_name": "test_prog::Race::base_intelligence="
887         }, {
888                 "full_name": "test_prog::Race::base_strength"
889         }, {
890                 "full_name": "test_prog::Race::base_strength="
891         }, {
892                 "full_name": "test_prog::Weapon::dps"
893         }, {
894                 "full_name": "test_prog::Object::init"
895         }],
896         "intro_mproperties": [],
897         "redef_mproperties": [{
898                 "full_name": "test_prog::Weapon::dps"
899         }, {
900                 "full_name": "test_prog::Object::init"
901         }],
902         "parents": [{
903                 "full_name": "test_prog::Race"
904         }, {
905                 "full_name": "test_prog::Weapon"
906         }]
907 }
908 {
909         "name": "Elf",
910         "class_name": "MClass",
911         "full_name": "test_prog::Elf",
912         "mdoc": {
913                 "content": "Elves make good magicians.",
914                 "location": {
915                         "column_end": 0,
916                         "column_start": 1,
917                         "line_end": 70,
918                         "line_start": 69,
919                         "file": "test_location"
920                 }
921         },
922         "visibility": "public",
923         "modifiers": ["class"],
924         "location": {
925                 "column_end": 3,
926                 "column_start": 1,
927                 "line_end": 78,
928                 "line_start": 69,
929                 "file": "test_location"
930         },
931         "mparameters": [],
932         "intro": {
933                 "full_name": "test_prog$Elf"
934         },
935         "intro_mmodule": {
936                 "full_name": "test_prog::races"
937         },
938         "mpackage": {
939                 "full_name": "test_prog"
940         },
941         "mclassdefs": [{
942                 "full_name": "test_prog$Elf"
943         }],
944         "all_mproperties": [{
945                 "full_name": "test_prog::Object::!="
946         }, {
947                 "full_name": "test_prog::Object::=="
948         }, {
949                 "full_name": "test_prog::Object::OTHER"
950         }, {
951                 "full_name": "test_prog::races::Race::_base_endurance"
952         }, {
953                 "full_name": "test_prog::races::Race::_base_intelligence"
954         }, {
955                 "full_name": "test_prog::races::Race::_base_strength"
956         }, {
957                 "full_name": "test_prog::Race::base_endurance"
958         }, {
959                 "full_name": "test_prog::Race::base_endurance="
960         }, {
961                 "full_name": "test_prog::Race::base_intelligence"
962         }, {
963                 "full_name": "test_prog::Race::base_intelligence="
964         }, {
965                 "full_name": "test_prog::Race::base_strength"
966         }, {
967                 "full_name": "test_prog::Race::base_strength="
968         }, {
969                 "full_name": "test_prog::Object::init"
970         }],
971         "intro_mproperties": [],
972         "redef_mproperties": [{
973                 "full_name": "test_prog::Object::init"
974         }],
975         "parents": [{
976                 "full_name": "test_prog::Race"
977         }]
978 }
979 {
980         "name": "Character",
981         "class_name": "MClass",
982         "full_name": "test_prog::Character",
983         "mdoc": {
984                 "content": "Characters can be played by both the human or the machine.",
985                 "location": {
986                         "column_end": 0,
987                         "column_start": 1,
988                         "line_end": 22,
989                         "line_start": 21,
990                         "file": "test_location"
991                 }
992         },
993         "visibility": "public",
994         "modifiers": ["class"],
995         "location": {
996                 "column_end": 3,
997                 "column_start": 1,
998                 "line_end": 68,
999                 "line_start": 21,
1000                 "file": "test_location"
1001         },
1002         "mparameters": [],
1003         "intro": {
1004                 "full_name": "test_prog$Character"
1005         },
1006         "intro_mmodule": {
1007                 "full_name": "test_prog::character"
1008         },
1009         "mpackage": {
1010                 "full_name": "test_prog"
1011         },
1012         "mclassdefs": [{
1013                 "full_name": "test_prog$Character"
1014         }, {
1015                 "full_name": "test_prog::combat$Character"
1016         }],
1017         "all_mproperties": [{
1018                 "full_name": "test_prog::Object::!="
1019         }, {
1020                 "full_name": "test_prog::Object::=="
1021         }, {
1022                 "full_name": "test_prog::Object::OTHER"
1023         }, {
1024                 "full_name": "test_prog::character::Character::_age"
1025         }, {
1026                 "full_name": "test_prog::character::Character::_career"
1027         }, {
1028                 "full_name": "test_prog::character::Character::_health"
1029         }, {
1030                 "full_name": "test_prog::character::Character::_name"
1031         }, {
1032                 "full_name": "test_prog::character::Character::_race"
1033         }, {
1034                 "full_name": "test_prog::character::Character::_sex"
1035         }, {
1036                 "full_name": "test_prog::Character::age"
1037         }, {
1038                 "full_name": "test_prog::Character::age="
1039         }, {
1040                 "full_name": "test_prog::Combatable::attack"
1041         }, {
1042                 "full_name": "test_prog::Character::career"
1043         }, {
1044                 "full_name": "test_prog::Character::career="
1045         }, {
1046                 "full_name": "test_prog::Combatable::defend"
1047         }, {
1048                 "full_name": "test_prog::Combatable::direct_attack"
1049         }, {
1050                 "full_name": "test_prog::Character::health"
1051         }, {
1052                 "full_name": "test_prog::Character::health="
1053         }, {
1054                 "full_name": "test_prog::Combatable::hit_points"
1055         }, {
1056                 "full_name": "test_prog::Object::init"
1057         }, {
1058                 "full_name": "test_prog::Combatable::is_dead"
1059         }, {
1060                 "full_name": "test_prog::Character::max_health"
1061         }, {
1062                 "full_name": "test_prog::Character::name"
1063         }, {
1064                 "full_name": "test_prog::Character::name="
1065         }, {
1066                 "full_name": "test_prog::Character::quit"
1067         }, {
1068                 "full_name": "test_prog::Character::race"
1069         }, {
1070                 "full_name": "test_prog::Character::race="
1071         }, {
1072                 "full_name": "test_prog::Character::sex"
1073         }, {
1074                 "full_name": "test_prog::Character::sex="
1075         }, {
1076                 "full_name": "test_prog::Character::total_endurance"
1077         }, {
1078                 "full_name": "test_prog::Character::total_intelligence"
1079         }, {
1080                 "full_name": "test_prog::Character::total_strengh"
1081         }],
1082         "intro_mproperties": [{
1083                 "full_name": "test_prog::character::Character::_age"
1084         }, {
1085                 "full_name": "test_prog::character::Character::_career"
1086         }, {
1087                 "full_name": "test_prog::character::Character::_health"
1088         }, {
1089                 "full_name": "test_prog::character::Character::_name"
1090         }, {
1091                 "full_name": "test_prog::character::Character::_race"
1092         }, {
1093                 "full_name": "test_prog::character::Character::_sex"
1094         }, {
1095                 "full_name": "test_prog::Character::age"
1096         }, {
1097                 "full_name": "test_prog::Character::age="
1098         }, {
1099                 "full_name": "test_prog::Character::career"
1100         }, {
1101                 "full_name": "test_prog::Character::career="
1102         }, {
1103                 "full_name": "test_prog::Character::health"
1104         }, {
1105                 "full_name": "test_prog::Character::health="
1106         }, {
1107                 "full_name": "test_prog::Character::max_health"
1108         }, {
1109                 "full_name": "test_prog::Character::name"
1110         }, {
1111                 "full_name": "test_prog::Character::name="
1112         }, {
1113                 "full_name": "test_prog::Character::quit"
1114         }, {
1115                 "full_name": "test_prog::Character::race"
1116         }, {
1117                 "full_name": "test_prog::Character::race="
1118         }, {
1119                 "full_name": "test_prog::Character::sex"
1120         }, {
1121                 "full_name": "test_prog::Character::sex="
1122         }, {
1123                 "full_name": "test_prog::Character::total_endurance"
1124         }, {
1125                 "full_name": "test_prog::Character::total_intelligence"
1126         }, {
1127                 "full_name": "test_prog::Character::total_strengh"
1128         }],
1129         "redef_mproperties": [{
1130                 "full_name": "test_prog::Combatable::hit_points"
1131         }, {
1132                 "full_name": "test_prog::Object::init"
1133         }],
1134         "parents": [{
1135                 "full_name": "test_prog::Combatable"
1136         }]
1137 }
1138 {
1139         "name": "Weapon",
1140         "class_name": "MClass",
1141         "full_name": "test_prog::Weapon",
1142         "mdoc": {
1143                 "content": "Something that can be used to attack someone and inflict damage.",
1144                 "location": {
1145                         "column_end": 0,
1146                         "column_start": 1,
1147                         "line_end": 21,
1148                         "line_start": 20,
1149                         "file": "test_location"
1150                 }
1151         },
1152         "visibility": "public",
1153         "modifiers": ["interface"],
1154         "location": {
1155                 "column_end": 3,
1156                 "column_start": 1,
1157                 "line_end": 24,
1158                 "line_start": 20,
1159                 "file": "test_location"
1160         },
1161         "mparameters": [],
1162         "intro": {
1163                 "full_name": "test_prog$Weapon"
1164         },
1165         "intro_mmodule": {
1166                 "full_name": "test_prog::combat"
1167         },
1168         "mpackage": {
1169                 "full_name": "test_prog"
1170         },
1171         "mclassdefs": [{
1172                 "full_name": "test_prog$Weapon"
1173         }],
1174         "all_mproperties": [{
1175                 "full_name": "test_prog::Object::!="
1176         }, {
1177                 "full_name": "test_prog::Object::=="
1178         }, {
1179                 "full_name": "test_prog::Object::OTHER"
1180         }, {
1181                 "full_name": "test_prog::Weapon::dps"
1182         }, {
1183                 "full_name": "test_prog::Object::init"
1184         }],
1185         "intro_mproperties": [{
1186                 "full_name": "test_prog::Weapon::dps"
1187         }],
1188         "redef_mproperties": [],
1189         "parents": [{
1190                 "full_name": "test_prog::Object"
1191         }]
1192 }
1193 {
1194         "name": "Combatable",
1195         "class_name": "MClass",
1196         "full_name": "test_prog::Combatable",
1197         "mdoc": {
1198                 "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`.",
1199                 "location": {
1200                         "column_end": 0,
1201                         "column_start": 1,
1202                         "line_end": 31,
1203                         "line_start": 26,
1204                         "file": "test_location"
1205                 }
1206         },
1207         "visibility": "public",
1208         "modifiers": ["interface"],
1209         "location": {
1210                 "column_end": 3,
1211                 "column_start": 1,
1212                 "line_end": 51,
1213                 "line_start": 26,
1214                 "file": "test_location"
1215         },
1216         "mparameters": [],
1217         "intro": {
1218                 "full_name": "test_prog$Combatable"
1219         },
1220         "intro_mmodule": {
1221                 "full_name": "test_prog::combat"
1222         },
1223         "mpackage": {
1224                 "full_name": "test_prog"
1225         },
1226         "mclassdefs": [{
1227                 "full_name": "test_prog$Combatable"
1228         }],
1229         "all_mproperties": [{
1230                 "full_name": "test_prog::Object::!="
1231         }, {
1232                 "full_name": "test_prog::Object::=="
1233         }, {
1234                 "full_name": "test_prog::Object::OTHER"
1235         }, {
1236                 "full_name": "test_prog::Combatable::attack"
1237         }, {
1238                 "full_name": "test_prog::Combatable::defend"
1239         }, {
1240                 "full_name": "test_prog::Combatable::direct_attack"
1241         }, {
1242                 "full_name": "test_prog::Combatable::hit_points"
1243         }, {
1244                 "full_name": "test_prog::Object::init"
1245         }, {
1246                 "full_name": "test_prog::Combatable::is_dead"
1247         }],
1248         "intro_mproperties": [{
1249                 "full_name": "test_prog::Combatable::attack"
1250         }, {
1251                 "full_name": "test_prog::Combatable::defend"
1252         }, {
1253                 "full_name": "test_prog::Combatable::direct_attack"
1254         }, {
1255                 "full_name": "test_prog::Combatable::hit_points"
1256         }, {
1257                 "full_name": "test_prog::Combatable::is_dead"
1258         }],
1259         "redef_mproperties": [],
1260         "parents": [{
1261                 "full_name": "test_prog::Object"
1262         }]
1263 }
1264 {
1265         "name": "Game",
1266         "class_name": "MClass",
1267         "full_name": "test_prog::Game",
1268         "mdoc": {
1269                 "content": "This is the interface you have to implement to use ure gaming platform.\n\nsee http://our.platform.com",
1270                 "location": {
1271                         "column_end": 0,
1272                         "column_start": 1,
1273                         "line_end": 23,
1274                         "line_start": 20,
1275                         "file": "test_location"
1276                 }
1277         },
1278         "visibility": "public",
1279         "modifiers": ["interface"],
1280         "location": {
1281                 "column_end": 3,
1282                 "column_start": 1,
1283                 "line_end": 45,
1284                 "line_start": 20,
1285                 "file": "test_location"
1286         },
1287         "mparameters": [],
1288         "intro": {
1289                 "full_name": "test_prog$Game"
1290         },
1291         "intro_mmodule": {
1292                 "full_name": "test_prog::game"
1293         },
1294         "mpackage": {
1295                 "full_name": "test_prog"
1296         },
1297         "mclassdefs": [{
1298                 "full_name": "test_prog$Game"
1299         }],
1300         "all_mproperties": [{
1301                 "full_name": "test_prog::Object::!="
1302         }, {
1303                 "full_name": "test_prog::Object::=="
1304         }, {
1305                 "full_name": "test_prog::Object::OTHER"
1306         }, {
1307                 "full_name": "test_prog::Game::computer_characters"
1308         }, {
1309                 "full_name": "test_prog::Object::init"
1310         }, {
1311                 "full_name": "test_prog::Game::pause_game"
1312         }, {
1313                 "full_name": "test_prog::Game::player_characters"
1314         }, {
1315                 "full_name": "test_prog::Game::start_game"
1316         }, {
1317                 "full_name": "test_prog::Game::stop_game"
1318         }],
1319         "intro_mproperties": [{
1320                 "full_name": "test_prog::Game::computer_characters"
1321         }, {
1322                 "full_name": "test_prog::Game::pause_game"
1323         }, {
1324                 "full_name": "test_prog::Game::player_characters"
1325         }, {
1326                 "full_name": "test_prog::Game::start_game"
1327         }, {
1328                 "full_name": "test_prog::Game::stop_game"
1329         }],
1330         "redef_mproperties": [],
1331         "parents": [{
1332                 "full_name": "test_prog::Object"
1333         }]
1334 }
1335 {
1336         "name": "MyGame",
1337         "class_name": "MClass",
1338         "full_name": "test_prog::MyGame",
1339         "mdoc": {
1340                 "content": "This is an example of how to implement the Game interface",
1341                 "location": {
1342                         "column_end": 0,
1343                         "column_start": 1,
1344                         "line_end": 20,
1345                         "line_start": 19,
1346                         "file": "test_location"
1347                 }
1348         },
1349         "visibility": "public",
1350         "modifiers": ["class"],
1351         "location": {
1352                 "column_end": 3,
1353                 "column_start": 1,
1354                 "line_end": 32,
1355                 "line_start": 19,
1356                 "file": "test_location"
1357         },
1358         "mparameters": [],
1359         "intro": {
1360                 "full_name": "test_prog$MyGame"
1361         },
1362         "intro_mmodule": {
1363                 "full_name": "test_prog::game_examples"
1364         },
1365         "mpackage": {
1366                 "full_name": "test_prog"
1367         },
1368         "mclassdefs": [{
1369                 "full_name": "test_prog$MyGame"
1370         }],
1371         "all_mproperties": [{
1372                 "full_name": "test_prog::game_examples::MyGame::_computer_characters"
1373         }, {
1374                 "full_name": "test_prog::game_examples::MyGame::_player_characters"
1375         }, {
1376                 "full_name": "test_prog::Game::computer_characters"
1377         }, {
1378                 "full_name": "test_prog::MyGame::computer_characters="
1379         }, {
1380                 "full_name": "test_prog::Game::pause_game"
1381         }, {
1382                 "full_name": "test_prog::Game::player_characters"
1383         }, {
1384                 "full_name": "test_prog::MyGame::player_characters="
1385         }, {
1386                 "full_name": "test_prog::Game::start_game"
1387         }, {
1388                 "full_name": "test_prog::Game::stop_game"
1389         }],
1390         "intro_mproperties": [{
1391                 "full_name": "test_prog::game_examples::MyGame::_computer_characters"
1392         }, {
1393                 "full_name": "test_prog::game_examples::MyGame::_player_characters"
1394         }, {
1395                 "full_name": "test_prog::MyGame::computer_characters="
1396         }, {
1397                 "full_name": "test_prog::MyGame::player_characters="
1398         }],
1399         "redef_mproperties": [{
1400                 "full_name": "test_prog::Game::computer_characters"
1401         }, {
1402                 "full_name": "test_prog::Game::pause_game"
1403         }, {
1404                 "full_name": "test_prog::Game::player_characters"
1405         }, {
1406                 "full_name": "test_prog::Game::start_game"
1407         }, {
1408                 "full_name": "test_prog::Game::stop_game"
1409         }],
1410         "parents": []
1411 }
1412 {
1413         "name": "Starter",
1414         "class_name": "MClass",
1415         "full_name": "test_prog::Starter",
1416         "mdoc": null,
1417         "visibility": "public",
1418         "modifiers": ["class"],
1419         "location": {
1420                 "column_end": 3,
1421                 "column_start": 1,
1422                 "line_end": 23,
1423                 "line_start": 21,
1424                 "file": "test_location"
1425         },
1426         "mparameters": [],
1427         "intro": {
1428                 "full_name": "test_prog$Starter"
1429         },
1430         "intro_mmodule": {
1431                 "full_name": "test_prog::test_prog"
1432         },
1433         "mpackage": {
1434                 "full_name": "test_prog"
1435         },
1436         "mclassdefs": [{
1437                 "full_name": "test_prog$Starter"
1438         }],
1439         "all_mproperties": [{
1440                 "full_name": "test_prog::Object::!="
1441         }, {
1442                 "full_name": "test_prog::Object::=="
1443         }, {
1444                 "full_name": "test_prog::Object::OTHER"
1445         }, {
1446                 "full_name": "test_prog::Object::init"
1447         }, {
1448                 "full_name": "test_prog::Starter::start"
1449         }],
1450         "intro_mproperties": [{
1451                 "full_name": "test_prog::Starter::start"
1452         }],
1453         "redef_mproperties": [],
1454         "parents": [{
1455                 "full_name": "test_prog::Object"
1456         }]
1457 }
1458 {
1459         "name": "Sys",
1460         "class_name": "MClass",
1461         "full_name": "test_prog::Sys",
1462         "mdoc": null,
1463         "visibility": "public",
1464         "modifiers": ["class"],
1465         "location": {
1466                 "column_end": 13,
1467                 "column_start": 1,
1468                 "line_end": 26,
1469                 "line_start": 25,
1470                 "file": "test_location"
1471         },
1472         "mparameters": [],
1473         "intro": {
1474                 "full_name": "test_prog$Sys"
1475         },
1476         "intro_mmodule": {
1477                 "full_name": "test_prog::test_prog"
1478         },
1479         "mpackage": {
1480                 "full_name": "test_prog"
1481         },
1482         "mclassdefs": [{
1483                 "full_name": "test_prog$Sys"
1484         }],
1485         "all_mproperties": [{
1486                 "full_name": "test_prog::Object::!="
1487         }, {
1488                 "full_name": "test_prog::Object::=="
1489         }, {
1490                 "full_name": "test_prog::Object::OTHER"
1491         }, {
1492                 "full_name": "test_prog::Object::init"
1493         }, {
1494                 "full_name": "test_prog::Sys::main"
1495         }],
1496         "intro_mproperties": [{
1497                 "full_name": "test_prog::Sys::main"
1498         }],
1499         "redef_mproperties": [],
1500         "parents": [{
1501                 "full_name": "test_prog::Object"
1502         }]
1503 }