nitc :: MClass :: superclasses_ordering
Return the order of superclasses in runtime structures of this class
# Order superclasses of self
# Return the order of superclasses in runtime structures of this class
private fun superclasses_ordering(v: VirtualMachine): Array[MClass]
do
var superclasses = new Array[MClass]
# Add all superclasses of `self`
superclasses.add_all(self.in_hierarchy(v.mainmodule).greaters)
var res = new Array[MClass]
if superclasses.length > 1 then
# Starting at self
var ordering = self.dfs(v, res)
return ordering
else
# There is no super-class, self is Object
prefix = self
return superclasses
end
end
src/vm/virtual_machine.nit:660,2--680,4