Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
do
if mclass.loaded then return
do
if mclass.loaded then return
- # Recursively load superclasses
- for parent in mclass.in_hierarchy(mainmodule).direct_greaters do load_class_indirect(parent)
if mclass.abstract_loaded then
mclass.allocate_vtable(self)
if mclass.abstract_loaded then
mclass.allocate_vtable(self)
+ # Recursively load superclasses.
+ private fun load_supers(mclass: MClass)
+ do
+ for parent in mclass.in_hierarchy(mainmodule).direct_greaters do
+ load_class_indirect(parent)
+ end
+ end
+
# This method is called to handle an implicitly loaded class,
# i.e. a superclass of an explicitly loaded class
# A class loaded implicitly will not be fully allocated
# This method is called to handle an implicitly loaded class,
# i.e. a superclass of an explicitly loaded class
# A class loaded implicitly will not be fully allocated
# It the class was already implicitly loaded
if mclass.abstract_loaded then return
# It the class was already implicitly loaded
if mclass.abstract_loaded then return
- for parent in mclass.in_hierarchy(mainmodule).direct_greaters do load_class_indirect(parent)
mclass.make_vt(self, false)
end
mclass.make_vt(self, false)
end