Is the class is not generic, then the result is mclass_type
REQUIRE: mtype_arguments.length == self.arity
# Return a generic type based on the class
# Is the class is not generic, then the result is `mclass_type`
#
# REQUIRE: `mtype_arguments.length == self.arity`
fun get_mtype(mtype_arguments: Array[MType]): MClassType
do
assert mtype_arguments.length == self.arity
if self.arity == 0 then return self.mclass_type
var res = get_mtype_cache.get_or_null(mtype_arguments)
if res != null then return res
res = new MGenericType(self, mtype_arguments)
self.get_mtype_cache[mtype_arguments.to_a] = res
return res
end
src/model/model.nit:585,2--598,4