stdlib/strings: Moved, factorized and generalized comparison operators to Text.
[nit.git] / tests / sav / nitmetrics_args1.res
index 9dc3dd0..2e82c7f 100644 (file)
 *** METRICS ***
---- Global Summary metrics ---
-(NMD) Number of Modules: 1
-(NC)  Number of Classes: 4
-(NI)  Number of Interfaces: 1
-(NAC)  Number of Abstract Classes: 0
-(NGC)  Number of Generic Classes: 0
-(NGI)  Number of Generic Interfaces: 0
---- (SL) Std-Lib Summary metrics ---
-(NMDSL) Number of Modules: 0
-(NCSL)  Number of Classes: 0
-(NISL)  Number of Interfaces: 0
-(NACSL)  Number of Abstract Classes: 0
-(NGCSL)  Number of Generic Classes: 0
-(NGISL)  Number of Generic Interfaces: 0
---- (UD) User-Defined Summary metrics ---
-(NMDUD) Number of Modules: 1
-(NCUD)  Number of Classes: 4
-(NIUD)  Number of Interfaces: 1
-(NACUD)  Number of Abstract Classes: 0
-(NGCUD)  Number of Generic Classes: 0
-(NGIUD)  Number of Generic Interfaces: 0
 
---- Global Inheritance metrics ---
-(DIT) Global Depth in Inheritance Tree: 0.85
-(DUI) Proportion of types inheriting another type other than Object: 0.0%
-(CCDUI) Proportion of classes that extend some other class: 0.0%
-(CIDUI) Proportion of classes that implement some other interface: 0.0%
-(IIDUI) Proportion of interfaces that extend some other interface: 0.0%
-(IF) Proportion of types Inherited From: 20.00%
-(CCIF) Proportion of classes extended by class: 0.0%
-(ICIF) Proportion of interfaces implemented by class: 100.00%
-(IIIF) Proportion of interfaces extended by interface: 0.0%
+# MModules metrics
 
---- (SL -> *) Std-Lib Inheritance metrics ---
-(SLDUI) Proportion of SL types inheriting another type other than Object: na%
-(SLCCDUI) Proportion of SL classes that extend some other class: na%
-(SLCIDUI) Proportion of SL classes that implement some other interface: na%
-(SLIIDUI) Proportion of SL interfaces that extend some other interface: na%
-(SLIF) Proportion of SL types Inherited From: na%
-(SLCCIF) Proportion of SL classes extended by class: na%
-(SLICIF) Proportion of SL interfaces implemented by class: na%
-(SLIIIF) Proportion of SL interfaces extended by interface: na%
+ ## project base_simple3
+  `- group base_simple3
+       mnoa: number of ancestor modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnop: number of parent modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnoc: number of child modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnod: number of descendant modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mdit: depth in module tree
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnbi: number of introduction in module
+           avg: 7.0
+           max: base_simple3 (7)
+           min: base_simple3 (7)
+       mnbr: number of refinement in module
+           avg: 1.0
+           max: base_simple3 (1)
+           min: base_simple3 (1)
+       mnbcc: number of concrete class in module (intro + redef)
+           avg: 4.0
+           max: base_simple3 (4)
+           min: base_simple3 (4)
+       mnbac: number of abstract class in module (intro + redef)
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnbic: number of interface in module (intro + redef)
+           avg: 2.0
+           max: base_simple3 (2)
+           min: base_simple3 (2)
 
---- (SL -> SL) Std-Lib Inheritance metrics ---
-(SLIFSL) Proportion of SL types Inherited From by SL type: na%
-(SLCCIFSL) Proportion of SL classes extended by SL class: na%
-(SLICIFSL) Proportion of SL interfaces implemented by SL class: na%
-(SLIIIFSL) Proportion of SL interfaces extended by SL interface: na%
+ ## global metrics
+       mnoa: number of ancestor modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnop: number of parent modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnoc: number of child modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnod: number of descendant modules
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mdit: depth in module tree
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnbi: number of introduction in module
+           avg: 7.0
+           max: base_simple3 (7)
+           min: base_simple3 (7)
+       mnbr: number of refinement in module
+           avg: 1.0
+           max: base_simple3 (1)
+           min: base_simple3 (1)
+       mnbcc: number of concrete class in module (intro + redef)
+           avg: 4.0
+           max: base_simple3 (4)
+           min: base_simple3 (4)
+       mnbac: number of abstract class in module (intro + redef)
+           avg: 0.0
+           max: base_simple3 (0)
+           min: base_simple3 (0)
+       mnbic: number of interface in module (intro + redef)
+           avg: 2.0
+           max: base_simple3 (2)
+           min: base_simple3 (2)
 
---- (SL->UD) Std-Lib Inheritance metrics ---
-(SLIFUD) Proportion of SL types Inherited From by UD type: na%
-(SLCCIFUD) Proportion of SL classes extended by UD class: na%
-(SLICIFUD) Proportion of SL interfaces implemented by UD class: na%
-(SLIIIFUD) Proportion of SL interfaces extended by UD interface: na%
+# MClasses metrics
 
---- (UD->*) User-Defined Inheritance metrics ---
-(UDDUI) Proportion of UD types inheriting another type other than Object: 0.0%
-(UDCCDUI) Proportion of UD classes that extend some other class: 0.0%
-(UDCIDUI) Proportion of UD classes that implement some other interface: 0.0%
-(UDIIDUI) Proportion of UD interfaces that extend some other interface: 0.0%
-(UDIF) Proportion of UD types Inherited From: 20.00%
-(UDCCIF) Proportion of UD classes extended by class: 0.0%
-(UDICIF) Proportion of UD interfaces implemented by class: 100.00%
-(UDIIIF) Proportion of UD interfaces extended by interface: 0.0%
+ ## project base_simple3
+  `- group base_simple3
+       cnoa: number of ancestor classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnop: number of parent classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnoc: number of child classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cnod: number of descendant classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cdit: depth in class tree
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnbip: number of introduced properties
+           avg: 2.714
+           max: C (7)
+           min: Bool (0)
+       cnbrp: number of redefined properties
+           avg: 0.0
+           max: Object (0)
+           min: Object (0)
+       cnbhp: number of inherited properties
+           avg: 2.571
+           max: Bool (3)
+           min: Object (0)
 
---- (UD -> SL) User-Defined Inheritance metrics ---
-(UDDUISL) Proportion of UD types inheriting another type other SL type: 0.0%
-(UDCCDUISL) Proportion of UD classes that extend some other SL class: 0.0%
-(UDCIDUISL) Proportion of UD classes that implement some other SL interface: 0.0%
-(UDIIDUISL) Proportion of UD interfaces that extend some other SL interface: 0.0%
-
---- (UD -> UD) User-Defined Inheritance metrics ---
-(UDDUIUD) Proportion of UD types inheriting another type other UD type: 0.0%
-(UDCCDUIUD) Proportion of UD classes that extend some other UD class: 0.0%
-(UDCIDUIUD) Proportion of UD classes that implement some other UD interface: 0.0%
-(UDIIDUIUD) Proportion of UD interfaces that extend some other UD interface: 0.0%
-(UDIFUD) Proportion of UD types Inherited From: 20.00%
-(UDCCIFUD) Proportion of UD classes extended by UD class: 0.0%
-(UDICIFUD) Proportion of UD interfaces implemented by UD class: 100.00%
-(UDIIIFUD) Proportion of UD interfaces extended by UD interface: 0.0%
+ ## global metrics
+       cnoa: number of ancestor classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnop: number of parent classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnoc: number of child classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cnod: number of descendant classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cdit: depth in class tree
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnbip: number of introduced properties
+           avg: 2.714
+           max: C (7)
+           min: Bool (0)
+       cnbrp: number of redefined properties
+           avg: 0.0
+           max: Object (0)
+           min: Object (0)
+       cnbhp: number of inherited properties
+           avg: 2.571
+           max: Bool (3)
+           min: Object (0)
+--- Poset metrics ---
+## Module importation hierarchy
+Number of nodes: 1
+Number of edges: 1 (1.00 per node)
+Number of direct edges: 0 (0.0 per node)
+Distribution of greaters
+ population: 1
+ minimum value: 1
+ maximum value: 1
+ total value: 1
+ average value: 1.00
+ distribution:
+  <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
+Distribution of direct greaters
+ population: 1
+ minimum value: 0
+ maximum value: 0
+ total value: 0
+ average value: 0.0
+ distribution:
+  <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
+Distribution of smallers
+ population: 1
+ minimum value: 1
+ maximum value: 1
+ total value: 1
+ average value: 1.00
+ distribution:
+  <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
+Distribution of direct smallers
+ population: 1
+ minimum value: 0
+ maximum value: 0
+ total value: 0
+ average value: 0.0
+ distribution:
+  <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
+## Classdef hierarchy
+Number of nodes: 8
+Number of edges: 22 (2.75 per node)
+Number of direct edges: 7 (0.87 per node)
+Distribution of greaters
+ population: 8
+ minimum value: 2
+ maximum value: 3
+ total value: 22
+ average value: 2.75
+ distribution:
+  <=2: sub-population=2 (25.00%); cumulated value=4 (18.18%)
+  <=4: sub-population=6 (75.00%); cumulated value=18 (81.81%)
+Distribution of direct greaters
+ population: 8
+ minimum value: 0
+ maximum value: 1
+ total value: 7
+ average value: 0.87
+ distribution:
+  <=0: sub-population=1 (12.50%); cumulated value=0 (0.0%)
+  <=1: sub-population=7 (87.50%); cumulated value=7 (100.00%)
+Distribution of smallers
+ population: 8
+ minimum value: 1
+ maximum value: 8
+ total value: 22
+ average value: 2.75
+ distribution:
+  <=1: sub-population=6 (75.00%); cumulated value=6 (27.27%)
+  <=8: sub-population=2 (25.00%); cumulated value=16 (72.72%)
+Distribution of direct smallers
+ population: 8
+ minimum value: 0
+ maximum value: 6
+ total value: 7
+ average value: 0.87
+ distribution:
+  <=0: sub-population=6 (75.00%); cumulated value=0 (0.0%)
+  <=1: sub-population=1 (12.50%); cumulated value=1 (14.28%)
+  <=8: sub-population=1 (12.50%); cumulated value=6 (85.71%)
+## Class hierarchy
+Number of nodes: 7
+Number of edges: 13 (1.85 per node)
+Number of direct edges: 6 (0.85 per node)
+Distribution of greaters
+ population: 7
+ minimum value: 1
+ maximum value: 2
+ total value: 13
+ average value: 1.85
+ distribution:
+  <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
+  <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
+Distribution of direct greaters
+ population: 7
+ minimum value: 0
+ maximum value: 1
+ total value: 6
+ average value: 0.85
+ distribution:
+  <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%)
+  <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
+Distribution of smallers
+ population: 7
+ minimum value: 1
+ maximum value: 7
+ total value: 13
+ average value: 1.85
+ distribution:
+  <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
+  <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
+Distribution of direct smallers
+ population: 7
+ minimum value: 0
+ maximum value: 6
+ total value: 6
+ average value: 0.85
+ distribution:
+  <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%)
+  <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
+--- AST Metrics ---
+## All nodes of the AST
+ population: 47
+ minimum value: 1
+ maximum value: 39
+ total value: 254
+ average value: 5.40
+ distribution:
+  <=1: sub-population=14 (29.78%); cumulated value=14 (5.51%)
+  <=2: sub-population=6 (12.76%); cumulated value=12 (4.72%)
+  <=4: sub-population=9 (19.14%); cumulated value=29 (11.41%)
+  <=8: sub-population=10 (21.27%); cumulated value=61 (24.01%)
+  <=16: sub-population=4 (8.51%); cumulated value=44 (17.32%)
+  <=32: sub-population=3 (6.38%); cumulated value=55 (21.65%)
+  <=64: sub-population=1 (2.12%); cumulated value=39 (15.35%)
+ list:
+  TId: 39 (15.35%)
+  AListExprs: 19 (7.48%)
+  APublicVisibility: 18 (7.08%)
+  ACallExpr: 18 (7.08%)
+  TClassid: 15 (5.90%)
+  TNumber: 10 (3.93%)
+  AIntExpr: 10 (3.93%)
+  AType: 9 (3.54%)
+  TKwend: 8 (3.14%)
+  ASignature: 8 (3.14%)
+  ...
+  AModule: 1 (0.39%)
+  AMainClassdef: 1 (0.39%)
+  ATopClassdef: 1 (0.39%)
+  TKwreturn: 1 (0.39%)
+  AReturnExpr: 1 (0.39%)
+  TKwinterface: 1 (0.39%)
+  ANoImport: 1 (0.39%)
+  AInterfaceClasskind: 1 (0.39%)
+  AMainMethPropdef: 1 (0.39%)
+  TKwimport: 1 (0.39%)
+## All identifiers of the AST
+ population: 19
+ minimum value: 1
+ maximum value: 11
+ total value: 54
+ average value: 2.84
+ distribution:
+  <=1: sub-population=2 (10.52%); cumulated value=2 (3.70%)
+  <=2: sub-population=12 (63.15%); cumulated value=24 (44.44%)
+  <=4: sub-population=3 (15.78%); cumulated value=10 (18.51%)
+  <=8: sub-population=1 (5.26%); cumulated value=7 (12.96%)
+  <=16: sub-population=1 (5.26%); cumulated value=11 (20.37%)
+ list:
+  output: 11 (20.37%)
+  Int: 7 (12.96%)
+  run: 4 (7.40%)
+  c: 3 (5.55%)
+  val: 3 (5.55%)
+  i: 2 (3.70%)
+  bar: 2 (3.70%)
+  foo: 2 (3.70%)
+  val2: 2 (3.70%)
+  val1: 2 (3.70%)
+  C: 2 (3.70%)
+  v: 2 (3.70%)
+  baz: 2 (3.70%)
+  a: 2 (3.70%)
+  A: 2 (3.70%)
+  B: 2 (3.70%)
+  b: 2 (3.70%)
+  Object: 1 (1.85%)
+  Bool: 1 (1.85%)
 --- Metrics of refinement usage ---
 Number of modules: 1
 
@@ -102,15 +367,21 @@ Average number of property redefinitions by property: 0.0
 Average number of property redefinitions by redefined property: na
 --- Metrics of the explitic static types ---
 Total number of explicit static types: 9
-Most used types: 
-  Int: 6
-  C: 1
-  B: 1
-  A: 1
-Distribution of type usage:
-  <=1: 3 (75.00% of types; 33.33% of usage)
-  <=8: 1 (25.00% of types; 66.66% of usage)
---- Sends on Nullable Reciever ---
+Statistics of type usage:
+ population: 4
+ minimum value: 1
+ maximum value: 6
+ total value: 9
+ average value: 2.25
+ distribution:
+  <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
+  <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
+ list:
+  Int: 6 (66.66%)
+  C: 1 (11.11%)
+  B: 1 (11.11%)
+  A: 1 (11.11%)
+--- Sends on Nullable Receiver ---
 Total number of sends: 19
 Number of sends on a nullable receiver: 0 (0.0%)
 Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%)
@@ -124,13 +395,130 @@ Total size of tables (classes and instances): 34 (not including stuff like info
 Average size of table by runtime class: 5.66
 Values never redefined: 34 (100.00%)
 --- RTA metrics ---
+Number of live runtime classes: 6
+       Sys Bool Int A B C
 Number of live runtime types (instantied resolved type): 6
        Sys Bool Int A B C
+Number of live methods: 14
 Number of live method definitions: 14
-Number of live customized method definitions: 14
 Number of live runtime cast types (ie used in as and isa): 0
        
+Number of dead method definitions of live methods: 0
+generating out/nitmetrics_args1.write/project_hierarchy.dot
+generating out/nitmetrics_args1.write/module_hierarchy.dot
+
+# Inheritance metrics
+
+ ## project base_simple3
+  `- group base_simple3
+       cnoa: number of ancestor classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnop: number of parent classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnoc: number of child classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cnodc: number of class_kind descendants
+           avg: 0.571
+           max: Object (4)
+           min: Bool (0)
+       cnodi: number of interface_kind descendants
+           avg: 0.0
+           max: Object (0)
+           min: Object (0)
+       cdit: depth in class tree
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cditi: depth in class tree following only interface_kind
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       mdui: proportion of mclass defined using inheritance (has other parent than Object)
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mduic: proportion of class_kind defined using inheritance
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mduii: proportion of interface_kind defined using inheritance
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mif: proportion of mclass inherited from
+           avg: 0.143
+           max: base_simple3 (0.143)
+           min: base_simple3 (0.143)
+       mifc: proportion of class_kind inherited from
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mifi: proportion of interface_kind inherited from
+           avg: 0.143
+           max: base_simple3 (0.143)
+           min: base_simple3 (0.143)
+
+ ## global metrics
+       cnoa: number of ancestor classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnop: number of parent classes
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cnoc: number of child classes
+           avg: 0.857
+           max: Object (6)
+           min: Bool (0)
+       cnodc: number of class_kind descendants
+           avg: 0.571
+           max: Object (4)
+           min: Bool (0)
+       cnodi: number of interface_kind descendants
+           avg: 0.0
+           max: Object (0)
+           min: Object (0)
+       cdit: depth in class tree
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       cditi: depth in class tree following only interface_kind
+           avg: 0.857
+           max: Bool (1)
+           min: Object (0)
+       mdui: proportion of mclass defined using inheritance (has other parent than Object)
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mduic: proportion of class_kind defined using inheritance
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mduii: proportion of interface_kind defined using inheritance
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mif: proportion of mclass inherited from
+           avg: 0.143
+           max: base_simple3 (0.143)
+           min: base_simple3 (0.143)
+       mifc: proportion of class_kind inherited from
+           avg: 0.0
+           max: base_simple3 (0.0)
+           min: base_simple3 (0.0)
+       mifi: proportion of interface_kind inherited from
+           avg: 0.143
+           max: base_simple3 (0.143)
+           min: base_simple3 (0.143)
 class_hierarchy.dot
 classdef_hierarchy.dot
 model.html
 module_hierarchy.dot
+project_hierarchy.dot