From bebdf6fcef9d07bfd1aab33040633beebcefbaf5 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Thu, 20 Jun 2019 15:48:43 +0300 Subject: [PATCH] [NI] Added test for KT-32094 --- ...everalCandidatesWithDifferentVisibility.kt | 43 +++++++++++++++++++ ...veralCandidatesWithDifferentVisibility.txt | 43 +++++++++++++++++++ .../DiagnosticsTestWithStdLibGenerated.java | 5 +++ ...ticsTestWithStdLibUsingJavacGenerated.java | 5 +++ 4 files changed, 96 insertions(+) create mode 100644 compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt create mode 100644 compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.txt diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt new file mode 100644 index 00000000000..209c6649c3d --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt @@ -0,0 +1,43 @@ +// !USE_EXPERIMENTAL: kotlin.Experimental +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE +// !WITH_NEW_INFERENCE + +// FILE: a.kt + +package a + +private class Queue { + private companion object +} + +// FILE: b/Queue.java + +package b; + +public class Queue { + public static Queue empty() { return null; } +} + +// FILE: c.kt + +@file:UseExperimental(ExperimentalTypeInference::class) + +package c + +import a.* +import b.Queue +import kotlin.experimental.ExperimentalTypeInference + +interface Inv { + fun emit(e: T) +} + +fun invBuilder(@BuilderInference block: Inv.() -> Unit) {} + +fun test() { + invBuilder { + val q = Queue.empty() + emit(42) + } +} + diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.txt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.txt new file mode 100644 index 00000000000..44e74079fa4 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.txt @@ -0,0 +1,43 @@ +package + +package a { + + private final class Queue { + public constructor Queue() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + private companion object Companion { + private constructor Companion() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + } +} + +package b { + + public open class Queue { + public constructor Queue() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public open fun empty(): b.Queue! + } +} + +package c { + public fun invBuilder(/*0*/ @kotlin.BuilderInference block: c.Inv.() -> kotlin.Unit): kotlin.Unit + public fun test(): kotlin.Unit + + public interface Inv { + public abstract fun emit(/*0*/ e: T): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java index df0710fc468..a507200184d 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java @@ -1917,6 +1917,11 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/returnTypeInference2.kt"); } + @TestMetadata("severalCandidatesWithDifferentVisibility.kt") + public void testSeveralCandidatesWithDifferentVisibility() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt"); + } + @TestMetadata("simpleGenerator.kt") public void testSimpleGenerator() throws Exception { runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/simpleGenerator.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java index a9ef63a3eb4..3c95282163b 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java @@ -1917,6 +1917,11 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/returnTypeInference2.kt"); } + @TestMetadata("severalCandidatesWithDifferentVisibility.kt") + public void testSeveralCandidatesWithDifferentVisibility() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/severalCandidatesWithDifferentVisibility.kt"); + } + @TestMetadata("simpleGenerator.kt") public void testSimpleGenerator() throws Exception { runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/simpleGenerator.kt");