X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fchr%2Frelations%2FExternalCHRRelation.java;h=fdfa195ac53158f9e4f94606ef676e102e296b16;hb=HEAD;hp=10f2317ab7fba7d8b4914f9811f185117322b745;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/ExternalCHRRelation.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/ExternalCHRRelation.java index 10f2317ab..fdfa195ac 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/ExternalCHRRelation.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/ExternalCHRRelation.java @@ -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 effects) { + effects.add(relation.getEnforceEffect()); + } + + @Override + public void collectQueryEffects(THashSet effects) { + effects.add(relation.getQueryEffect()); + } }