X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fconstants%2FSCLConstant.java;h=ce39a6780e4ba8920360ca15a241d6ad543f54fa;hb=cb5fc8d606d8b322563e9345c441eecfa7f01753;hp=a4c47ea76a8cb55a8bf39288cb9acbbd8d5c59ae;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git 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(); } }