metamodel: fix and comment upcast_for
[nit.git] / src / metamodel / genericity.nit
index 8a9d14b..dfff8c3 100644 (file)
@@ -108,7 +108,6 @@ class MMTypeGeneric
 special MMTypeClass
        # Formal arguments
        readable attr _params: Array[MMType] 
-       attr _props: Map[MMGlobalProperty, MMLocalProperty] = new HashMap[MMGlobalProperty, MMLocalProperty]
 
        redef meth is_generic do return true
 
@@ -172,26 +171,6 @@ special MMTypeClass
                return true
        end
 
-       redef meth select_property(g)
-       do
-               if g == null then
-                       return null
-               end
-               if not _props.has_key(g) then
-                       assert _local_class != null
-                       var p = _local_class[g]
-                       if p != null then
-                               #var p2 = p.adapt_property(self)
-                               #_props[g] = p2
-                               #return p2
-                               return p
-                       else
-                               assert false
-                       end
-               end
-               return _props[g]
-       end
-
        redef meth to_s
        do
                return "{super}[{_params.join(", ")}]"
@@ -237,7 +216,7 @@ special MMTypeFormal
                return t
        end
 
-       redef meth upcast_for(c) do return self
+       redef meth upcast_for(c) do return _bound.upcast_for(c)
 
        meth bound=(t: MMType)
        do
@@ -268,7 +247,7 @@ special MMTypeFormal
        init(n: Symbol, p: Int, intro: MMLocalClass)
        do
                assert n != null
-               _name = n
+               super(n, null)
                _position = p
                _def_class = intro
        end