-package org.simantics.scl.compiler.elaboration.modules;\r
-\r
-import gnu.trove.map.hash.THashMap;\r
-\r
-import org.simantics.scl.compiler.constants.Constant;\r
-import org.simantics.scl.compiler.elaboration.errors.ElabNode;\r
-import org.simantics.scl.compiler.types.TPred;\r
-import org.simantics.scl.compiler.types.TVar;\r
-\r
-public class TypeClassInstance extends ElabNode {\r
- public final TypeClass typeClass;\r
- public final TPred[] context; \r
- public final TPred instance; \r
- public final THashMap<String, MethodImplementation> methodImplementations;\r
- public final Constant generator;\r
- public final TVar[] generatorParameters;\r
- public final String javaName;\r
- public SCLValue[] superExpressions;\r
- \r
- public TypeClassInstance(long loc, TypeClass typeClass,\r
- Constant generator, \r
- TVar[] generatorParameters, TPred[] context, TPred instance,\r
- THashMap<String, MethodImplementation> methodImplementations,\r
- String javaName) {\r
- this.location = loc;\r
- this.typeClass = typeClass;\r
- this.generator = generator;\r
- this.generatorParameters = generatorParameters; \r
- this.context = context;\r
- this.instance = instance; \r
- this.methodImplementations = methodImplementations;\r
- this.javaName = javaName;\r
- }\r
- \r
- /*\r
- public void toString(final StringBuilder b) {\r
- final TypeUnparsingContext tuc = new TypeUnparsingContext();\r
- b.append("instance (");\r
- for(int i=0;i<context.length;++i) {\r
- if(i>0)\r
- b.append(", ");\r
- context[i].toString(tuc);\r
- b.append(context[i]);\r
- }\r
- b.append(") => ");\r
- b.append(instance.toString(tuc));\r
- b.append(" where\n");\r
- methodImplementations.forEachEntry(new TObjectObjectProcedure<String, Name>() { \r
- @Override\r
- public boolean execute(String name, Name functionName) {\r
- b.append(" ");\r
- b.append(name);\r
- b.append(" = ");\r
- b.append(functionName);\r
- b.append('\n');\r
- return true;\r
- }\r
- });\r
- }\r
- */\r
-}\r
+package org.simantics.scl.compiler.elaboration.modules;
+
+import org.simantics.scl.compiler.constants.Constant;
+import org.simantics.scl.compiler.elaboration.errors.ElabNode;
+import org.simantics.scl.compiler.types.TPred;
+import org.simantics.scl.compiler.types.TVar;
+
+import gnu.trove.map.hash.THashMap;
+
+public class TypeClassInstance extends ElabNode {
+ public final TypeClass typeClass;
+ public final TPred[] context;
+ public final TPred instance;
+ public final THashMap<String, MethodImplementation> methodImplementations;
+ public final Constant generator;
+ public final TVar[] generatorParameters;
+ public final String javaName;
+ public SCLValue[] superExpressions;
+
+ public TypeClassInstance(long loc, TypeClass typeClass,
+ Constant generator,
+ TVar[] generatorParameters, TPred[] context, TPred instance,
+ THashMap<String, MethodImplementation> methodImplementations,
+ String javaName) {
+ this.location = loc;
+ this.typeClass = typeClass;
+ this.generator = generator;
+ this.generatorParameters = generatorParameters;
+ this.context = context;
+ this.instance = instance;
+ this.methodImplementations = methodImplementations;
+ this.javaName = javaName;
+ }
+
+ /*
+ public void toString(final StringBuilder b) {
+ final TypeUnparsingContext tuc = new TypeUnparsingContext();
+ b.append("instance (");
+ for(int i=0;i<context.length;++i) {
+ if(i>0)
+ b.append(", ");
+ context[i].toString(tuc);
+ b.append(context[i]);
+ }
+ b.append(") => ");
+ b.append(instance.toString(tuc));
+ b.append(" where\n");
+ methodImplementations.forEachEntry(new TObjectObjectProcedure<String, Name>() {
+ @Override
+ public boolean execute(String name, Name functionName) {
+ b.append(" ");
+ b.append(name);
+ b.append(" = ");
+ b.append(functionName);
+ b.append('\n');
+ return true;
+ }
+ });
+ }
+ */
+}