1 package org.simantics.scl.compiler.elaboration.chr.relations;
3 import org.simantics.scl.compiler.elaboration.chr.CHRRelation;
4 import org.simantics.scl.compiler.types.TVar;
5 import org.simantics.scl.compiler.types.Type;
6 import org.simantics.scl.compiler.types.Types;
8 public enum SpecialCHRRelation implements CHRRelation {
10 MEMBER(A, Types.list(A)),
14 private final TVar[] typeVariables;
15 private final Type[] parameterTypes;
17 private SpecialCHRRelation(Type ... parameterTypes) {
18 this.typeVariables = Types.freeVarsArray(parameterTypes);
19 this.parameterTypes = parameterTypes;
23 public TVar[] getTypeVariables() {
28 public Type[] getParameterTypes() {
29 return parameterTypes;