]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/SCLConstant.java
Merged changes from feature/scl to master.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / constants / SCLConstant.java
index a4c47ea76a8cb55a8bf39288cb9acbbd8d5c59ae..ce39a6780e4ba8920360ca15a241d6ad543f54fa 100644 (file)
@@ -99,7 +99,7 @@ public class SCLConstant extends DelegateConstant implements Named {
         if(isPrivate && !hasMoreThanOneOccurences())\r
             context.removeConstant(name);\r
         else\r
-            def = def.copy();\r
+            def = (SSAFunction)def.copy();\r
         \r
         if(parameters.length >= def.getArity()) {\r
             if(parameters.length != def.getArity())\r
@@ -363,7 +363,7 @@ public class SCLConstant extends DelegateConstant implements Named {
         definition.simplify(context);\r
         if(inlineArity == Integer.MAX_VALUE && definition.isSimpleEnoughForInline()) {\r
             inlineArity = definition.getArity();\r
-            inlinableDefinition = definition.copy();\r
+            inlinableDefinition = (SSAFunction)definition.copy();\r
             context.markModified("mark inlineable " + name);\r
             // FIXME this will make self calling function inlinable that may crash the compiler\r
         }\r
@@ -371,6 +371,6 @@ public class SCLConstant extends DelegateConstant implements Named {
 \r
     public void saveInlinableDefinition() {\r
         if(inlineArity < Integer.MAX_VALUE)\r
-            inlinableDefinition = definition.copy();\r
+            inlinableDefinition = (SSAFunction)definition.copy();\r
     }\r
 }\r