self
.Specific meta-object can be used in subclasses
by redefining CLASS
and class_factory
.
# The meta-object representing the dynamic type of `self`.
#
# Specific meta-object can be used in subclasses
# by redefining `CLASS` and `class_factory`.
fun get_class: CLASS do
var class_pool = once new HashMap[String, Class[Object]]
var name = class_name
var res = class_pool.get_or_null(name)
if res != null then return res.as(CLASS)
res = class_factory(name)
assert res.name == name
class_pool[name] = res
return res
end
lib/meta/meta.nit:61,2--74,4