From 71acd4272703f471a80859a687a3ea93cba95ffb Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 27 Nov 2019 17:51:06 +0300 Subject: [PATCH] [FIR-TEST] Add test with ambiguity produced by definitely not null types --- .../problems/definitelyNotNullAmbiguity.kt | 21 +++++++++++++++++++ .../problems/definitelyNotNullAmbiguity.txt | 9 ++++++++ .../fir/FirDiagnosticsTestGenerated.java | 5 +++++ 3 files changed, 35 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt create mode 100644 compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.txt diff --git a/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt b/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt new file mode 100644 index 00000000000..ba1c866c375 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt @@ -0,0 +1,21 @@ +// FILE: KtVisitor.java + +public class KtVisitor {} + +// FILE: A.java + +public interface A { + public R accept(@org.jetbrains.annotations.NotNull KtVisitor visitor, D data) +} + +// FILE: B.kt + +interface B : A { + override fun accept(visitor: KtVisitor, data: D): R +} + +// FILE: main.kt + +fun test(visitor: KtVisitor, element: B) { + element.accept(visitor, Unit) +} diff --git a/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.txt b/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.txt new file mode 100644 index 00000000000..73d0a1d33d9 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.txt @@ -0,0 +1,9 @@ +FILE: B.kt + public abstract interface B : R|A| { + public abstract override fun accept(visitor: R|KtVisitor|, data: R|D|): R|R| + + } +FILE: main.kt + public final fun test(visitor: R|KtVisitor|, element: R|B|): R|kotlin/Unit| { + R|/element|.#(R|/visitor|, Q|kotlin/Unit|) + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index b6fc04878b3..f292e706df9 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -873,6 +873,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { runTest("compiler/fir/resolve/testData/resolve/problems/asImports.kt"); } + @TestMetadata("definitelyNotNullAmbiguity.kt") + public void testDefinitelyNotNullAmbiguity() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/definitelyNotNullAmbiguity.kt"); + } + @TestMetadata("invokeOfLambdaWithReceiver.kt") public void testInvokeOfLambdaWithReceiver() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/invokeOfLambdaWithReceiver.kt");