var hashes: Map[MType, Map[MType, Int]] = new HashMap[MType, Map[MType, Int]]
end
+# Builders
+
abstract class TypeLayoutBuilder
type LAYOUT: TypeLayout
end
end
-abstract class AbstractColoring[E: Object]
+# Colorers
+
+abstract class AbstractColorer[E: Object]
private var core: Set[E] = new HashSet[E]
private var crown: Set[E] = new HashSet[E]
# MType coloring
private class MTypeColorer
- super AbstractColoring[MType]
-
- type T: MType
+ super AbstractColorer[MType]
var mmodule: MModule
redef fun reverse_linearize(elements) do return self.mmodule.reverse_linearize_mtypes(elements)
end
+# Perfect hashers
+
# MType Perfect Hashing
private class MTypeHasher
# MClass coloring
class ClassColoring
- super AbstractColoring[MClass]
+ super AbstractColorer[MClass]
type T: MClass