]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/references/IVal.java
SCL compiler generates line numbers to bytecode
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / references / 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 }