X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fconstants%2FSCLConstant.java;h=ce39a6780e4ba8920360ca15a241d6ad543f54fa;hp=a4c47ea76a8cb55a8bf39288cb9acbbd8d5c59ae;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/SCLConstant.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/SCLConstant.java index a4c47ea76..ce39a6780 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/SCLConstant.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/SCLConstant.java @@ -99,7 +99,7 @@ public class SCLConstant extends DelegateConstant implements Named { if(isPrivate && !hasMoreThanOneOccurences()) context.removeConstant(name); else - def = def.copy(); + def = (SSAFunction)def.copy(); if(parameters.length >= def.getArity()) { if(parameters.length != def.getArity()) @@ -363,7 +363,7 @@ public class SCLConstant extends DelegateConstant implements Named { definition.simplify(context); if(inlineArity == Integer.MAX_VALUE && definition.isSimpleEnoughForInline()) { inlineArity = definition.getArity(); - inlinableDefinition = definition.copy(); + inlinableDefinition = (SSAFunction)definition.copy(); context.markModified("mark inlineable " + name); // FIXME this will make self calling function inlinable that may crash the compiler } @@ -371,6 +371,6 @@ public class SCLConstant extends DelegateConstant implements Named { public void saveInlinableDefinition() { if(inlineArity < Integer.MAX_VALUE) - inlinableDefinition = definition.copy(); + inlinableDefinition = (SSAFunction)definition.copy(); } }