syntax: 'meth' -> 'fun', 'attr' -> 'var'
[nit.git] / src / metamodel / type_formal.nit
index fb24352..e214218 100644 (file)
@@ -22,30 +22,30 @@ import inheritance
 
 redef class MMType
        # The type a indirect type refers to
-       meth direct_type: MMType do return self
+       fun direct_type: MMType do return self
 end
 
 # Formal types are named indirect types
 class MMTypeFormal
 special MMType
+       redef fun is_valid do return _bound != null and _bound.is_valid
+
        # The name of the type
-       readable attr _name: Symbol 
+       readable var _name: Symbol
 
        # The type refered
-       readable attr _bound: MMType 
+       fun bound: MMType do return _bound.as(not null)
+       var _bound: nullable MMType
 
-       redef meth <(t) do return t != null and (t == self or t.is_supertype(_bound))
-       redef meth is_supertype(t) do return _bound.is_supertype(t)
-       redef meth direct_type do return _bound.direct_type
-       redef meth local_class
-       do
-               if _bound == null then return null
-               return _bound.local_class
-       end
+       redef fun <(t) do return t == self or t.is_supertype(bound)
+       redef fun is_supertype(t) do return _bound.is_supertype(t)
+       redef fun is_nullable do return _bound.is_nullable
+       redef fun direct_type do return _bound.direct_type
+       redef fun local_class do return _bound.local_class
 
-       redef meth to_s do return _name.to_s
+       redef fun to_s do return _name.to_s
 
-       protected init(name: Symbol, bound: MMType)
+       protected init(name: Symbol, bound: nullable MMType)
        do
                _name = name
                _bound = bound