X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fmodules%2FTypeAlias.java;h=ce8d780c8d422f31829e87cbf42794b8dc50b28a;hp=ce888324ce2bda26efc182a97e9ea388d2a328b5;hb=c07a8f3914123e9b75a11290994a8b78bd3f01f7;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/modules/TypeAlias.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/modules/TypeAlias.java index ce888324c..ce8d780c8 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/modules/TypeAlias.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/modules/TypeAlias.java @@ -1,25 +1,43 @@ -package org.simantics.scl.compiler.elaboration.modules; - -import org.simantics.scl.compiler.types.TCon; -import org.simantics.scl.compiler.types.TVar; -import org.simantics.scl.compiler.types.Type; - -public class TypeAlias { - TCon con; - - public TVar[] parameters; - public Type body; - - public TypeAlias(TCon con, int arity) { - this.con = con; - this.parameters = new TVar[arity]; - } - - public TCon getCon() { - return con; - } - - public int getArity() { - return parameters.length; - } -} +package org.simantics.scl.compiler.elaboration.modules; + +import org.simantics.scl.compiler.common.exceptions.InternalCompilerError; +import org.simantics.scl.compiler.types.TCon; +import org.simantics.scl.compiler.types.TVar; +import org.simantics.scl.compiler.types.Type; +import org.simantics.scl.compiler.types.kinds.Kind; + +public class TypeAlias extends TypeDescriptor { + public TVar[] parameters; + public Type body; + public String documentation; + + public TypeAlias(TCon name, int arity) { + super(name); + this.parameters = new TVar[arity]; + } + + public TypeAlias(TCon name, TVar[] parameters, Type body) { + super(name); + this.parameters = parameters; + this.body = body; + } + + public int getArity() { + return parameters.length; + } + + @Override + public Kind getKind() { + throw new InternalCompilerError("Unsupported method TypeAlias.getKind invoked."); + } + + @Override + public void setDocumentation(String documentation) { + this.documentation = documentation; + } + + @Override + public String getDocumentation() { + return documentation; + } +}