-
- var layout_builder: TypingLayoutBuilder[MClass]
- var class_colorer = new MClassColorer(mainmodule)
- if modelbuilder.toolcontext.opt_phmod_typing.value then
- layout_builder = new MClassHasher(new PHModOperator, mainmodule)
- class_colorer.build_layout(mclasses)
- else if modelbuilder.toolcontext.opt_phand_typing.value then
- layout_builder = new MClassHasher(new PHAndOperator, mainmodule)
- class_colorer.build_layout(mclasses)
- else if modelbuilder.toolcontext.opt_bm_typing.value then
- layout_builder = new MClassBMizer(mainmodule)
- class_colorer.build_layout(mclasses)
- else
- layout_builder = class_colorer
- end
- self.class_layout = layout_builder.build_layout(mclasses)
- self.class_tables = self.build_class_typing_tables(mclasses)
+ var poset = mainmodule.flatten_mclass_hierarchy
+ var colorer = new POSetColorer[MClass]
+ colorer.colorize(poset)
+ class_ids = colorer.ids
+ class_colors = colorer.colors
+ class_tables = self.build_class_typing_tables(mclasses)