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%2FSpecialCHRRelation.java;h=c5dbe3c4190b54cf7aff3c08101168a6b50626b5;hb=b2c6aed4003ef264fb48eed9ac9f2d0f6c2d5b13;hp=dac751480e6c3a3cf28c1d41f6743a180c905bac;hpb=4bf8562ab7cbb3747f9c5844a07469291d43e905;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/SpecialCHRRelation.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/SpecialCHRRelation.java index dac751480..c5dbe3c41 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/SpecialCHRRelation.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/relations/SpecialCHRRelation.java @@ -1,31 +1,36 @@ -package org.simantics.scl.compiler.elaboration.chr.relations; - -import org.simantics.scl.compiler.elaboration.chr.CHRRelation; -import org.simantics.scl.compiler.types.TVar; -import org.simantics.scl.compiler.types.Type; -import org.simantics.scl.compiler.types.Types; - -public enum SpecialCHRRelation implements CHRRelation { - EQUALS(A, A), - MEMBER(A, Types.list(A)), - CHECK(Types.BOOLEAN), - EXECUTE(Types.UNIT); - - private final TVar[] typeVariables; - private final Type[] parameterTypes; - - private SpecialCHRRelation(Type ... parameterTypes) { - this.typeVariables = Types.freeVarsArray(parameterTypes); - this.parameterTypes = parameterTypes; - } - - @Override - public TVar[] getTypeVariables() { - return typeVariables; - } - - @Override - public Type[] getParameterTypes() { - return parameterTypes; - } -} +package org.simantics.scl.compiler.elaboration.chr.relations; + +import org.simantics.scl.compiler.elaboration.chr.CHRRelation; +import org.simantics.scl.compiler.types.TPred; +import org.simantics.scl.compiler.types.TVar; +import org.simantics.scl.compiler.types.Type; +import org.simantics.scl.compiler.types.Types; + +public enum SpecialCHRRelation implements CHRRelation { + EQUALS(A, A), + MEMBER(A, Types.list(A)), + CHECK(Types.BOOLEAN), + EXECUTE(Types.UNIT); + + private final TVar[] typeVariables; + private final Type[] parameterTypes; + + private SpecialCHRRelation(Type ... parameterTypes) { + this.typeVariables = Types.freeVarsArray(parameterTypes); + this.parameterTypes = parameterTypes; + } + + @Override + public TVar[] getTypeVariables() { + return typeVariables; + } + + @Override + public Type[] getParameterTypes() { + return parameterTypes; + } + + public TPred[] getTypeConstraints() { + return TPred.EMPTY_ARRAY; + } +}