-package org.simantics.scl.compiler.internal.parsing.declarations;\r
-\r
-import java.util.Collections;\r
-import java.util.List;\r
-\r
-import org.simantics.scl.compiler.internal.codegen.types.StandardTypeConstructor;\r
-import org.simantics.scl.compiler.types.kinds.Kind;\r
-\r
-\r
-\r
-public class DDataAst extends DeclarationAst {\r
- public final String name;\r
- public final String[] parameters;\r
- public final ConstructorAst[] constructors;\r
- public final String[] deriving;\r
- \r
- private List<DAnnotationAst> annotations = Collections.emptyList();\r
- \r
- // Analyzed data\r
- public Kind[] parameterKinds;\r
- //public String javaName;\r
- public StandardTypeConstructor typeConstructor;\r
- \r
- public DDataAst(String name, String[] parameters, ConstructorAst[] constructors, String[] deriving) {\r
- this.name = name;\r
- this.parameters = parameters;\r
- this.constructors = constructors == null ? ConstructorAst.EMPTY_ARRAY : constructors;\r
- this.deriving = deriving;\r
- }\r
- \r
- public void setAnnotations(List<DAnnotationAst> annotations) {\r
- this.annotations = annotations;\r
- }\r
- \r
- public List<DAnnotationAst> getAnnotations() {\r
- return annotations;\r
- }\r
- \r
- @Override\r
- public void toString(int indentation, StringBuilder b) {\r
- for(int i=0;i<indentation;++i) b.append(" ");\r
- b.append("data ");\r
- b.append(name);\r
- for(String parameter : parameters) {\r
- b.append(' ');\r
- b.append(parameter);\r
- }\r
- if(constructors.length > 0) {\r
- b.append(" = "); \r
- for(int i=0;i<constructors.length;++i) {\r
- if(i > 0)\r
- b.append(" | ");\r
- constructors[i].toString(b);\r
- }\r
- }\r
- }\r
-}\r
+package org.simantics.scl.compiler.internal.parsing.declarations;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.simantics.scl.compiler.internal.codegen.types.StandardTypeConstructor;
+import org.simantics.scl.compiler.types.kinds.Kind;
+
+
+
+public class DDataAst extends DeclarationAst {
+ public final String name;
+ public final String[] parameters;
+ public final ConstructorAst[] constructors;
+ public final String[] deriving;
+
+ private List<DAnnotationAst> annotations = Collections.emptyList();
+
+ // Analyzed data
+ public Kind[] parameterKinds;
+ //public String javaName;
+ public StandardTypeConstructor typeConstructor;
+
+ public DDataAst(String name, String[] parameters, ConstructorAst[] constructors, String[] deriving) {
+ this.name = name;
+ this.parameters = parameters;
+ this.constructors = constructors == null ? ConstructorAst.EMPTY_ARRAY : constructors;
+ this.deriving = deriving;
+ }
+
+ public void setAnnotations(List<DAnnotationAst> annotations) {
+ this.annotations = annotations;
+ }
+
+ public List<DAnnotationAst> getAnnotations() {
+ return annotations;
+ }
+
+ @Override
+ public void toString(int indentation, StringBuilder b) {
+ for(int i=0;i<indentation;++i) b.append(" ");
+ b.append("data ");
+ b.append(name);
+ for(String parameter : parameters) {
+ b.append(' ');
+ b.append(parameter);
+ }
+ if(constructors.length > 0) {
+ b.append(" = ");
+ for(int i=0;i<constructors.length;++i) {
+ if(i > 0)
+ b.append(" | ");
+ constructors[i].toString(b);
+ }
+ }
+ }
+}