]> gerrit.simantics Code Review - simantics/platform.git/blob - IVal.java
b396fd315d4fce48f446ac3042dcd2d5eed4351e
[simantics/platform.git] / IVal.java
1 package org.simantics.scl.compiler.internal.codegen.references;
2
3 import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder;
4 import org.simantics.scl.compiler.internal.codegen.utils.TransientClassBuilder;
5 import org.simantics.scl.compiler.types.Type;
6 import org.simantics.scl.compiler.types.util.Typed;
7
8 public interface IVal extends Typed {
9
10     ValRef createOccurrence();
11     ValRef createOccurrence(Type ... parameters);
12     
13     IVal createSpecialization(Type ... parameters);
14
15     void push(MethodBuilder mb);
16     Type apply(MethodBuilder mb, Type[] typeParameters, Val ... parameters);
17     
18     Object realizeValue(TransientClassBuilder classBuilder);
19     void setLabel(String label);
20     
21 }