]> gerrit.simantics Code Review - simantics/platform.git/blob
0267692548c25aba1121f32d17cb88f5cc16d7b1
[simantics/platform.git] /
1 package org.simantics.scl.compiler.internal.deriving;\r
2 \r
3 import org.simantics.scl.compiler.types.TCon;\r
4 import org.simantics.scl.compiler.types.Types;\r
5 \r
6 import gnu.trove.map.hash.THashMap;\r
7 \r
8 public class InstanceDerivers {\r
9     private static final THashMap<TCon, InstanceDeriver> MAP = \r
10             new THashMap<TCon, InstanceDeriver>();\r
11     \r
12     static {\r
13         MAP.put(Types.EQ, new EqDeriver());\r
14         MAP.put(Types.HASHABLE, new HashableDeriver());\r
15         MAP.put(Types.IO, new IODeriver());\r
16         MAP.put(Types.ORD, new OrdDeriver());\r
17         MAP.put(Types.SHOW, new ShowDeriver());\r
18     }\r
19     \r
20     public static InstanceDeriver get(TCon typeClass) {\r
21         return MAP.get(typeClass);\r
22     }\r
23 }\r