diff --git a/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.kt b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.kt new file mode 100644 index 00000000000..be164c3d6d8 --- /dev/null +++ b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.kt @@ -0,0 +1,13 @@ +data class StringPair(val first: String, val second: String) + +fun String.to(second: String) = StringPair(this, second) + +fun hashMapOf(pair: StringPair): MutableMap { +} + +fun F() : MutableMap { + val value: String? = "xyz" + if (value == null) throw Error() + // Smart cast should be here + return hashMapOf("sss" to value) +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.txt b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.txt new file mode 100644 index 00000000000..e391e6a5e06 --- /dev/null +++ b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.txt @@ -0,0 +1,17 @@ +package + +internal fun F(): kotlin.MutableMap +internal fun hashMapOf(/*0*/ pair: StringPair): kotlin.MutableMap +internal fun kotlin.String.to(/*0*/ second: kotlin.String): StringPair + +kotlin.data() internal final class StringPair { + public constructor StringPair(/*0*/ first: kotlin.String, /*1*/ second: kotlin.String) + internal final val first: kotlin.String + internal final val second: kotlin.String + internal final /*synthesized*/ fun component1(): kotlin.String + internal final /*synthesized*/ fun component2(): kotlin.String + public final /*synthesized*/ fun copy(/*0*/ first: kotlin.String = ..., /*1*/ second: kotlin.String = ...): StringPair + 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/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index e0f829d6333..45766b98a54 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -11335,6 +11335,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("kt3899.kt") + public void testKt3899() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.kt"); + doTest(fileName); + } + @TestMetadata("kt3993.kt") public void testKt3993() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3993.kt");