]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/types/ast/TVarAst.java
(refs #7588) Support for existential type variables with syntax ?v
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / types / ast / TVarAst.java
1 package org.simantics.scl.compiler.internal.types.ast;
2
3 import org.simantics.scl.compiler.internal.types.TypeElaborationContext;
4 import org.simantics.scl.compiler.types.Type;
5
6
7
8 public class TVarAst extends TypeAst {    
9     public final String name;
10     
11     public TVarAst(String name) {
12         this.name = name;
13     }
14
15     @Override
16     public void toString(StringBuilder b) {
17         b.append(name);
18     }
19
20     @Override
21     public Type toType(TypeElaborationContext context) {
22         return name.startsWith("?") ? context.resolveExistential(name) : context.resolveTypeVariable(name);
23     }
24
25     @Override
26     public int getPrecedence() {
27         return 0;
28     }
29 }