]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/utils/MethodBuilder.java
(refs #7414) Added Dynamic constructor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / utils / MethodBuilder.java
index 56b5c8e6767141bfae285180962016409a7ed975..52d19cc5474526386485205bc1cce5be35015af9 100644 (file)
@@ -4,6 +4,7 @@ import org.cojen.classfile.TypeDesc;
 import org.objectweb.asm.Label;
 import org.objectweb.asm.MethodVisitor;
 import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
+import org.simantics.scl.compiler.constants.LocalVariableConstant;
 import org.simantics.scl.compiler.internal.codegen.continuations.Cont;
 import org.simantics.scl.compiler.internal.codegen.continuations.ContRef;
 import org.simantics.scl.compiler.internal.codegen.continuations.ReturnCont;
@@ -231,6 +232,9 @@ public class MethodBuilder extends MethodBuilderBase {
             if(!boundVar.generateOnFly)
                 return getLocalVariable(boundVar);
         }
+        else if(val instanceof LocalVariableConstant) {
+            return ((LocalVariableConstant)val).var;
+        }
         push(val, type);
         LocalVariable temp = createLocalVariable(null, getJavaTypeTranslator().toTypeDesc(type));
         storeLocal(temp);