Merge: Nitmetric fixes
[nit.git] / src / metrics / static_types_metrics.nit
index e0fb5c3..45c429b 100644 (file)
 # Metrics on the usage of explicit static types.
 module static_types_metrics
 
-private import metrics_base
-import modelbuilder
-import modelize_class
-import frontend
+import metrics_base
+import modelize
 
 redef class ToolContext
        var static_types_metrics_phase: Phase = new StaticTypesMetricsPhase(self, null)
@@ -53,8 +51,12 @@ private class ATypeCounterVisitor
 
        redef fun visit(n)
        do
-               if n isa AType then
-                       var mtype = modelbuilder.resolve_mtype(self.nclassdef, n)
+               if n isa AAnnotation then return
+
+               if n isa AType then do
+                       var mclassdef = self.nclassdef.mclassdef
+                       if mclassdef == null then break
+                       var mtype = modelbuilder.resolve_mtype(mclassdef, n)
                        if mtype != null then
                                self.typecount.inc(mtype)
                        end