nitc :: MClass :: setup_parameter_names
mparameters
from their names.
# Initialize `mparameters` from their names.
protected fun setup_parameter_names(parameter_names: nullable Array[String]) is
autoinit
do
if parameter_names == null then
self.arity = 0
else
self.arity = parameter_names.length
end
# Create the formal parameter types
if arity > 0 then
assert parameter_names != null
var mparametertypes = new Array[MParameterType]
for i in [0..arity[ do
var mparametertype = new MParameterType(self, i, parameter_names[i])
mparametertypes.add(mparametertype)
end
self.mparameters = mparametertypes
var mclass_type = new MGenericType(self, mparametertypes)
self.mclass_type = mclass_type
self.get_mtype_cache[mparametertypes] = mclass_type
else
self.mclass_type = new MClassType(self)
end
end
src/model/model.nit:491,2--516,4