1 package org.simantics.scl.compiler.internal.types.ast;
3 import org.simantics.scl.compiler.internal.types.TypeElaborationContext;
4 import org.simantics.scl.compiler.types.Type;
5 import org.simantics.scl.compiler.types.Types;
6 import org.simantics.scl.compiler.types.exceptions.SCLTypeParseException;
8 public class TPredAst extends TypeAst {
10 public final TypeAst constraint;
11 public final TypeAst type;
13 public TPredAst(TypeAst constraint, TypeAst type) {
14 this.constraint = constraint;
19 public void toString(StringBuilder b) {
20 constraint.toString(b);
26 public Type toType(TypeElaborationContext context) throws SCLTypeParseException {
27 return Types.constrained(
28 constraint.toTFuncApply(context),
29 type.toType(context));
33 public int getPrecedence() {