1 package org.simantics.scl.compiler.elaboration.chr.relations;
3 import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
4 import org.simantics.scl.compiler.elaboration.chr.CHRRelation;
5 import org.simantics.scl.compiler.internal.parsing.Symbol;
6 import org.simantics.scl.compiler.types.TPred;
7 import org.simantics.scl.compiler.types.TVar;
8 import org.simantics.scl.compiler.types.Type;
9 import org.simantics.scl.compiler.types.Types;
11 import gnu.trove.set.hash.THashSet;
13 public class UnresolvedCHRRelation extends Symbol implements CHRRelation {
16 public UnresolvedCHRRelation(long location, String name) {
17 this.location = location;
22 public Type[] getParameterTypes() {
23 throw new InternalCompilerError("Encountered unresolved CHRRelation during type checking.");
27 public TVar[] getTypeVariables() {
28 throw new InternalCompilerError("Encountered unresolved CHRRelation during type checking.");
31 public TPred[] getTypeConstraints() {
32 throw new InternalCompilerError("Encountered unresolved CHRRelation during type checking.");
36 public void collectEnforceEffects(THashSet<Type> effects) {
37 effects.add(Types.PROC);
41 public void collectQueryEffects(THashSet<Type> effects) {
42 effects.add(Types.PROC);