--- /dev/null
+package org.simantics.scl.compiler.internal.parsing.declarations;\r
+\r
+import org.simantics.scl.compiler.internal.parsing.Symbol;\r
+import org.simantics.scl.compiler.internal.parsing.types.TypeAst;\r
+\r
+\r
+public class ConstructorAst extends Symbol {\r
+ public static final ConstructorAst[] EMPTY_ARRAY = new ConstructorAst[0];\r
+ \r
+ public final DAnnotationAst[] annotations;\r
+ public final String name;\r
+ public final TypeAst[] parameters;\r
+ public final String[] fieldNames; // null, if no field names\r
+ \r
+ public ConstructorAst(DAnnotationAst[] annotations, String name,\r
+ TypeAst[] parameters, String[] fieldNames) {\r
+ this.annotations = annotations;\r
+ this.name = name;\r
+ this.parameters = parameters;\r
+ this.fieldNames = fieldNames;\r
+ }\r
+\r
+ public void toString(StringBuilder b) {\r
+ b.append(name);\r
+ for(TypeAst parameter : parameters) {\r
+ b.append(' ');\r
+ parameter.toString(b, 1);\r
+ }\r
+ }\r
+}\r