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