]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/kinds/KArrow.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / types / kinds / KArrow.java
1 package org.simantics.scl.compiler.types.kinds;
2
3 import org.simantics.scl.compiler.types.util.TypeUnparsingContext;
4
5 /**
6  * KArrow represents a type kind that has a domain kind and a range kind. 
7  */
8 public class KArrow extends Kind {
9     public final Kind domain;
10     public final Kind range;
11     
12     KArrow(Kind domain, Kind range) {
13         this.domain = domain;
14         this.range = range;
15     }
16
17     @Override
18     protected void toString(TypeUnparsingContext tuc, StringBuilder b) {
19         domain.toStringPar(tuc, b);
20         b.append(" -> ");
21         range.toString(tuc, b);
22     }
23
24     @Override
25     public boolean contains(KMetaVar var) {
26         return domain.contains(var) || range.contains(var);
27     }
28 }