nitg-s: changed signature of colorize method to accept set of elements only
authorAlexandre Terrasa <alexandre@moz-code.org>
Wed, 6 Feb 2013 17:21:09 +0000 (12:21 -0500)
committerAlexandre Terrasa <alexandre@moz-code.org>
Mon, 4 Mar 2013 18:20:00 +0000 (13:20 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/coloring.nit
src/separate_compiler.nit
src/separate_erasure_compiler.nit

index e4fe7a8..fec9693 100644 (file)
@@ -28,7 +28,7 @@ abstract class AbstractColoring[E: Object]
 
        init do end
 
-       fun colorize(elements: Collection[E]): Map[E, Int] do
+       fun colorize(elements: Set[E]): Map[E, Int] do
                # tag each element as part of group core, crown or border
                for e in elements do
                        tag_element(e)
index 4dfc38e..eb48c46 100644 (file)
@@ -222,8 +222,9 @@ class SeparateCompiler
        fun do_property_coloring do
 
                # classes coloration
+               var mclasses = new HashSet[MClass].from(modelbuilder.model.mclasses)
                self.class_coloring = new ClassColoring(mainmodule)
-               class_coloring.colorize(modelbuilder.model.mclasses)
+               class_coloring.colorize(mclasses)
 
                # methods coloration
                var method_coloring = new MethodColoring(self.class_coloring)
@@ -239,7 +240,7 @@ class SeparateCompiler
 
                if modelbuilder.toolcontext.opt_bm_typing.value then
                        self.class_coloring = new NaiveClassColoring(mainmodule)
-                       self.class_coloring.colorize(modelbuilder.model.mclasses)
+                       self.class_coloring.colorize(mclasses)
                end
 
                # vt coloration
index 2528258..961fd2e 100644 (file)
@@ -74,8 +74,7 @@ class SeparateErasureCompiler
        init(mainmodule: MModule, mmbuilder: ModelBuilder, runtime_type_analysis: RapidTypeAnalysis) do
                super
 
-               var mclasses = new HashSet[MClass]
-               mclasses.add_all(mmbuilder.model.mclasses)
+               var mclasses = new HashSet[MClass].from(mmbuilder.model.mclasses)
 
                # classes coloration
                if modelbuilder.toolcontext.opt_phmod_typing.value then
@@ -111,7 +110,7 @@ class SeparateErasureCompiler
                        for mclass in mclasses do
                                self.class_ids[mclass] = self.class_ids.length + 1
                        end
-                       self.class_colors = class_coloring.colorize(modelbuilder.model.mclasses)
+                       self.class_colors = class_coloring.colorize(mclasses)
                        self.class_tables = class_coloring.build_type_tables(modelbuilder.model.mclasses, class_colors)
                end
        end