]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/ExternalCHRRelation.java
(refs #7375) Fixed implementation of collectEffects
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / chr / relations / ExternalCHRRelation.java
index 10f2317ab7fba7d8b4914f9811f185117322b745..fdfa195ac53158f9e4f94606ef676e102e296b16 100644 (file)
@@ -2,9 +2,12 @@ package org.simantics.scl.compiler.elaboration.chr.relations;
 
 import org.simantics.scl.compiler.elaboration.chr.CHRRelation;
 import org.simantics.scl.compiler.elaboration.relations.SCLRelation;
+import org.simantics.scl.compiler.types.TPred;
 import org.simantics.scl.compiler.types.TVar;
 import org.simantics.scl.compiler.types.Type;
 
+import gnu.trove.set.hash.THashSet;
+
 public class ExternalCHRRelation implements CHRRelation {
     public final SCLRelation relation;
 
@@ -21,9 +24,29 @@ public class ExternalCHRRelation implements CHRRelation {
     public Type[] getParameterTypes() {
         return relation.getParameterTypes();
     }
+
+    @Override
+    public TPred[] getTypeConstraints() {
+        return relation.getTypeConstraints();
+    }
     
     @Override
     public String toString() {
         return relation.toString();
     }
+    
+    @Override
+    public String[] getFieldNames() {
+        return relation.getFieldNames();
+    }
+
+    @Override
+    public void collectEnforceEffects(THashSet<Type> effects) {
+        effects.add(relation.getEnforceEffect());
+    }
+
+    @Override
+    public void collectQueryEffects(THashSet<Type> effects) {
+        effects.add(relation.getQueryEffect());
+    }
 }