[FIR-TEST] Add test with ambiguity produced by definitely not null types

This commit is contained in:
Dmitriy Novozhilov
2019-11-27 17:51:06 +03:00
parent fa2ef816b1
commit 71acd42727
3 changed files with 35 additions and 0 deletions
@@ -0,0 +1,21 @@
// FILE: KtVisitor.java
public class KtVisitor<R, D> {}
// FILE: A.java
public interface A {
public <R, D> R accept(@org.jetbrains.annotations.NotNull KtVisitor<R, D> visitor, D data)
}
// FILE: B.kt
interface B : A {
override fun <R, D> accept(visitor: KtVisitor<R, D>, data: D): R
}
// FILE: main.kt
fun test(visitor: KtVisitor<String, Unit>, element: B) {
element.<!AMBIGUITY!>accept<!>(visitor, Unit)
}
@@ -0,0 +1,9 @@
FILE: B.kt
public abstract interface B : R|A| {
public abstract override fun <R, D> accept(visitor: R|KtVisitor<R, D>|, data: R|D|): R|R|
}
FILE: main.kt
public final fun test(visitor: R|KtVisitor<kotlin/String, kotlin/Unit>|, element: R|B|): R|kotlin/Unit| {
R|<local>/element|.<Ambiguity: accept, [/B.accept, /A.accept]>#(R|<local>/visitor|, Q|kotlin/Unit|)
}
@@ -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");