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
243 --- Metrics of the explitic static types ---
244 Total number of explicit static types: 9
245 Statistics of type usage:
252 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
253 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
262 ## package base_simple3
263 `- group base_simple3>
264 cnoa: number of ancestor classes
270 cnop: number of parent classes
276 cnoc: number of child classes
282 cnod: number of descendant classes
288 cdit: depth in class tree
294 cnbp: number of accessible properties (inherited + local)
300 cnba: number of accessible attributes (inherited + local)
306 cnbi: number of accessible constructors (inherited + local)
312 cnbm: number of accessible methods (inherited + local)
318 cnbv: number of accessible virtual types (inherited + local)
324 cnbip: number of introduced properties
330 cnbrp: number of redefined properties
336 cnbhp: number of inherited properties
344 cnoa: number of ancestor classes
350 cnop: number of parent classes
356 cnoc: number of child classes
362 cnod: number of descendant classes
368 cdit: depth in class tree
374 cnbp: number of accessible properties (inherited + local)
380 cnba: number of accessible attributes (inherited + local)
386 cnbi: number of accessible constructors (inherited + local)
392 cnbm: number of accessible methods (inherited + local)
398 cnbv: number of accessible virtual types (inherited + local)
404 cnbip: number of introduced properties
410 cnbrp: number of redefined properties
416 cnbhp: number of inherited properties
425 ## package base_simple3
426 `- group base_simple3>
427 mnoa: number of ancestor modules
429 max: base_simple3 (0)
430 min: base_simple3 (0)
433 mnop: number of parent modules
435 max: base_simple3 (0)
436 min: base_simple3 (0)
439 mnoc: number of child modules
441 max: base_simple3 (1)
442 min: base_simple3 (1)
445 mnod: number of descendant modules
447 max: base_simple3 (1)
448 min: base_simple3 (1)
451 mdit: depth in module tree
453 max: base_simple3 (0)
454 min: base_simple3 (0)
457 mnbi: number of introduction in module
459 max: base_simple3 (7)
460 min: base_simple3 (7)
463 mnbr: number of refinement in module
465 max: base_simple3 (0)
466 min: base_simple3 (0)
469 mnbcc: number of concrete class in module (intro + redef)
471 max: base_simple3 (4)
472 min: base_simple3 (4)
475 mnbac: number of abstract class in module (intro + redef)
477 max: base_simple3 (0)
478 min: base_simple3 (0)
481 mnbic: number of interface in module (intro + redef)
483 max: base_simple3 (1)
484 min: base_simple3 (1)
489 mnoa: number of ancestor modules
491 max: base_simple3 (0)
492 min: base_simple3 (0)
495 mnop: number of parent modules
497 max: base_simple3 (0)
498 min: base_simple3 (0)
501 mnoc: number of child modules
503 max: base_simple3 (1)
504 min: base_simple3 (1)
507 mnod: number of descendant modules
509 max: base_simple3 (1)
510 min: base_simple3 (1)
513 mdit: depth in module tree
515 max: base_simple3 (0)
516 min: base_simple3 (0)
519 mnbi: number of introduction in module
521 max: base_simple3 (7)
522 min: base_simple3 (7)
525 mnbr: number of refinement in module
527 max: base_simple3 (0)
528 min: base_simple3 (0)
531 mnbcc: number of concrete class in module (intro + redef)
533 max: base_simple3 (4)
534 min: base_simple3 (4)
537 mnbac: number of abstract class in module (intro + redef)
539 max: base_simple3 (0)
540 min: base_simple3 (0)
543 mnbic: number of interface in module (intro + redef)
545 max: base_simple3 (1)
546 min: base_simple3 (1)
551 Warning: no source file for `base_simple3`
553 # Inheritance metrics
555 ## package base_simple3
556 `- group base_simple3>
557 cnoac: number of class_kind ancestor
563 cnopc: number of class_kind parent
569 cnocc: number of class_kind children
575 cnodc: number of class_kind descendants
581 cnopi: number of interface_kind parent
587 cnoci: number of interface_kind children
593 cnodi: number of interface_kind descendants
599 cditc: depth in class tree following only class, abstract, extern kind
605 cditi: depth in class tree following only interface_kind
611 mdui: proportion of mclass defined using inheritance (has other parent than Object)
613 max: base_simple3 (0.0)
614 min: base_simple3 (0.0)
617 mduic: proportion of class_kind defined using inheritance
619 max: base_simple3 (0.0)
620 min: base_simple3 (0.0)
623 mduii: proportion of interface_kind defined using inheritance
625 max: base_simple3 (0.0)
626 min: base_simple3 (0.0)
629 mif: proportion of mclass inherited from
631 max: base_simple3 (0.143)
632 min: base_simple3 (0.143)
635 mifc: proportion of class_kind inherited from
637 max: base_simple3 (0.0)
638 min: base_simple3 (0.0)
641 mifi: proportion of interface_kind inherited from
643 max: base_simple3 (0.143)
644 min: base_simple3 (0.143)
649 cnoac: number of class_kind ancestor
655 cnopc: number of class_kind parent
661 cnocc: number of class_kind children
667 cnodc: number of class_kind descendants
673 cnopi: number of interface_kind parent
679 cnoci: number of interface_kind children
685 cnodi: number of interface_kind descendants
691 cditc: depth in class tree following only class, abstract, extern kind
697 cditi: depth in class tree following only interface_kind
703 mdui: proportion of mclass defined using inheritance (has other parent than Object)
705 max: base_simple3 (0.0)
706 min: base_simple3 (0.0)
709 mduic: proportion of class_kind defined using inheritance
711 max: base_simple3 (0.0)
712 min: base_simple3 (0.0)
715 mduii: proportion of interface_kind defined using inheritance
717 max: base_simple3 (0.0)
718 min: base_simple3 (0.0)
721 mif: proportion of mclass inherited from
723 max: base_simple3 (0.143)
724 min: base_simple3 (0.143)
727 mifc: proportion of class_kind inherited from
729 max: base_simple3 (0.0)
730 min: base_simple3 (0.0)
733 mifi: proportion of interface_kind inherited from
735 max: base_simple3 (0.143)
736 min: base_simple3 (0.143)
741 large mclasses (threshold: 3.915)
745 budding mclasses (threshold: 5.033)
746 blooming mclasses (threshold: 21.874)
748 --- Detection of the usage of covariance static type conformance ---
750 - Kinds of the subtype -
752 primitive type: 6 (100.00%)
756 monomorph: 6 (100.00%)
758 - Classes of the subtype -
762 -- On covariance only --
763 - Specific covariance case explanations -
766 - Classes of the subtype, when covariance -
769 - Patterns of the covariant cases -
772 - Nodes of the covariance cases -
775 - Modules of the covariance cases -
778 - Kind of the expression node (when it make sense) -
782 - Kind of cast target -
785 - Classes of the cast -
797 ## package base_simple3
798 `- group base_simple3>
799 cnba: number of accessible attributes (inherited + local)
805 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
809 cnba: number of accessible attributes (inherited + local)
815 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
817 --- Sends on Nullable Receiver ---
818 Total number of sends: 19
819 Number of sends on a unsafe nullable receiver: 0 (0.00%)
820 Number of sends on a safe nullable receiver: 0 (0.00%)
821 Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%)
825 ## Live instances by mainmodules
826 mnlc: number of live mclasses in a mmodule
828 max: base_simple3 (6)
829 min: base_simple3 (6)
832 mnlt: number of live mtypes in a mmodule
834 max: base_simple3 (6)
835 min: base_simple3 (6)
838 mnct: number of live cast mtypes in a mmodule
840 max: base_simple3 (0)
841 min: base_simple3 (0)
844 mnli: number of live instances in a mmodule
846 max: base_simple3 (17)
847 min: base_simple3 (17)
850 mnlm: number of live methods in a mmodule
852 max: base_simple3 (14)
853 min: base_simple3 (14)
856 mnlmd: number of live method definitions in a mmodule
858 max: base_simple3 (16)
859 min: base_simple3 (16)
862 mnldd: number of dead method definitions in a mmodule
864 max: base_simple3 (0)
865 min: base_simple3 (0)
869 ## Total live instances by mclasses
870 cnli: number of live instances for a mclass
876 cnlc: number of live cast for a mclass type -- nothing
879 ## Total live instances by mtypes
880 tnli: number of live instances for a mtype
886 tnlc: number of live casts to a mtype -- nothing
890 tags: arity of generic signature
896 tdos: depth of generic signature
905 MMethodDef locally designated (by number of CallSites)
912 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
913 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
915 base_simple3$Int$output: 10 (43.47%)
916 base_simple3$B$val: 1 (4.34%)
917 base_simple3$B$val=: 1 (4.34%)
918 base_simple3$Object$init: 1 (4.34%)
919 base_simple3$C$val2: 1 (4.34%)
921 base_simple3$A$init: 1 (4.34%)
922 base_simple3$Sys$baz: 1 (4.34%)
923 base_simple3$Sys$bar: 1 (4.34%)
924 base_simple3$Sys$foo: 1 (4.34%)
925 base_simple3$C$init: 1 (4.34%)
926 MMethodDef possibly invoked at runtime (by number of CallSites)
933 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
934 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
936 base_simple3$Int$output: 10 (43.47%)
937 base_simple3$B$val: 1 (4.34%)
938 base_simple3$B$val=: 1 (4.34%)
939 base_simple3$Object$init: 1 (4.34%)
940 base_simple3$C$val2: 1 (4.34%)
942 base_simple3$A$init: 1 (4.34%)
943 base_simple3$Sys$baz: 1 (4.34%)
944 base_simple3$Sys$bar: 1 (4.34%)
945 base_simple3$Sys$foo: 1 (4.34%)
946 base_simple3$C$init: 1 (4.34%)
948 classdef_hierarchy.dot
956 package_hierarchy.dot