From 56d89266d4033643fe77afe19c31649ab10643e3 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 4 Sep 2018 16:04:24 +0300 Subject: [PATCH] Add tests for KT-26141 (yet without changes) --- .../tests/multiplatform/sealedTypeAlias.kt | 17 +++++++ .../tests/multiplatform/sealedTypeAlias.txt | 46 +++++++++++++++++++ .../multiplatform/sealedTypeAliasTopLevel.kt | 16 +++++++ .../multiplatform/sealedTypeAliasTopLevel.txt | 46 +++++++++++++++++++ .../checkers/DiagnosticsTestGenerated.java | 10 ++++ .../DiagnosticsUsingJavacTestGenerated.java | 10 ++++ .../sealedTypeAlias/common/common.kt | 6 +++ .../multiplatform/sealedTypeAlias/jvm/jvm.kt | 8 ++++ ...ultiPlatformHighlightingTestGenerated.java | 5 ++ 9 files changed, 164 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt create mode 100644 compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.txt create mode 100644 compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt create mode 100644 compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.txt create mode 100644 idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/common/common.kt create mode 100644 idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/jvm/jvm.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt new file mode 100644 index 00000000000..2390f38994d --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt @@ -0,0 +1,17 @@ +// !LANGUAGE: +MultiPlatformProjects +// MODULE: m1-common +// FILE: common.kt + +expect sealed class Presence { + object Online: Presence + object Offline: Presence +} + +// MODULE: m2-jvm(m1-common) +// FILE: jvm.kt + +actual typealias Presence = P +sealed class P { + object Online : P() + object Offline : P() +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.txt b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.txt new file mode 100644 index 00000000000..3b0703e2533 --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.txt @@ -0,0 +1,46 @@ +// -- Module: -- +package + +public sealed expect class Presence { + 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 + + public expect object Offline : Presence { + 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 + } + + public expect object Online : Presence { + 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 + } +} + + +// -- Module: -- +package + +public sealed class P { + private constructor P() + 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 + + public object Offline : P { + private constructor Offline() + 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 + } + + public object Online : P { + private constructor Online() + 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 + } +} +public actual typealias Presence = P diff --git a/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt new file mode 100644 index 00000000000..f2f0aab5368 --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt @@ -0,0 +1,16 @@ +// !LANGUAGE: +MultiPlatformProjects +// MODULE: m1-common +// FILE: common.kt + +expect sealed class Presence +expect object Online: Presence +expect object Offline: Presence + + +// MODULE: m2-jvm(m1-common) +// FILE: jvm.kt + +actual typealias Presence = P +sealed class P +actual object Online : P() +actual object Offline : P() diff --git a/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.txt b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.txt new file mode 100644 index 00000000000..e17aee39f72 --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.txt @@ -0,0 +1,46 @@ +// -- Module: -- +package + +public expect object Offline : Presence { + 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 +} + +public expect object Online : Presence { + 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 +} + +public sealed expect class Presence { + 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 +} + + +// -- Module: -- +package + +public actual object Offline : P { + private constructor Offline() + 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 +} + +public actual object Online : P { + private constructor Online() + 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 +} + +public sealed class P { + private constructor P() + 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 +} +public actual typealias Presence = P diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 3e74e92d80e..2054650a71f 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -12954,6 +12954,16 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { runTest("compiler/testData/diagnostics/tests/multiplatform/privateTopLevelDeclarations.kt"); } + @TestMetadata("sealedTypeAlias.kt") + public void testSealedTypeAlias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt"); + } + + @TestMetadata("sealedTypeAliasTopLevel.kt") + public void testSealedTypeAliasTopLevel() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt"); + } + @TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java index ceab712b8e1..35f17cd7fc3 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java @@ -12954,6 +12954,16 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing runTest("compiler/testData/diagnostics/tests/multiplatform/privateTopLevelDeclarations.kt"); } + @TestMetadata("sealedTypeAlias.kt") + public void testSealedTypeAlias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/sealedTypeAlias.kt"); + } + + @TestMetadata("sealedTypeAliasTopLevel.kt") + public void testSealedTypeAliasTopLevel() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/sealedTypeAliasTopLevel.kt"); + } + @TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/common/common.kt b/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/common/common.kt new file mode 100644 index 00000000000..95cba5dd3f4 --- /dev/null +++ b/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/common/common.kt @@ -0,0 +1,6 @@ +package p + +expect sealed class Presence { + object Online: Presence + object Offline: Presence +} \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/jvm/jvm.kt b/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/jvm/jvm.kt new file mode 100644 index 00000000000..359948adb0a --- /dev/null +++ b/idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/jvm/jvm.kt @@ -0,0 +1,8 @@ +// !CHECK_HIGHLIGHTING +package p + +actual typealias Presence = P +sealed class P { + object Online : P() + object Offline : P() +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTestGenerated.java index 4986fcefa5b..9978b2008c9 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTestGenerated.java @@ -124,6 +124,11 @@ public class MultiPlatformHighlightingTestGenerated extends AbstractMultiPlatfor runTest("idea/testData/multiModuleHighlighting/multiplatform/platformTypeAliasInterchangebleWithAliasedClass/"); } + @TestMetadata("sealedTypeAlias") + public void testSealedTypeAlias() throws Exception { + runTest("idea/testData/multiModuleHighlighting/multiplatform/sealedTypeAlias/"); + } + @TestMetadata("suppressHeaderWithoutImpl") public void testSuppressHeaderWithoutImpl() throws Exception { runTest("idea/testData/multiModuleHighlighting/multiplatform/suppressHeaderWithoutImpl/");