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%2Felaboration%2Fexpressions%2FEApply.java;h=501c7f95d3db2c4c52fbba2caa630ee1716bb1f1;hp=fd5822743432a533e3ec9d5e482adfb2582733b1;hb=63f6a68f31de96e8e8f31cd99b79c365029aa557;hpb=c0464cc6dd167281b1c104b61dd81da23e7a8698 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EApply.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EApply.java index fd5822743..501c7f95d 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EApply.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EApply.java @@ -3,6 +3,7 @@ package org.simantics.scl.compiler.elaboration.expressions; import java.util.ArrayList; import org.simantics.scl.compiler.common.names.Name; +import org.simantics.scl.compiler.common.names.Names; import org.simantics.scl.compiler.constants.NoRepConstant; import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext; import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext; @@ -287,12 +288,16 @@ public class EApply extends Expression { @Override public Expression inferType(TypingContext context) { + if(parameters.length == 2 && function instanceof EConstant && ((EConstant)function).value.getName() == Names.Prelude_dollar) + return new EApply(location, parameters[0], parameters[1]).inferType(context); inferType(context, false); return this; } @Override public Expression checkIgnoredType(TypingContext context) { + if(parameters.length == 2 && function instanceof EConstant && ((EConstant)function).value.getName() == Names.Prelude_dollar) + return new EApply(location, parameters[0], parameters[1]).inferType(context); inferType(context, true); if(Types.canonical(getType()) != Types.UNIT) return new ESimpleLet(location, null, this, new ELiteral(NoRepConstant.PUNIT));