1 package org.simantics.scl.compiler.internal.codegen.types;
\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
9 public class MaybeType extends TypeConstructor {
\r
10 public static final MaybeType INSTANCE = new MaybeType();
\r
12 private MaybeType() {
\r
13 super(Types.MAYBE, Kinds.STAR_TO_STAR);
\r
15 setType(Types.con(Types.BUILTIN, "Maybe"), Types.var(Kinds.STAR));
\r
16 documentation = "Represents an optional value.";
\r
20 public TypeDesc construct(JavaTypeTranslator translator, Type[] parameters) {
\r
21 return JavaTypeTranslator.toObjectType(translator.toTypeDesc(parameters[0]));
\r