X-Git-Url: http://nitlanguage.org diff --git a/src/metamodel/static_type.nit b/src/metamodel/static_type.nit index 3c34a9b..fc1f684 100644 --- a/src/metamodel/static_type.nit +++ b/src/metamodel/static_type.nit @@ -102,7 +102,7 @@ class MMSignature if self == s then return true end - assert _recv.module == s.recv.module + assert _recv.mmmodule == s.recv.mmmodule var rt = _return_type var srt = s.return_type if arity != s.arity or (rt == null) != (srt == null) then return false @@ -144,9 +144,8 @@ class MMSignature end s.append("({a.join(",")})") end - if _return_type != null then - s.append(": {_return_type}") - end + var rt = _return_type + if rt != null then s.append(": {rt}") return s.to_s end @@ -156,7 +155,7 @@ class MMSignature if _recv == r then return self end - var mod = r.module + var mod = r.mmmodule var p = new Array[MMType] for i in _params do p.add(i.for_module(mod).adapt_to(r)) @@ -284,7 +283,7 @@ abstract class MMAncestor fun inheriter: MMType do return _inheriter.as(not null) fun is_reffinement: Bool do - return stype.module != stype.module + return stype.mmmodule != stype.mmmodule end fun is_specialisation: Bool do @@ -308,7 +307,7 @@ end # Note that static type a related to a specific module abstract class MMType # The module where self makes sence - fun module: MMModule is abstract + fun mmmodule: MMModule is abstract # The local class that self direclty or indirectly refers to fun local_class: MMLocalClass is abstract @@ -380,7 +379,7 @@ abstract class MMType end class MMNullableType -special MMType + super MMType var _base_type: MMType redef fun is_valid do return _base_type.is_valid redef fun is_nullable: Bool do return true @@ -388,7 +387,7 @@ special MMType redef fun as_nullable do return self init(t: MMType) do _base_type = t - redef fun module do return _base_type.module + redef fun mmmodule do return _base_type.mmmodule redef fun local_class do return _base_type.local_class @@ -429,9 +428,9 @@ special MMType end class MMTypeClass -special MMType + super MMType redef readable var _local_class: MMLocalClass - redef fun module do return _local_class.module end + redef fun mmmodule do return _local_class.mmmodule end redef fun <(t) do return t.is_supertype(self) redef fun to_s @@ -455,7 +454,7 @@ special MMType end class MMTypeSimpleClass -special MMTypeClass + super MMTypeClass redef fun is_supertype(t) do return t.local_class.cshe <= _local_class @@ -464,7 +463,7 @@ special MMTypeClass redef fun for_module(mod) do var t: MMType = self - if module != mod then + if mmmodule != mod then t = _local_class.for_module(mod).get_type end return t @@ -480,8 +479,8 @@ end # The type of null class MMTypeNone -special MMType - redef readable var _module: MMModule + super MMType + redef readable var _mmmodule: MMModule redef fun is_nullable: Bool do return true redef fun <(t) do return t isa MMTypeNone or t isa MMNullableType redef fun to_s do return "null" @@ -491,7 +490,7 @@ special MMType redef fun as_nullable do return self redef fun as_notnull do abort - private init(m: MMModule) do _module = m + private init(m: MMModule) do _mmmodule = m end redef class MMModule