1 package org.simantics.scl.compiler.elaboration.chr.relations;
3 import org.simantics.scl.compiler.elaboration.chr.CHRRelation;
4 import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
5 import org.simantics.scl.compiler.types.TPred;
6 import org.simantics.scl.compiler.types.TVar;
7 import org.simantics.scl.compiler.types.Type;
9 import gnu.trove.set.hash.THashSet;
11 public class ExternalCHRRelation implements CHRRelation {
12 public final SCLRelation relation;
14 public ExternalCHRRelation(SCLRelation relation) {
15 this.relation = relation;
19 public TVar[] getTypeVariables() {
20 return relation.getTypeVariables();
24 public Type[] getParameterTypes() {
25 return relation.getParameterTypes();
29 public TPred[] getTypeConstraints() {
30 return relation.getTypeConstraints();
34 public String toString() {
35 return relation.toString();
39 public String[] getFieldNames() {
40 return relation.getFieldNames();
44 public void collectEnforceEffects(THashSet<Type> effects) {
45 effects.add(relation.getEnforceEffect());
49 public void collectQueryEffects(THashSet<Type> effects) {
50 effects.add(relation.getQueryEffect());