diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt index 89919a0e774..6794c70f7a0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/ResolvedAtomCompleter.kt @@ -94,10 +94,11 @@ class ResolvedAtomCompleter( topLevelCallCheckerContext kotlinToResolvedCallTransformer.bindAndReport(topLevelCallContext, topLevelTrace, resolvedCall, diagnostics) - kotlinToResolvedCallTransformer.runCallCheckers(resolvedCall, callCheckerContext) val lastCall = if (resolvedCall is VariableAsFunctionResolvedCall) resolvedCall.functionCall else resolvedCall + kotlinToResolvedCallTransformer.runArgumentsChecks(topLevelCallContext, topLevelTrace, lastCall as NewResolvedCallImpl<*>) + kotlinToResolvedCallTransformer.runCallCheckers(resolvedCall, callCheckerContext) return resolvedCall } diff --git a/compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt b/compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt new file mode 100644 index 00000000000..d5f0f13e4ba --- /dev/null +++ b/compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt @@ -0,0 +1,8 @@ +// !LANGUAGE: +ProperIeee754Comparisons +NewInference + +fun box(): String { + if (-0.0 < 0.0) return "Fail 1" + if (-0.0 < 0) return "Fail 2" + + return "OK" +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 9e638222e1a..55f7fff2d79 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -11469,6 +11469,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/ieee754/lessDouble.kt"); } + @TestMetadata("lessDouble_properIeeeAndNewInference.kt") + public void testLessDouble_properIeeeAndNewInference() throws Exception { + runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt"); + } + @TestMetadata("lessDouble_properIeeeComparisons.kt") public void testLessDouble_properIeeeComparisons() throws Exception { runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 0da3a84a2fe..93e5b5c792e 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -11469,6 +11469,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/ieee754/lessDouble.kt"); } + @TestMetadata("lessDouble_properIeeeAndNewInference.kt") + public void testLessDouble_properIeeeAndNewInference() throws Exception { + runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt"); + } + @TestMetadata("lessDouble_properIeeeComparisons.kt") public void testLessDouble_properIeeeComparisons() throws Exception { runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index d080d3b9d65..4b29579ef19 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -11474,6 +11474,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/ieee754/lessDouble.kt"); } + @TestMetadata("lessDouble_properIeeeAndNewInference.kt") + public void testLessDouble_properIeeeAndNewInference() throws Exception { + runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt"); + } + @TestMetadata("lessDouble_properIeeeComparisons.kt") public void testLessDouble_properIeeeComparisons() throws Exception { runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java index dd6a0d20810..df93bf79d57 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java @@ -9119,6 +9119,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/ieee754/lessDouble.kt"); } + @TestMetadata("lessDouble_properIeeeAndNewInference.kt") + public void testLessDouble_properIeeeAndNewInference() throws Exception { + runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt"); + } + @TestMetadata("lessDouble_properIeeeComparisons.kt") public void testLessDouble_properIeeeComparisons() throws Exception { runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 1097b0f57ea..d72f91b37fe 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -10169,6 +10169,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/ieee754/lessDouble.kt"); } + @TestMetadata("lessDouble_properIeeeAndNewInference.kt") + public void testLessDouble_properIeeeAndNewInference() throws Exception { + runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeAndNewInference.kt"); + } + @TestMetadata("lessDouble_properIeeeComparisons.kt") public void testLessDouble_properIeeeComparisons() throws Exception { runTest("compiler/testData/codegen/box/ieee754/lessDouble_properIeeeComparisons.kt");