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
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(", ")}]"
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
init(n: Symbol, p: Int, intro: MMLocalClass)
do
assert n != null
- _name = n
+ super(n, null)
_position = p
_def_class = intro
end