mm: moves class type detection to class building analysis
[nit.git] / src / syntax / mmbuilder.nit
index c2c92b8..542ab77 100644 (file)
@@ -657,17 +657,25 @@ redef class AStdClassdef
        do
                return n_formaldefs.length
        end
-       redef fun accept_class_verifier(v)
+       redef fun accept_class_specialization_builder(v)
        do
                super
-               var glob = _local_class.global
-               if glob.intro == _local_class then
-                       # Intro
-                       glob.visibility_level = visibility_level
+
+               var glob = local_class.global
+               if glob.intro == local_class then
                        glob.is_interface = n_classkind.is_interface
                        glob.is_abstract = n_classkind.is_abstract
                        glob.is_enum = n_classkind.is_enum
                        glob.is_extern = n_classkind.is_extern
+                       glob.visibility_level = visibility_level
+               end
+       end
+       redef fun accept_class_verifier(v)
+       do
+               super
+               var glob = _local_class.global
+               if glob.intro == _local_class then
+                       # Intro
                        if n_kwredef != null then
                                v.error(self, "Redef error: No class {name} is imported. Remove the redef keyword to define a new class.")
                        end