-package org.simantics.scl.compiler.internal.codegen.references;\r
-\r
-import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;\r
-import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder;\r
-import org.simantics.scl.compiler.internal.codegen.utils.TransientClassBuilder;\r
-import org.simantics.scl.compiler.types.Type;\r
-import org.simantics.scl.compiler.types.Types;\r
-\r
-public class ValSpecialization implements IVal {\r
-\r
- Val val;\r
- Type[] parameters;\r
- \r
- public ValSpecialization(Val val, Type ... parameters) {\r
- this.val = val;\r
- this.parameters = parameters;\r
- }\r
-\r
- @Override\r
- public Type getType() {\r
- return Types.instantiate(val.getType(), parameters); \r
- }\r
-\r
- @Override\r
- public ValRef createOccurrence() {\r
- return val.createOccurrence(parameters);\r
- }\r
-\r
- @Override\r
- public IVal createSpecialization(Type... parameters) {\r
- return new ValSpecialization(val, Types.concat(this.parameters, parameters));\r
- }\r
-\r
- @Override\r
- public void push(MethodBuilder mb) {\r
- throw new InternalCompilerError();\r
- }\r
-\r
- @Override\r
- public ValRef createOccurrence(Type... parameters) {\r
- return val.createOccurrence(Types.concat(this.parameters, parameters));\r
- }\r
-\r
- @Override\r
- public Type apply(MethodBuilder mb, Type[] typeParameters,\r
- Val... parameters) {\r
- throw new InternalCompilerError();\r
- }\r
-\r
- @Override\r
- public Object realizeValue(TransientClassBuilder classLoader) {\r
- return val.realizeValue(classLoader);\r
- }\r
-\r
- @Override\r
- public void setLabel(String label) { \r
- }\r
-\r
-}\r
+package org.simantics.scl.compiler.internal.codegen.references;
+
+import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
+import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder;
+import org.simantics.scl.compiler.internal.codegen.utils.TransientClassBuilder;
+import org.simantics.scl.compiler.types.Type;
+import org.simantics.scl.compiler.types.Types;
+
+public class ValSpecialization implements IVal {
+
+ Val val;
+ Type[] parameters;
+
+ public ValSpecialization(Val val, Type ... parameters) {
+ this.val = val;
+ this.parameters = parameters;
+ }
+
+ @Override
+ public Type getType() {
+ return Types.instantiate(val.getType(), parameters);
+ }
+
+ @Override
+ public ValRef createOccurrence() {
+ return val.createOccurrence(parameters);
+ }
+
+ @Override
+ public IVal createSpecialization(Type... parameters) {
+ return new ValSpecialization(val, Types.concat(this.parameters, parameters));
+ }
+
+ @Override
+ public void push(MethodBuilder mb) {
+ throw new InternalCompilerError();
+ }
+
+ @Override
+ public ValRef createOccurrence(Type... parameters) {
+ return val.createOccurrence(Types.concat(this.parameters, parameters));
+ }
+
+ @Override
+ public Type apply(MethodBuilder mb, Type[] typeParameters,
+ Val... parameters) {
+ throw new InternalCompilerError();
+ }
+
+ @Override
+ public Object realizeValue(TransientClassBuilder classLoader) {
+ return val.realizeValue(classLoader);
+ }
+
+ @Override
+ public void setLabel(String label) {
+ }
+
+}