X-Git-Url: http://nitlanguage.org diff --git a/src/metamodel/inheritance.nit b/src/metamodel/inheritance.nit index 170e038..46e6e88 100644 --- a/src/metamodel/inheritance.nit +++ b/src/metamodel/inheritance.nit @@ -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)