-package org.simantics.scl.compiler.internal.parsing.declarations;\r
-\r
-import java.util.ArrayList;\r
-\r
-import org.simantics.scl.compiler.elaboration.expressions.EVar;\r
-import org.simantics.scl.compiler.internal.parsing.types.TypeAst;\r
-\r
-public class DInstanceAst extends DeclarationAst {\r
- public final TypeAst[] context;\r
- public final EVar name;\r
- public final TypeAst[] types;\r
- public final DeclarationAst[] declarations;\r
- \r
- public DInstanceAst(long loc, TypeAst[] context, EVar name, TypeAst[] types) {\r
- this.location = loc;\r
- this.context = context;\r
- this.name = name;\r
- this.types = types;\r
- this.declarations = DeclarationAst.EMPTY_ARRAY;\r
- }\r
-\r
- public DInstanceAst(ArrayList<TypeAst> context, EVar name, \r
- TypeAst[] types, ArrayList<DeclarationAst> declarations) {\r
- this.context = context.toArray(new TypeAst[context.size()]);\r
- this.name = name;\r
- this.types = types;\r
- this.declarations = declarations == null ? EMPTY_ARRAY : declarations.toArray(new DeclarationAst[declarations.size()]);\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("instance ");\r
- if(context.length > 0) {\r
- b.append("(");\r
- for(int i=0;i<context.length;++i) {\r
- if(i>0)\r
- b.append(", ");\r
- context[i].toString(b);\r
- }\r
- b.append(") => ");\r
- \r
- }\r
- b.append(name);\r
- for(TypeAst type : types) {\r
- b.append(' ');\r
- type.toString(b, 1);\r
- }\r
- if(declarations.length > 0) {\r
- b.append(" where");\r
- for(DeclarationAst declaration : declarations) {\r
- b.append('\n');\r
- declaration.toString(indentation+1, b);\r
- }\r
- }\r
- }\r
-}\r
+package org.simantics.scl.compiler.internal.parsing.declarations;
+
+import java.util.ArrayList;
+
+import org.simantics.scl.compiler.elaboration.expressions.EVar;
+import org.simantics.scl.compiler.internal.parsing.types.TypeAst;
+
+public class DInstanceAst extends DeclarationAst {
+ public final TypeAst[] context;
+ public final EVar name;
+ public final TypeAst[] types;
+ public final DeclarationAst[] declarations;
+
+ public DInstanceAst(long loc, TypeAst[] context, EVar name, TypeAst[] types) {
+ this.location = loc;
+ this.context = context;
+ this.name = name;
+ this.types = types;
+ this.declarations = DeclarationAst.EMPTY_ARRAY;
+ }
+
+ public DInstanceAst(ArrayList<TypeAst> context, EVar name,
+ TypeAst[] types, ArrayList<DeclarationAst> declarations) {
+ this.context = context.toArray(new TypeAst[context.size()]);
+ this.name = name;
+ this.types = types;
+ this.declarations = declarations == null ? EMPTY_ARRAY : declarations.toArray(new DeclarationAst[declarations.size()]);
+ }
+
+ @Override
+ public void toString(int indentation, StringBuilder b) {
+ for(int i=0;i<indentation;++i) b.append(" ");
+ b.append("instance ");
+ if(context.length > 0) {
+ b.append("(");
+ for(int i=0;i<context.length;++i) {
+ if(i>0)
+ b.append(", ");
+ context[i].toString(b);
+ }
+ b.append(") => ");
+
+ }
+ b.append(name);
+ for(TypeAst type : types) {
+ b.append(' ');
+ type.toString(b, 1);
+ }
+ if(declarations.length > 0) {
+ b.append(" where");
+ for(DeclarationAst declaration : declarations) {
+ b.append('\n');
+ declaration.toString(indentation+1, b);
+ }
+ }
+ }
+}