1 package org.simantics.scl.compiler.internal.codegen.continuations;
\r
3 import org.simantics.scl.compiler.internal.codegen.ssa.SSAFunction;
\r
4 import org.simantics.scl.compiler.internal.codegen.utils.CopyContext;
\r
5 import org.simantics.scl.compiler.types.TVar;
\r
6 import org.simantics.scl.compiler.types.Type;
\r
7 import org.simantics.scl.compiler.types.util.Typed;
\r
10 public final class ReturnCont extends Cont implements Typed {
\r
12 transient SSAFunction parent;
\r
14 public ReturnCont(Type returnType) {
\r
15 this.returnType = returnType;
\r
18 public void setParent(SSAFunction parent) {
\r
19 this.parent = parent;
\r
23 public Type getType() {
\r
28 public int getArity() {
\r
33 public Type getParameterType(int parameterId) {
\r
34 if(parameterId != 0)
\r
35 throw new IllegalArgumentException();
\r
39 public ReturnCont copy(CopyContext context) {
\r
40 return new ReturnCont(context.copyType(returnType));
\r
44 public void replace(TVar[] vars, Type[] replacements) {
\r
45 returnType = returnType.replace(vars, replacements);
\r
48 public void setType(Type type) {
\r
49 this.returnType = type;
\r