]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/types/MaybeType.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / types / MaybeType.java
1 package org.simantics.scl.compiler.internal.codegen.types;\r
2 \r
3 import org.cojen.classfile.TypeDesc;\r
4 import org.simantics.scl.compiler.elaboration.modules.TypeConstructor;\r
5 import org.simantics.scl.compiler.types.Type;\r
6 import org.simantics.scl.compiler.types.Types;\r
7 import org.simantics.scl.compiler.types.kinds.Kinds;\r
8 \r
9 public class MaybeType extends TypeConstructor {\r
10     public static final MaybeType INSTANCE = new MaybeType();\r
11     \r
12     private MaybeType() {\r
13         super(Types.MAYBE, Kinds.STAR_TO_STAR);\r
14         isOpen = false;\r
15         setType(Types.con(Types.BUILTIN, "Maybe"), Types.var(Kinds.STAR));\r
16         documentation = "Represents an optional value.";\r
17     }\r
18     \r
19     @Override\r
20     public TypeDesc construct(JavaTypeTranslator translator, Type[] parameters) {\r
21         return JavaTypeTranslator.toObjectType(translator.toTypeDesc(parameters[0]));\r
22     }\r
23 \r
24 }\r