The principal static type of the class.

For non-generic class, mclass_type is the only MClassType based on self.

For a generic class, the arguments are the formal parameters. i.e.: for the class Array[E:Object], the mclass_type is Array[E]. If you want Array[Object], see MClassDef::bound_mtype.

For generic classes, the mclass_type is also the way to get a formal generic parameter type.

To get other types based on a generic class, see get_mtype.

ENSURE: mclass_type.mclass == self

Property definitions

nitc $ MClass :: mclass_type=
	# The principal static type of the class.
	#
	# For non-generic class, `mclass_type` is the only `MClassType` based
	# on self.
	#
	# For a generic class, the arguments are the formal parameters.
	# i.e.: for the class `Array[E:Object]`, the `mclass_type` is `Array[E]`.
	# If you want `Array[Object]`, see `MClassDef::bound_mtype`.
	#
	# For generic classes, the mclass_type is also the way to get a formal
	# generic parameter type.
	#
	# To get other types based on a generic class, see `get_mtype`.
	#
	# ENSURE: `mclass_type.mclass == self`
	var mclass_type: MClassType is noinit
src/model/model.nit:568,2--583,38