metamodel: rename 'universal' to 'enum'
[nit.git] / src / metamodel / inheritance.nit
index 170e038..46e6e88 100644 (file)
@@ -129,6 +129,9 @@ redef class MMLocalClass
                                        continue
                                end
 
+                               # Do not inherit new style attributes
+                               if glob.intro.name.to_s[0] == '@' then continue
+
                                make_visible_an_inherited_global_property(glob)
                        end
                end
@@ -184,6 +187,7 @@ redef class MMLocalClass
                                var g = c.get_property_by_name(n)
                                if not set.has(g) then set.add(g)
                                if g.is_init and g.intro.local_class.global != global then continue
+                               if g.intro.name.to_s.first == '@' then continue # inherited new style attibutes are invisible
                                if nset.has(g) then continue
                                nset.add(g)
                        end
@@ -465,7 +469,7 @@ end
 
 # A local class that is a pure importation of an other local class
 class MMImplicitLocalClass
-special MMLocalClass
+       super MMLocalClass
        init(mod: MMModule, g: MMGlobalClass)
        do
                var cla = g.intro
@@ -475,7 +479,7 @@ special MMLocalClass
 end
 
 class MMRefineAncestor
-special MMAncestor
+       super MMAncestor
        redef readable var _local_class: MMLocalClass
 
        init(b: MMLocalClass, a: MMLocalClass)
@@ -488,7 +492,7 @@ end
 
 
 class MMSpecAncestor
-special MMAncestor
+       super MMAncestor
        redef fun local_class do return stype.local_class
 
        init(inheriter: MMType, stype: MMType)
@@ -499,7 +503,7 @@ special MMAncestor
 end
 
 class MMDefaultAncestor
-special MMAncestor
+       super MMAncestor
        redef fun local_class do return stype.local_class
 
        init(b: MMLocalClass, anc: MMType)