From cd206fc97b032613432d1cfb8cc2bedaa43ac583 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 7 Apr 2015 19:01:47 +0300 Subject: [PATCH] Test for KT-3711. Passes already in M11 or even earlier --- .../tests/smartCasts/varnotnull/kt3711.kt | 9 +++++++++ .../tests/smartCasts/varnotnull/kt3711.txt | 16 ++++++++++++++++ .../checkers/JetDiagnosticsTestGenerated.java | 6 ++++++ 3 files changed, 31 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.kt create mode 100644 compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.txt diff --git a/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.kt b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.kt new file mode 100644 index 00000000000..86ac84fc969 --- /dev/null +++ b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.kt @@ -0,0 +1,9 @@ +data class StringPair(val first: String, val second: String) + +fun String.to(second: String) = StringPair(this, second) + +fun f(a: String?) { + if (a != null) { + val b: StringPair = a to a + } +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.txt b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.txt new file mode 100644 index 00000000000..4c6562efe38 --- /dev/null +++ b/compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.txt @@ -0,0 +1,16 @@ +package + +internal fun f(/*0*/ a: kotlin.String?): kotlin.Unit +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 2fcc46f0e40..0f6e9994c57 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -11341,6 +11341,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("kt3711.kt") + public void testKt3711() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3711.kt"); + doTest(fileName); + } + @TestMetadata("kt3899.kt") public void testKt3899() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/smartCasts/varnotnull/kt3899.kt");