--- /dev/null
+package org.simantics.scl.compiler.internal.deriving;\r
+\r
+import gnu.trove.map.hash.THashMap;\r
+\r
+import org.simantics.scl.compiler.types.TCon;\r
+import org.simantics.scl.compiler.types.Types;\r
+\r
+public class InstanceDerivers {\r
+ private static final THashMap<TCon, InstanceDeriver> MAP = \r
+ new THashMap<TCon, InstanceDeriver>();\r
+ \r
+ static {\r
+ MAP.put(Types.EQ, new EqDeriver());\r
+ MAP.put(Types.HASHABLE, new HashableDeriver());\r
+ MAP.put(Types.IO, new IODeriver());\r
+ MAP.put(Types.ORD, new OrdDeriver());\r
+ MAP.put(Types.SHOW, new ShowDeriver());\r
+ }\r
+ \r
+ public static InstanceDeriver get(TCon typeClass) {\r
+ return MAP.get(typeClass);\r
+ }\r
+}\r