Update tests after switching to LV 2.0

Related to KT-59171
This commit is contained in:
Mikhail Glukhikh
2023-06-21 17:11:59 +02:00
committed by Space Team
parent 5fb38008b7
commit 2a8b655294
218 changed files with 531 additions and 1187 deletions
@@ -1,25 +1,22 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/jvm.kt:1:14: error: actual class 'Foo' has no corresponding members for expected class members:
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/jvm.kt:1:14: error: actual class 'actual class Foo : Any' has no corresponding members for expected class members:
public constructor Foo(s: String)
expect constructor(s: String): Foo
The following declaration is incompatible because parameter types are different:
public constructor Foo(s: Array<String>)
actual constructor(s: Array<String>): Foo
actual class Foo {
^
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/jvm.kt:2:23: error: actual constructor of 'Foo' has no corresponding expected declaration
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/jvm.kt:2:5: error: 'actual constructor(s: Array<String>): Foo' has no corresponding expected declaration
The following declaration is incompatible because parameter types are different:
public constructor Foo(s: String)
expect constructor(s: String): Foo
actual constructor(s: Array<String>)
^
^
@@ -1,37 +1,19 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class AB { A, B }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:1:24: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class AB { A, B }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:1:27: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class AB { A, B }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class CD { C, D }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:3:24: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class CD { C, D }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/common.kt:3:27: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class CD { C, D }
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/jvm.kt:1:19: error: actual enum class 'AB' has no corresponding expected declaration
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/jvm.kt:1:19: error: 'actual enum class AB : Enum<AB>' has no corresponding expected declaration
The following declaration is incompatible because some entries from expected enum are missing in the actual enum:
public final expect enum class AB : Enum<AB>
expect enum class AB : Enum<AB>
actual enum class AB { A, C }
^
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/jvm.kt:3:19: error: actual enum class 'CD' has no corresponding expected declaration
compiler/testData/multiplatform/classScopes/enumsWithDifferentEntries/jvm.kt:3:19: error: 'actual enum class CD : Enum<CD>' has no corresponding expected declaration
The following declaration is incompatible because some entries from expected enum are missing in the actual enum:
public final expect enum class CD : Enum<CD>
expect enum class CD : Enum<CD>
actual enum class CD { C }
^
@@ -1,12 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/fakeOverrides/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect open class Base {
^
compiler/testData/multiplatform/classScopes/fakeOverrides/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Derived : Base {
^
-- JVM --
Exit code: OK
@@ -1,25 +1,22 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/functionAndPropertyWithSameName/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/functionAndPropertyWithSameName/jvm.kt:3:14: error: actual class 'Foo' has no corresponding members for expected class members:
compiler/testData/multiplatform/classScopes/functionAndPropertyWithSameName/jvm.kt:3:14: error: actual class 'actual class Foo : Any' has no corresponding members for expected class members:
public expect final val bar: String
expect val bar: String
The following declaration is incompatible because callable kinds are different (function vs property):
public final actual fun bar(): String
actual fun bar(): String
actual class Foo {
^
compiler/testData/multiplatform/classScopes/functionAndPropertyWithSameName/jvm.kt:4:12: error: actual function 'bar' has no corresponding expected declaration
compiler/testData/multiplatform/classScopes/functionAndPropertyWithSameName/jvm.kt:4:16: error: 'actual fun bar(): String' has no corresponding expected declaration
The following declaration is incompatible because callable kinds are different (function vs property):
public expect final val bar: String
expect val bar: String
actual fun bar(): String = ""
^
^
@@ -1,25 +1,13 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/jvm.kt:1:14: error: actual class 'Foo' has no corresponding members for expected class members:
public final expect fun function(b: ByteArray): Int
The following declaration is incompatible because return type is different:
public final actual fun function(b: ByteArray): Long
actual class Foo {
^
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/jvm.kt:2:40: error: actual function 'function' has no corresponding expected declaration
The following declaration is incompatible because return type is different:
public final expect fun function(b: ByteArray): Int
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/jvm.kt:2:16: error: 'actual fun function(b: ByteArray): Long' has no corresponding expected declaration
The following declaration is incompatible:
expect fun function(b: ByteArray): Int
actual fun function(b: ByteArray): Long = b.size.toLong()
^
^
@@ -1,19 +1,13 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignatureFromSuperclass/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignatureFromSuperclass/jvm.kt:5:14: error: actual class 'Foo' has no corresponding members for expected class members:
public final expect fun function(b: ByteArray): Int
The following declaration is incompatible because return type is different:
public final fun function(b: ByteArray): Long
actual class Foo : Base()
^
compiler/testData/multiplatform/classScopes/functionIncorrectSignatureFromSuperclass/common.kt:1:1: error: expect declaration `Foo` doesn't match actual `Foo` because some expected members have no actual ones
expect class Foo {
^
compiler/testData/multiplatform/classScopes/functionIncorrectSignatureFromSuperclass/common.kt:2:5: error: expect declaration `function` doesn't match actual `function` because return type is different
fun function(b: ByteArray): Int
^
@@ -1,19 +1,16 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/missingConstructor/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/missingConstructor/jvm.kt:1:14: error: actual class 'Foo' has no corresponding members for expected class members:
compiler/testData/multiplatform/classScopes/missingConstructor/jvm.kt:1:14: error: actual class 'actual class Foo : Any' has no corresponding members for expected class members:
public constructor Foo(s: String)
expect constructor(s: String): Foo
The following declaration is incompatible because number of value parameters is different:
public constructor Foo()
constructor(): Foo
actual class Foo
^
@@ -1,16 +1,13 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/missingFunction/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/missingFunction/jvm.kt:1:14: error: actual class 'Foo' has no corresponding members for expected class members:
compiler/testData/multiplatform/classScopes/missingFunction/jvm.kt:1:14: error: actual class 'actual class Foo : Any' has no corresponding members for expected class members:
public final expect fun function(s: String): Unit
expect fun function(s: String): Unit
actual class Foo
^
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/classScopes/simple/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo(param: String) {
^
-- JVM --
Exit code: OK
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/createImplClassInPlatformModule/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo
^
-- JVM --
Exit code: OK
@@ -1,17 +1,14 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/defaultArguments/methodDefaultArgsViaTypealias/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class A(p: String = "constructor") {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/defaultArguments/methodDefaultArgsViaTypealias/jvm.kt:8:1: error: default argument values inside expect declaration 'A' are not allowed if it is actualized via typealias. Possible fix is to remove default argument values in members:
public constructor A(p: String = ...)
expect fun foo(p: String = ...): Unit
public final expect fun foo(p: String = ...): Unit
expect constructor(p: String = ...): A
actual typealias A = AImpl
^
@@ -1,15 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/defaultArguments/useDefaultArgumentsInDependency/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C(x: Int, y: String = "OK")
^
compiler/testData/multiplatform/defaultArguments/useDefaultArgumentsInDependency/common.kt:7:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect annotation class Anno1(val x: Int, val y: String = "OK")
^
compiler/testData/multiplatform/defaultArguments/useDefaultArgumentsInDependency/common.kt:9:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect annotation class Anno2(val x: Int, val y: String = "OK")
^
-- JVM --
Exit code: OK
@@ -1,12 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/explicitActualOnOverrideOfAbstractMethod/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect abstract class Base {
^
compiler/testData/multiplatform/explicitActualOnOverrideOfAbstractMethod/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class DerivedImplicit : Base {
^
-- JVM --
Exit code: OK
@@ -1,12 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNothing/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class E01
^
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNothing/common.kt:2:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class E02
^
-- JVM --
Exit code: COMPILATION_ERROR
@@ -14,6 +8,6 @@ Output:
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNothing/jvm.kt:3:1: error: right-hand side of actual type alias cannot be of type kotlin.Nothing
actual typealias E01 = Nothing
^
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNothing/jvm.kt:4:1: error: right-hand side of actual type alias should be a class, not another type alias
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNothing/jvm.kt:4:1: error: right-hand side of actual type alias should be a class, not another type alias.
actual typealias E02 = MyNothing
^
@@ -1,12 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNullableType/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class E01
^
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNullableType/common.kt:2:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class E02
^
-- JVM --
Exit code: COMPILATION_ERROR
@@ -14,6 +8,6 @@ Output:
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNullableType/jvm.kt:3:1: error: right-hand side of actual type alias cannot be a nullable type
actual typealias E01 = String?
^
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNullableType/jvm.kt:4:1: error: right-hand side of actual type alias should be a class, not another type alias
compiler/testData/multiplatform/implTypeAlias/actualTypealiasToNullableType/jvm.kt:4:1: error: right-hand side of actual type alias should be a class, not another type alias.
actual typealias E02 = MyNullable
^
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/implTypeAlias/discriminateHeaderClassInFavorOfTypeAlias/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class A
^
-- JVM --
Exit code: OK
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/implTypeAlias/generic/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C1<A> {
^
-- JVM --
Exit code: OK
@@ -14,6 +11,3 @@ expect class C1<A> {
compiler/testData/multiplatform/implTypeAlias/generic/jvm.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
actual typealias C1<A> = C1Impl<A>
^
compiler/testData/multiplatform/implTypeAlias/generic/jvm.kt:3:13: warning: parameter 'a' is never used
fun foo(a: A): List<A>? = null
^
@@ -1,12 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/implTypeAlias/nestedClassesViaTypeAlias/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class ByTypeAlias {
^
compiler/testData/multiplatform/implTypeAlias/nestedClassesViaTypeAlias/common.kt:2:15: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
interface Nested
^
-- JVM --
Exit code: OK
@@ -5,192 +5,120 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleCallables/common.kt:1:12: error: expected function 'f1' has no actual declaration in module <main> for JVM
The following declaration is incompatible because return type is different:
public actual fun f1(): String
expect fun f1()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:5:14: error: expected function 'f3' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter types are different:
public actual fun f3(name: Double): Unit
expect fun f3(name: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:6:24: error: expected function 'f3ext' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter types are different:
public actual fun Double.f3ext(): Unit
expect fun String.f3ext()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:8:14: error: expected function 'f4' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public actual fun String.f4(): Unit
expect fun f4(name: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:10:12: error: expected function 'f5' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public actual fun f5(name: String): Unit
expect fun String.f5()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:12:14: error: expected function 'f6' has no actual declaration in module <main> for JVM
The following declaration is incompatible because number of value parameters is different:
public actual fun f6(p2: Int): Unit
expect fun f6(p1: String, p2: Int)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:14:12: error: expected function 'f7' has no actual declaration in module <main> for JVM
The following declaration is incompatible because number of type parameters is different:
public actual fun <K, V> f7(): Unit
expect fun <T> f7()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:19:12: error: expected function 'f11' has no actual declaration in module <main> for JVM
The following declaration is incompatible because upper bounds of type parameters are different:
public actual fun <T : Annotation> f11(): Unit
expect fun <T : Number> f11()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:20:12: error: expected function 'f12' has no actual declaration in module <main> for JVM
The following declaration is incompatible because upper bounds of type parameters are different:
public actual fun <U : MutableList<out String>> f12(): Unit
expect fun <U : MutableList<String>> f12()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:21:12: error: expected function 'f13' has no actual declaration in module <main> for JVM
The following declaration is incompatible because upper bounds of type parameters are different:
public actual fun <A, B : Comparable<B>> f13(): Unit
expect fun <A, B : Comparable<A>> f13()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:32:15: error: expected function 'f21' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter types are different:
public actual fun f21(c: Unit.() -> Unit): Unit
expect fun f21(c: suspend Unit.() -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:33:15: error: expected function 'f22' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter types are different:
public actual fun f22(c: suspend Unit.() -> Unit): Unit
expect fun f22(c: Unit.() -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:1:18: error: actual function 'f1' has no corresponding expected declaration
The following declaration is incompatible because return type is different:
public expect fun f1(): Unit
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:1:12: error: 'actual fun f1(): String' has no corresponding expected declaration
The following declaration is incompatible:
expect fun f1(): Unit
actual fun f1(): String = ""
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:3:14: error: actual function 'f2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:3:12: error: 'actual fun f2(otherName: String): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter names are different:
public expect fun f2(name: String): Unit
expect fun f2(name: String): Unit
actual fun f2(otherName: String) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:5:14: error: actual function 'f3' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:5:12: error: 'actual fun f3(name: Double): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter types are different:
public expect fun f3(name: String): Unit
expect fun f3(name: String): Unit
actual fun f3(name: Double) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:6:24: error: actual function 'f3ext' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:6:19: error: 'actual fun Double.f3ext(): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter types are different:
public expect fun String.f3ext(): Unit
expect fun String.f3ext(): Unit
actual fun Double.f3ext() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:8:12: error: actual function 'f4' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:8:19: error: 'actual fun String.f4(): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public expect fun f4(name: String): Unit
expect fun f4(name: String): Unit
actual fun String.f4() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:10:14: error: actual function 'f5' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:10:12: error: 'actual fun f5(name: String): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public expect fun String.f5(): Unit
expect fun String.f5(): Unit
actual fun f5(name: String) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:12:14: error: actual function 'f6' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:12:12: error: 'actual fun f6(p2: Int): Unit' has no corresponding expected declaration
The following declaration is incompatible because number of value parameters is different:
public expect fun f6(p1: String, p2: Int): Unit
expect fun f6(p1: String, p2: Int): Unit
actual fun f6(p2: Int) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:14:12: error: actual function 'f7' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:14:19: error: 'actual fun <K, V> f7(): Unit' has no corresponding expected declaration
The following declaration is incompatible because number of type parameters is different:
public expect fun <T> f7(): Unit
expect fun <T> f7(): Unit
actual fun <K, V> f7() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:17:1: error: actual function 'f10' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:17:21: error: 'actual fun f10(): Unit' has no corresponding expected declaration
The following declaration is incompatible because visibility is different:
public expect fun f10(): Unit
expect fun f10(): Unit
internal actual fun f10() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:19:12: error: actual function 'f11' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:19:29: error: 'actual fun <T : Annotation> f11(): Unit' has no corresponding expected declaration
The following declaration is incompatible because upper bounds of type parameters are different:
public expect fun <T : Number> f11(): Unit
expect fun <T : Number> f11(): Unit
actual fun <T : Annotation> f11() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:20:12: error: actual function 'f12' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:20:42: error: 'actual fun <U : MutableList<out String>> f12(): Unit' has no corresponding expected declaration
The following declaration is incompatible because upper bounds of type parameters are different:
public expect fun <U : MutableList<String>> f12(): Unit
expect fun <U : MutableList<String>> f12(): Unit
actual fun <U : MutableList<out String>> f12() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:21:12: error: actual function 'f13' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:21:35: error: 'actual fun <A, B : Comparable<B>> f13(): Unit' has no corresponding expected declaration
The following declaration is incompatible because upper bounds of type parameters are different:
public expect fun <A, B : Comparable<A>> f13(): Unit
expect fun <A, B : Comparable<A>> f13(): Unit
actual fun <A, B : Comparable<B>> f13() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:23:19: error: actual function 'f14' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:23:31: error: 'actual fun <reified X> f14(): Unit' has no corresponding expected declaration
The following declaration is incompatible because some type parameter is reified in one declaration and non-reified in the other:
public expect inline fun <X> f14(): Unit
expect fun <X> f14(): Unit
actual inline fun <reified X> f14() {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:26:16: error: actual function cannot have default argument values, they should be declared in the expected function
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:26:16: error: actual function cannot have default argument values. They should be declared in the expected function.
actual fun f16(s: String = "") {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:28:15: error: actual function 'f17' has no corresponding expected declaration
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:28:12: error: 'actual fun f17(s: Array<out String>): Unit' has no corresponding expected declaration
The following declaration is incompatible because some value parameter is vararg in one declaration and non-vararg in the other:
public expect fun f17(vararg s: String): Unit
expect fun f17(vararg s: Array<out String>): Unit
actual fun f17(s: Array<out String>) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:29:15: error: actual function 'f18' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:29:12: error: 'actual fun f18(vararg s: Array<out String>): Unit' has no corresponding expected declaration
The following declaration is incompatible because some value parameter is vararg in one declaration and non-vararg in the other:
public expect fun f18(s: Array<out String>): Unit
expect fun f18(s: Array<out String>): Unit
actual fun f18(vararg s: String) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:30:22: error: actual function 'f19' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:30:19: error: 'actual fun f19(crossinline s: () -> Unit): Unit' has no corresponding expected declaration
The following declaration is incompatible because some value parameter is crossinline in one declaration and not crossinline in the other:
public expect inline fun f19(s: () -> Unit): Unit
expect fun f19(s: () -> Unit): Unit
actual inline fun f19(crossinline s: () -> Unit) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:31:22: error: actual function 'f20' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:31:19: error: 'actual fun f20(noinline s: () -> Unit): Unit' has no corresponding expected declaration
The following declaration is incompatible because some value parameter is noinline in one declaration and not noinline in the other:
public expect inline fun f20(s: () -> Unit): Unit
expect fun f20(s: () -> Unit): Unit
actual inline fun f20(noinline s: () -> Unit) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:32:15: error: actual function 'f21' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:32:12: error: 'actual fun f21(c: Unit.() -> Unit): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter types are different:
public expect fun f21(c: suspend Unit.() -> Unit): Unit
expect fun f21(c: suspend Unit.() -> Unit): Unit
actual fun f21(c: Unit.() -> Unit) {}
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:33:15: error: actual function 'f22' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:33:12: error: 'actual fun f22(c: suspend Unit.() -> Unit): Unit' has no corresponding expected declaration
The following declaration is incompatible because parameter types are different:
public expect fun f22(c: Unit.() -> Unit): Unit
expect fun f22(c: Unit.() -> Unit): Unit
actual fun f22(c: suspend Unit.() -> Unit) {}
^
^
+48 -105
View File
@@ -1,160 +1,103 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/incompatibleClasses/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class PClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:2:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect interface PInterface
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect object PObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:4:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect enum class PEnumClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect annotation class PAnnotationClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:7:10: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
internal expect object InternalObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:8:8: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
public expect object PublicObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:10:6: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
open expect class OpenClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:11:10: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
abstract expect class AbstractClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:12:7: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
final expect class FinalClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:14:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C1<A>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:15:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C2<B>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:16:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C3<D, E : D>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:18:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class C4<F>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:21:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect abstract class ExtendsNumber : Number
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:23:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect fun interface FunInterface {
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:27:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect fun interface FunInterface2 {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:1:8: error: actual interface 'PClass' has no corresponding expected declaration
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:1:18: error: 'actual interface PClass : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final expect class PClass
expect class PClass : Any
actual interface PClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:2:8: error: actual object 'PInterface' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:2:15: error: 'actual object PInterface : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public expect interface PInterface
expect interface PInterface : Any
actual object PInterface
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:3:8: error: actual enum class 'PObject' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:3:19: error: 'actual enum class PObject : Enum<PObject>' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public expect object PObject
expect object PObject : Any
actual enum class PObject
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:4:8: error: actual annotation class 'PEnumClass' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:4:25: error: 'actual annotation class PEnumClass : Annotation' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final expect enum class PEnumClass : Enum<PEnumClass>
expect enum class PEnumClass : Enum<PEnumClass>
actual annotation class PEnumClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:5:8: error: actual class 'PAnnotationClass' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:5:14: error: 'actual class PAnnotationClass : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final expect annotation class PAnnotationClass : Annotation
expect annotation class PAnnotationClass : Annotation
actual class PAnnotationClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:7:1: error: actual object 'PublicObject' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:7:24: error: 'actual object PublicObject : Any' has no corresponding expected declaration
The following declaration is incompatible because visibility is different:
public expect object PublicObject
expect object PublicObject : Any
internal actual object PublicObject
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:8:1: error: actual object 'InternalObject' has no corresponding expected declaration
The following declaration is incompatible because visibility is different:
internal expect object InternalObject
public actual object InternalObject
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:10:1: error: actual class 'OpenClass' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:10:20: error: 'actual class OpenClass : Any' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
public open expect class OpenClass
expect class OpenClass : Any
final actual class OpenClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:11:1: error: actual class 'AbstractClass' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:11:19: error: 'actual class AbstractClass : Any' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
public abstract expect class AbstractClass
expect class AbstractClass : Any
open actual class AbstractClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:12:1: error: actual class 'FinalClass' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:12:23: error: 'actual class FinalClass : Any' has no corresponding expected declaration
The following declaration is incompatible because modality is different:
public final expect class FinalClass
expect class FinalClass : Any
abstract actual class FinalClass
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:14:16: error: actual class 'C1' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:14:14: error: 'actual class C1<A, Extra> : Any' has no corresponding expected declaration
The following declaration is incompatible because number of type parameters is different:
public final expect class C1<A>
expect class C1<A> : Any
actual class C1<A, Extra>
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:15:16: error: actual class 'C2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:15:14: error: 'actual class C2<out B> : Any' has no corresponding expected declaration
The following declaration is incompatible because declaration-site variances of type parameters are different:
public final expect class C2<B>
expect class C2<B> : Any
actual class C2<out B>
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:16:16: error: actual class 'C3' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:16:14: error: 'actual class C3<D, E : D?> : Any' has no corresponding expected declaration
The following declaration is incompatible because upper bounds of type parameters are different:
public final expect class C3<D, E : D>
expect class C3<D, E : D> : Any
actual class C3<D, E : D?>
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:18:20: error: actual typealias 'C4' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:18:18: error: 'actual typealias C4<F> = C4Impl<F>' has no corresponding expected declaration
The following declaration is incompatible because upper bounds of type parameters are different:
public final expect class C4<F>
expect class C4<F> : Any
actual typealias C4<F> = C4Impl<F>
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:21:39: error: actual class 'ExtendsNumber' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:21:23: error: 'actual class ExtendsNumber : Any' has no corresponding expected declaration
The following declaration is incompatible because some supertypes are missing in the actual declaration:
public abstract expect class ExtendsNumber : Number
expect class ExtendsNumber : Number
actual abstract class ExtendsNumber : Any()
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:23:1: error: actual interface 'FunInterface' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:23:18: error: 'actual interface FunInterface : Any' has no corresponding expected declaration
The following declaration is incompatible because actual declaration for fun expect interface is not a functional interface:
public expect fun interface FunInterface
expect fun interface FunInterface : Any
actual interface FunInterface {
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:31:1: error: actual typealias 'FunInterface2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:31:18: error: 'actual typealias FunInterface2 = FunInterface2Typealias' has no corresponding expected declaration
The following declaration is incompatible because actual declaration for fun expect interface is not a functional interface:
public expect fun interface FunInterface2
expect fun interface FunInterface2 : Any
actual typealias FunInterface2 = FunInterface2Typealias
^
^
@@ -5,21 +5,21 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:1:1: error: actual function 'plus' has no corresponding expected declaration
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:1:16: error: 'actual fun Int.plus(s: CharSequence): Int' has no corresponding expected declaration
The following declaration is incompatible because some modifiers on expected declaration are missing on the actual one (infix, inline, operator):
public expect infix fun Int.plus(s: CharSequence): Int
expect fun Int.plus(s: CharSequence): Int
actual fun Int.plus(s: CharSequence): Int = 0
^
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:3:1: error: actual function 'times' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:3:19: error: 'actual fun Double.times(x: CharArray): Unit' has no corresponding expected declaration
The following declaration is incompatible because some modifiers on expected declaration are missing on the actual one (infix, inline, operator):
public expect operator fun Double.times(x: CharArray): Unit
expect fun Double.times(x: CharArray): Unit
actual fun Double.times(x: CharArray) {}
^
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:5:1: error: actual function 'f1' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:5:12: error: 'actual fun f1(): Unit' has no corresponding expected declaration
The following declaration is incompatible because some modifiers on expected declaration are missing on the actual one (infix, inline, operator):
public expect inline fun f1(): Unit
expect fun f1(): Unit
actual fun f1() {}
^
^
@@ -1,91 +1,55 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class O1 {
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:2:11: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
class N1
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:3:15: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
interface N2
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:4:12: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
object N3
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:7:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class O2 {
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:8:11: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
class N2
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:9:17: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
inner class I2
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:12:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class O3 {
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:13:12: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
object Companion
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:14:22: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
companion object Factory
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:17:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class O4 {
^
compiler/testData/multiplatform/incompatibleNestedClasses/common.kt:18:15: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
companion object
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:2:12: error: actual interface 'N1' has no corresponding expected declaration
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:2:22: error: 'actual interface N1 : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final expect class N1
expect class N1 : Any
actual interface N1
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:3:12: error: actual object 'N2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:3:19: error: 'actual object N2 : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public expect interface N2
expect interface N2 : Any
actual object N2
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:4:12: error: actual class 'N3' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:4:18: error: 'actual class N3 : Any' has no corresponding expected declaration
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public expect object N3
expect object N3 : Any
actual class N3
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:8:5: error: actual class 'N2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:8:24: error: 'actual inner class N2 : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public final expect class N2
expect class N2 : Any
actual inner class N2
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:9:5: error: actual class 'I2' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:9:18: error: 'actual class I2 : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public final expect inner class I2
expect inner class I2 : Any
actual class I2
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:13:5: error: actual companion object 'Companion' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:13:22: error: 'actual companion object Companion : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public expect object Companion
expect object Companion : Any
actual companion object {}
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:14:5: error: actual object 'Factory' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:14:19: error: 'actual object Factory : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public expect companion object Factory
expect companion object Factory : Any
actual object Factory
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:18:5: error: actual object 'Companion' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleNestedClasses/jvm.kt:18:19: error: 'actual object Companion : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public expect companion object
expect companion object Companion : Any
actual object Companion
^
^
@@ -5,15 +5,15 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleProperties/jvm.kt:1:8: error: actual property 'pval' has no corresponding expected declaration
compiler/testData/multiplatform/incompatibleProperties/jvm.kt:1:12: error: 'actual var pval: String' has no corresponding expected declaration
The following declaration is incompatible because property kinds are different (val vs var):
public expect val pval: String
expect val pval: String
actual var pval: String = ""
^
compiler/testData/multiplatform/incompatibleProperties/jvm.kt:2:8: error: actual property 'pvar' has no corresponding expected declaration
^
compiler/testData/multiplatform/incompatibleProperties/jvm.kt:2:12: error: 'actual val pvar: String' has no corresponding expected declaration
The following declaration is incompatible because property kinds are different (val vs var):
public expect var pvar: String
expect var pvar: String
actual val pvar: String = ""
^
^
@@ -1,22 +1,19 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/incorrectImplInClass/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:1:18: error: actual constructor of 'Foo' has no corresponding expected declaration
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:1:18: error: 'actual constructor(): Foo' has no corresponding expected declaration
actual class Foo actual constructor() {
^
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:2:5: error: actual constructor of 'Foo' has no corresponding expected declaration
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:2:5: error: 'actual constructor(s: String): Foo' has no corresponding expected declaration
actual constructor(s: String) : this()
^
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:4:16: error: actual function 'nonPlatformFun' has no corresponding expected declaration
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:4:16: error: 'actual fun nonPlatformFun(): Unit' has no corresponding expected declaration
actual fun nonPlatformFun() {}
^
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:6:16: error: actual property 'nonPlatformVal' has no corresponding expected declaration
compiler/testData/multiplatform/incorrectImplInClass/jvm.kt:6:16: error: 'actual val nonPlatformVal: String' has no corresponding expected declaration
actual val nonPlatformVal = ""
^
+6 -18
View File
@@ -1,35 +1,23 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/inlineClasses/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect inline class Foo1(val x: Int)
^
compiler/testData/multiplatform/inlineClasses/common.kt:3:8: warning: 'inline' modifier is deprecated. Use 'value' instead
expect inline class Foo1(val x: Int)
^
compiler/testData/multiplatform/inlineClasses/common.kt:4:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect inline class Foo2(val y: String)
^
compiler/testData/multiplatform/inlineClasses/common.kt:4:8: warning: 'inline' modifier is deprecated. Use 'value' instead
expect inline class Foo2(val y: String)
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/inlineClasses/jvm.kt:5:1: error: actual class 'Foo2' has no corresponding expected declaration
compiler/testData/multiplatform/inlineClasses/jvm.kt:5:14: error: 'actual class Foo2 : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public final expect inline class Foo2
expect class Foo2 : Any
actual class Foo2 actual constructor(actual val y: String)
^
^
-- JS --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/inlineClasses/js.kt:5:1: error: actual class 'Foo2' has no corresponding expected declaration
compiler/testData/multiplatform/inlineClasses/js.kt:5:14: error: 'actual class Foo2 : Any' has no corresponding expected declaration
The following declaration is incompatible because modifiers are different (companion, inner, inline, value):
public final expect inline class Foo2
expect class Foo2 : Any
actual class Foo2 actual constructor(actual val y: String)
^
^
@@ -5,6 +5,6 @@ Output:
-- Common (2) --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/innerGenericClass/common2.kt:8:15: error: unresolved reference: unresolved
compiler/testData/multiplatform/innerGenericClass/common2.kt:8:15: error: unresolved reference 'unresolved'.
b.getAE().unresolved()
^
@@ -1,16 +1,7 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/jsNameClash/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class ClassWithImplByExtension
^
-- JS --
Exit code: OK
Output:
compiler/testData/multiplatform/jsNameClash/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class ClassWithImplByExtension
^
compiler/testData/multiplatform/jsNameClash/js.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
actual class ClassWithImplByExtension
^
+3 -12
View File
@@ -1,25 +1,16 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/missingOverload/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo {
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/missingOverload/common.kt:7:13: error: expected function 'g' has no actual declaration in module <main> for JVM
The following declaration is incompatible because parameter types are different:
public actual fun g(a: Any): Unit
compiler/testData/multiplatform/missingOverload/jvm.kt:1:14: error: actual class 'actual class Foo : Any' has no corresponding members for expected class members:
expect fun g(s: String)
^
compiler/testData/multiplatform/missingOverload/jvm.kt:1:14: error: actual class 'Foo' has no corresponding members for expected class members:
public final expect fun f(a: Any): Unit
expect fun f(a: Any): Unit
The following declaration is incompatible because parameter types are different:
public final actual fun f(s: String): Unit
actual fun f(s: String): Unit
actual class Foo {
^
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/optionalExpectation/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect annotation class A()
^
-- JVM --
Exit code: OK
@@ -18,6 +15,3 @@ actual annotation class A
-- JS --
Exit code: OK
Output:
compiler/testData/multiplatform/optionalExpectation/common.kt:5:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect annotation class A()
^
@@ -1,21 +1,18 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/regressions/incompatibleClassScopesWithImplTypeAlias/common.kt:3:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect abstract class Writer protected constructor()
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/regressions/incompatibleClassScopesWithImplTypeAlias/jvm.kt:3:18: error: actual class 'Writer' has no corresponding members for expected class members:
compiler/testData/multiplatform/regressions/incompatibleClassScopesWithImplTypeAlias/jvm.kt:3:18: error: actual class 'actual typealias Writer = Writer' has no corresponding members for expected class members:
protected constructor Writer()
expect constructor(): Writer
The following declaration is incompatible because visibility is different:
protected/*protected and package*/ constructor Writer()
constructor(): Writer
The following declaration is incompatible because number of value parameters is different:
protected/*protected and package*/ constructor Writer(p0: Any!)
constructor(p0: Any!): Writer
actual typealias Writer = java.io.Writer
^
@@ -5,18 +5,18 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:1: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:6: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:3:1: error: property must be initialized
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:3:1: error: property must be initialized.
val dasda
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: function declaration must have a name
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:1: error: syntax error: Expecting a top level declaration.
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:6: error: syntax error: Expecting a top level declaration.
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: syntax error: Expecting a top level declaration.
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: function declaration must have a name.
sdax = {
^
-9
View File
@@ -1,9 +1,6 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/simple/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Printer() {
^
-- JVM --
Exit code: OK
@@ -18,9 +15,3 @@ actual class Printer {
-- JS --
Exit code: OK
Output:
compiler/testData/multiplatform/simple/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Printer() {
^
compiler/testData/multiplatform/simple/js.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
actual class Printer {
^
@@ -1,13 +1,10 @@
-- Common --
Exit code: OK
Output:
compiler/testData/multiplatform/weakIncompatibilityWithoutActualModifier/common.kt:1:1: warning: 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. You can use -Xexpect-actual-classes flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
expect class Foo
^
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/weakIncompatibilityWithoutActualModifier/jvm.kt:1:11: error: declaration must be marked with 'actual'
interface Foo
^
compiler/testData/multiplatform/weakIncompatibilityWithoutActualModifier/common.kt:1:1: error: expect declaration `Foo` doesn't match actual `Foo` because class kinds are different (class, interface, object, enum, annotation)
expect class Foo
^