- # colorize types
- if modelbuilder.toolcontext.opt_bm_typing.value then
- var type_coloring = new NaiveTypeColoring(self.mainmodule)
- self.type_colors = type_coloring.colorize(mtypes)
- self.type_tables = self.build_type_tables(mtypes, type_colors, type_coloring)
- else if modelbuilder.toolcontext.opt_phmod_typing.value then
- var type_coloring = new TypeModPerfectHashing(self.mainmodule)
- self.type_colors = type_coloring.compute_masks(mtypes, typeids)
- self.type_tables = self.hash_type_tables(mtypes, typeids, type_colors, type_coloring)
- self.header.add_decl("#define HASH(mask, id) ((mask)%(id))")
- else if modelbuilder.toolcontext.opt_phand_typing.value then
- var type_coloring = new TypeAndPerfectHashing(self.mainmodule)
- self.type_colors = type_coloring.compute_masks(mtypes, typeids)
- self.type_tables = self.hash_type_tables(mtypes, typeids, type_colors, type_coloring)
- self.header.add_decl("#define HASH(mask, id) ((mask)&(id))")
- else
- var type_coloring = new TypeColoring(self.mainmodule)
- self.type_colors = type_coloring.colorize(mtypes)
- self.type_tables = self.build_type_tables(mtypes, type_colors, type_coloring)
- end
+ # lookup for super calls in super classes
+ for mmethoddef in super_calls do
+ for mclassdef in parent.mclassdefs do
+ if mclassdef.mpropdefs.has(mmethoddef) then
+ supercalls.add(mmethoddef)
+ end
+ end
+ end
+ end