3 ## All nodes of the AST
10 <=1: sub-population=16 (30.76%); cumulated value=16 (5.26%)
11 <=2: sub-population=5 (9.61%); cumulated value=10 (3.28%)
12 <=4: sub-population=9 (17.30%); cumulated value=28 (9.21%)
13 <=8: sub-population=12 (23.07%); cumulated value=76 (25.00%)
14 <=16: sub-population=5 (9.61%); cumulated value=59 (19.40%)
15 <=32: sub-population=4 (7.69%); cumulated value=75 (24.67%)
16 <=64: sub-population=1 (1.92%); cumulated value=40 (13.15%)
19 APublicVisibility: 19 (6.25%)
20 AListExprs: 19 (6.25%)
26 AIntegerExpr: 10 (3.28%)
29 AAnnotation: 1 (0.32%)
30 AAnnotations: 1 (0.32%)
31 AReturnExpr: 1 (0.32%)
33 AInterfaceClasskind: 1 (0.32%)
34 TKwinterface: 1 (0.32%)
36 AMainMethPropdef: 1 (0.32%)
37 AMainClassdef: 1 (0.32%)
39 ## All identifiers of the AST
46 <=1: sub-population=3 (15.00%); cumulated value=3 (5.45%)
47 <=2: sub-population=12 (60.00%); cumulated value=24 (43.63%)
48 <=4: sub-population=3 (15.00%); cumulated value=10 (18.18%)
49 <=8: sub-population=1 (5.00%); cumulated value=7 (12.72%)
50 <=16: sub-population=1 (5.00%); cumulated value=11 (20.00%)
72 --- Detection of variance constraints on formal parameter types ---
75 non generic: 7 (100.00%)
77 total formal parameters: 0
78 -- Including `private` properties --
80 contravariants: 0 (na%)
84 -- Excluding `private` properties --
86 contravariants: 0 (na%)
91 ## Module importation hierarchy
93 Number of edges: 3 (1.50 per node)
94 Number of direct edges: 1 (0.50 per node)
95 Distribution of greaters
102 <=1: sub-population=1 (50.00%); cumulated value=1 (33.33%)
103 <=2: sub-population=1 (50.00%); cumulated value=2 (66.66%)
104 Distribution of direct greaters
111 <=0: sub-population=1 (50.00%); cumulated value=0 (0.00%)
112 <=1: sub-population=1 (50.00%); cumulated value=1 (100.00%)
113 Distribution of smallers
120 <=1: sub-population=1 (50.00%); cumulated value=1 (33.33%)
121 <=2: sub-population=1 (50.00%); cumulated value=2 (66.66%)
122 Distribution of direct smallers
129 <=0: sub-population=1 (50.00%); cumulated value=0 (0.00%)
130 <=1: sub-population=1 (50.00%); cumulated value=1 (100.00%)
131 ## Classdef hierarchy
133 Number of edges: 13 (1.85 per node)
134 Number of direct edges: 6 (0.85 per node)
135 Distribution of greaters
142 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
143 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
144 Distribution of direct greaters
151 <=0: sub-population=1 (14.28%); cumulated value=0 (0.00%)
152 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
153 Distribution of smallers
160 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
161 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
162 Distribution of direct smallers
169 <=0: sub-population=6 (85.71%); cumulated value=0 (0.00%)
170 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
173 Number of edges: 13 (1.85 per node)
174 Number of direct edges: 6 (0.85 per node)
175 Distribution of greaters
182 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
183 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
184 Distribution of direct greaters
191 <=0: sub-population=1 (14.28%); cumulated value=0 (0.00%)
192 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
193 Distribution of smallers
200 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
201 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
202 Distribution of direct smallers
209 <=0: sub-population=6 (85.71%); cumulated value=0 (0.00%)
210 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
211 --- Metrics of refinement usage ---
215 Number of interface kind: 1 (14.28%)
216 Number of enum kind: 2 (28.57%)
217 Number of class kind: 4 (57.14%)
219 Number of class definitions: 7
220 Number of refined classes: 0 (0.00%)
221 Average number of class refinments by classes: 0.00
222 Average number of class refinments by refined classes: na
224 Number of properties: 18
225 Number of MAttribute: 3 (16.66%)
226 Number of MMethod: 15 (83.33%)
228 Number of property definitions: 20
229 Number of redefined properties: 1 (5.55%)
230 Average number of property redefinitions by property: 0.11
231 Average number of property redefinitions by redefined property: 2.00
232 --- Explicit vs. Implicit Self ---
233 Total number of self: 5
234 Total number of implicit self: 4 (80.00%)
235 --- Construction of tables ---
236 Number of runtime classes: 6 (excluding interfaces and abstract classes)
237 Average number of composing class definition by runtime class: 2.00
238 Total size of tables (classes and instances): 23 (not including stuff like info for subtyping or call-next-method)
239 Average size of table by runtime class: 3.83
240 Values never redefined: 17 (73.91%)
241 generating package_hierarchy.dot
242 generating module_hierarchy.dot
246 ## package base_simple3
247 `- group base_simple3>
248 cnoa: number of ancestor classes
254 cnop: number of parent classes
260 cnoc: number of child classes
266 cnod: number of descendant classes
272 cdit: depth in class tree
278 cnbp: number of accessible properties (inherited + local)
284 cnba: number of accessible attributes (inherited + local)
290 cnbi: number of accessible constructors (inherited + local)
296 cnbm: number of accessible methods (inherited + local)
302 cnbv: number of accessible virtual types (inherited + local)
308 cnbip: number of introduced properties
314 cnbrp: number of redefined properties
320 cnbhp: number of inherited properties
328 cnoa: number of ancestor classes
334 cnop: number of parent classes
340 cnoc: number of child classes
346 cnod: number of descendant classes
352 cdit: depth in class tree
358 cnbp: number of accessible properties (inherited + local)
364 cnba: number of accessible attributes (inherited + local)
370 cnbi: number of accessible constructors (inherited + local)
376 cnbm: number of accessible methods (inherited + local)
382 cnbv: number of accessible virtual types (inherited + local)
388 cnbip: number of introduced properties
394 cnbrp: number of redefined properties
400 cnbhp: number of inherited properties
409 ## package base_simple3
410 `- group base_simple3>
411 mnoa: number of ancestor modules
413 max: base_simple3 (0)
414 min: base_simple3 (0)
417 mnop: number of parent modules
419 max: base_simple3 (0)
420 min: base_simple3 (0)
423 mnoc: number of child modules
425 max: base_simple3 (1)
426 min: base_simple3 (1)
429 mnod: number of descendant modules
431 max: base_simple3 (1)
432 min: base_simple3 (1)
435 mdit: depth in module tree
437 max: base_simple3 (0)
438 min: base_simple3 (0)
441 mnbi: number of introduction in module
443 max: base_simple3 (7)
444 min: base_simple3 (7)
447 mnbr: number of refinement in module
449 max: base_simple3 (0)
450 min: base_simple3 (0)
453 mnbcc: number of concrete class in module (intro + redef)
455 max: base_simple3 (4)
456 min: base_simple3 (4)
459 mnbac: number of abstract class in module (intro + redef)
461 max: base_simple3 (0)
462 min: base_simple3 (0)
465 mnbic: number of interface in module (intro + redef)
467 max: base_simple3 (1)
468 min: base_simple3 (1)
473 mnoa: number of ancestor modules
475 max: base_simple3 (0)
476 min: base_simple3 (0)
479 mnop: number of parent modules
481 max: base_simple3 (0)
482 min: base_simple3 (0)
485 mnoc: number of child modules
487 max: base_simple3 (1)
488 min: base_simple3 (1)
491 mnod: number of descendant modules
493 max: base_simple3 (1)
494 min: base_simple3 (1)
497 mdit: depth in module tree
499 max: base_simple3 (0)
500 min: base_simple3 (0)
503 mnbi: number of introduction in module
505 max: base_simple3 (7)
506 min: base_simple3 (7)
509 mnbr: number of refinement in module
511 max: base_simple3 (0)
512 min: base_simple3 (0)
515 mnbcc: number of concrete class in module (intro + redef)
517 max: base_simple3 (4)
518 min: base_simple3 (4)
521 mnbac: number of abstract class in module (intro + redef)
523 max: base_simple3 (0)
524 min: base_simple3 (0)
527 mnbic: number of interface in module (intro + redef)
529 max: base_simple3 (1)
530 min: base_simple3 (1)
534 # Inheritance metrics
536 ## package base_simple3
537 `- group base_simple3>
538 cnoac: number of class_kind ancestor
544 cnopc: number of class_kind parent
550 cnocc: number of class_kind children
556 cnodc: number of class_kind descendants
562 cnopi: number of interface_kind parent
568 cnoci: number of interface_kind children
574 cnodi: number of interface_kind descendants
580 cditc: depth in class tree following only class, abstract, extern kind
586 cditi: depth in class tree following only interface_kind
592 mdui: proportion of mclass defined using inheritance (has other parent than Object)
594 max: base_simple3 (0.0)
595 min: base_simple3 (0.0)
598 mduic: proportion of class_kind defined using inheritance
600 max: base_simple3 (0.0)
601 min: base_simple3 (0.0)
604 mduii: proportion of interface_kind defined using inheritance
606 max: base_simple3 (0.0)
607 min: base_simple3 (0.0)
610 mif: proportion of mclass inherited from
612 max: base_simple3 (0.143)
613 min: base_simple3 (0.143)
616 mifc: proportion of class_kind inherited from
618 max: base_simple3 (0.0)
619 min: base_simple3 (0.0)
622 mifi: proportion of interface_kind inherited from
624 max: base_simple3 (0.143)
625 min: base_simple3 (0.143)
630 cnoac: number of class_kind ancestor
636 cnopc: number of class_kind parent
642 cnocc: number of class_kind children
648 cnodc: number of class_kind descendants
654 cnopi: number of interface_kind parent
660 cnoci: number of interface_kind children
666 cnodi: number of interface_kind descendants
672 cditc: depth in class tree following only class, abstract, extern kind
678 cditi: depth in class tree following only interface_kind
684 mdui: proportion of mclass defined using inheritance (has other parent than Object)
686 max: base_simple3 (0.0)
687 min: base_simple3 (0.0)
690 mduic: proportion of class_kind defined using inheritance
692 max: base_simple3 (0.0)
693 min: base_simple3 (0.0)
696 mduii: proportion of interface_kind defined using inheritance
698 max: base_simple3 (0.0)
699 min: base_simple3 (0.0)
702 mif: proportion of mclass inherited from
704 max: base_simple3 (0.143)
705 min: base_simple3 (0.143)
708 mifc: proportion of class_kind inherited from
710 max: base_simple3 (0.0)
711 min: base_simple3 (0.0)
714 mifi: proportion of interface_kind inherited from
716 max: base_simple3 (0.143)
717 min: base_simple3 (0.143)
720 --- Metrics of the explitic static types ---
721 Total number of explicit static types: 9
722 Statistics of type usage:
729 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
730 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
738 large mclasses (threshold: 3.915)
742 budding mclasses (threshold: 5.033)
743 blooming mclasses (threshold: 21.874)
745 --- Detection of the usage of covariance static type conformance ---
747 - Kinds of the subtype -
749 primitive type: 6 (100.00%)
753 monomorph: 6 (100.00%)
755 - Classes of the subtype -
759 -- On covariance only --
760 - Specific covariance case explanations -
763 - Classes of the subtype, when covariance -
766 - Patterns of the covariant cases -
769 - Nodes of the covariance cases -
772 - Modules of the covariance cases -
775 - Kind of the expression node (when it make sense) -
779 - Kind of cast target -
782 - Classes of the cast -
794 ## package base_simple3
795 `- group base_simple3>
796 cnba: number of accessible attributes (inherited + local)
802 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
806 cnba: number of accessible attributes (inherited + local)
812 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
814 --- Sends on Nullable Receiver ---
815 Total number of sends: 19
816 Number of sends on a unsafe nullable receiver: 0 (0.00%)
817 Number of sends on a safe nullable receiver: 0 (0.00%)
818 Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%)
822 ## Live instances by mainmodules
823 mnlc: number of live mclasses in a mmodule
825 max: base_simple3 (6)
826 min: base_simple3 (6)
829 mnlt: number of live mtypes in a mmodule
831 max: base_simple3 (6)
832 min: base_simple3 (6)
835 mnct: number of live cast mtypes in a mmodule
837 max: base_simple3 (0)
838 min: base_simple3 (0)
841 mnli: number of live instances in a mmodule
843 max: base_simple3 (17)
844 min: base_simple3 (17)
847 mnlm: number of live methods in a mmodule
849 max: base_simple3 (14)
850 min: base_simple3 (14)
853 mnlmd: number of live method definitions in a mmodule
855 max: base_simple3 (16)
856 min: base_simple3 (16)
859 mnldd: number of dead method definitions in a mmodule
861 max: base_simple3 (0)
862 min: base_simple3 (0)
866 ## Total live instances by mclasses
867 cnli: number of live instances for a mclass
873 cnlc: number of live cast for a mclass type -- nothing
876 ## Total live instances by mtypes
877 tnli: number of live instances for a mtype
883 tnlc: number of live casts to a mtype -- nothing
887 tags: arity of generic signature
893 tdos: depth of generic signature
902 MMethodDef locally designated (by number of CallSites)
909 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
910 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
912 base_simple3$Int$output: 10 (43.47%)
913 base_simple3$B$val: 1 (4.34%)
914 base_simple3$B$val=: 1 (4.34%)
915 base_simple3$Object$init: 1 (4.34%)
916 base_simple3$C$val2: 1 (4.34%)
918 base_simple3$A$init: 1 (4.34%)
919 base_simple3$Sys$baz: 1 (4.34%)
920 base_simple3$Sys$bar: 1 (4.34%)
921 base_simple3$Sys$foo: 1 (4.34%)
922 base_simple3$C$init: 1 (4.34%)
923 MMethodDef possibly invoked at runtime (by number of CallSites)
930 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
931 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
933 base_simple3$Int$output: 10 (43.47%)
934 base_simple3$B$val: 1 (4.34%)
935 base_simple3$B$val=: 1 (4.34%)
936 base_simple3$Object$init: 1 (4.34%)
937 base_simple3$C$val2: 1 (4.34%)
939 base_simple3$A$init: 1 (4.34%)
940 base_simple3$Sys$baz: 1 (4.34%)
941 base_simple3$Sys$bar: 1 (4.34%)
942 base_simple3$Sys$foo: 1 (4.34%)
943 base_simple3$C$init: 1 (4.34%)
945 classdef_hierarchy.dot
953 package_hierarchy.dot