Rename platform to header.

This commit is contained in:
Stanislav Erokhin
2016-12-13 17:59:59 +03:00
parent facee84020
commit 59efedf610
134 changed files with 500 additions and 499 deletions
@@ -1,3 +1,3 @@
platform class Foo {
header class Foo {
constructor(s: String)
}
@@ -5,7 +5,7 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/common.kt:1:16: error: no definition is found for platform declaration 'Foo'
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/common.kt:1:14: error: no implementation is found for header declaration 'Foo'
The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below:
@@ -14,8 +14,8 @@ No implementations are found for members listed below:
The following declaration is incompatible because parameter types are different:
public constructor Foo(s: Array<String>)
platform class Foo {
^
header class Foo {
^
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl class Foo {
^
@@ -1,7 +1,7 @@
platform open class Base {
header open class Base {
fun base()
}
platform class Derived : Base {
header class Derived : Base {
fun derived()
}
@@ -1,3 +1,3 @@
platform class Foo {
header class Foo {
fun function(b: ByteArray): Int
}
@@ -5,17 +5,17 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/common.kt:1:16: error: no definition is found for platform declaration 'Foo'
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/common.kt:1:14: error: no implementation is found for header declaration 'Foo'
The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below:
public final platform fun function(b: ByteArray): Int
public final header fun function(b: ByteArray): Int
The following declaration is incompatible because return type is different:
public final impl fun function(b: ByteArray): Long
platform class Foo {
^
header class Foo {
^
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl class Foo {
^
@@ -1,3 +1,3 @@
platform class Foo {
header class Foo {
constructor(s: String)
}
@@ -5,7 +5,7 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/missingConstructor/common.kt:1:16: error: no definition is found for platform declaration 'Foo'
compiler/testData/multiplatform/classScopes/missingConstructor/common.kt:1:14: error: no implementation is found for header declaration 'Foo'
The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below:
@@ -14,8 +14,8 @@ No implementations are found for members listed below:
The following declaration is incompatible because number of value parameters is different:
public constructor Foo()
platform class Foo {
^
header class Foo {
^
compiler/testData/multiplatform/classScopes/missingConstructor/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl class Foo
^
@@ -1,3 +1,3 @@
platform class Foo {
header class Foo {
fun function(s: String)
}
@@ -5,14 +5,14 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/classScopes/missingFunction/common.kt:1:16: error: no definition is found for platform declaration 'Foo'
compiler/testData/multiplatform/classScopes/missingFunction/common.kt:1:14: error: no implementation is found for header declaration 'Foo'
The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below:
public final platform fun function(s: String): Unit
public final header fun function(s: String): Unit
platform class Foo {
^
header class Foo {
^
compiler/testData/multiplatform/classScopes/missingFunction/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl class Foo
^
@@ -1,4 +1,4 @@
platform class Foo(param: String) {
header class Foo(param: String) {
var property: Int
fun <T> function(p: List<T>): T
@@ -1,13 +1,13 @@
platform fun <T> f1(): T
header fun <T> f1(): T
platform fun <T> f2(t: T)
header fun <T> f2(t: T)
platform fun <K : Enum<K>, V : MutableList<out K>> f3(v: Map<V, Enum<in K>>, w: Comparable<*>)
header fun <K : Enum<K>, V : MutableList<out K>> f3(v: Map<V, Enum<in K>>, w: Comparable<*>)
platform fun <T: Comparable<T>> Array<out T>.sort(): Unit
header fun <T: Comparable<T>> Array<out T>.sort(): Unit
platform class C1<A>
platform class C2<B : C2<B>>
platform class C3<D, E : MutableList<in D>>
header class C1<A>
header class C2<B : C2<B>>
header class C3<D, E : MutableList<in D>>
platform abstract class AbstractList<F> : MutableList<F>
header abstract class AbstractList<F> : MutableList<F>
@@ -1,3 +1,3 @@
platform class C1<A> {
header class C1<A> {
fun foo(a: A): List<A>?
}
@@ -1,36 +1,36 @@
platform fun f1()
header fun f1()
platform fun f2(name: String)
header fun f2(name: String)
platform fun f3(name: String)
platform fun String.f3ext()
header fun f3(name: String)
header fun String.f3ext()
platform fun f4(name: String)
header fun f4(name: String)
platform fun String.f5()
header fun String.f5()
platform fun f6(p1: String, p2: Int)
header fun f6(p1: String, p2: Int)
platform fun <T> f7()
header fun <T> f7()
internal platform fun f8()
private platform fun f9()
public platform fun f10()
internal header fun f8()
private header fun f9()
public header fun f10()
platform fun <T : Number> f11()
platform fun <U : MutableList<String>> f12()
platform fun <A, B : Continuation<A>> f13()
header fun <T : Number> f11()
header fun <U : MutableList<String>> f12()
header fun <A, B : Continuation<A>> f13()
platform inline fun <X> f14()
platform inline fun <reified Y> f15()
header inline fun <X> f14()
header inline fun <reified Y> f15()
platform fun f16(s: String)
header fun f16(s: String)
platform fun f17(vararg s: String)
platform fun f18(s: Array<out String>)
platform inline fun f19(crossinline s: () -> Unit)
platform inline fun f20(s: () -> Unit)
platform inline fun f21(noinline s: () -> Unit)
platform inline fun f22(s: () -> Unit)
platform fun f23(coroutine c: Unit.() -> Continuation<Unit>)
platform fun f24(c: Unit.() -> Continuation<Unit>)
header fun f17(vararg s: String)
header fun f18(s: Array<out String>)
header inline fun f19(crossinline s: () -> Unit)
header inline fun f20(s: () -> Unit)
header inline fun f21(noinline s: () -> Unit)
header inline fun f22(s: () -> Unit)
header fun f23(coroutine c: Unit.() -> Continuation<Unit>)
header fun f24(c: Unit.() -> Continuation<Unit>)
@@ -5,137 +5,137 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleCallables/common.kt:1:1: error: no definition is found for platform declaration 'f1'
compiler/testData/multiplatform/incompatibleCallables/common.kt:1:1: error: no implementation is found for header declaration 'f1'
The following declaration is incompatible because return type is different:
public impl fun f1(): String
platform fun f1()
header fun f1()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:3:1: error: no definition is found for platform declaration 'f2'
compiler/testData/multiplatform/incompatibleCallables/common.kt:3:1: error: no implementation is found for header declaration 'f2'
The following declaration is incompatible because parameter names are different:
public impl fun f2(otherName: String): Unit
platform fun f2(name: String)
header fun f2(name: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:5:1: error: no definition is found for platform declaration 'f3'
compiler/testData/multiplatform/incompatibleCallables/common.kt:5:1: error: no implementation is found for header declaration 'f3'
The following declaration is incompatible because parameter types are different:
public impl fun f3(name: Double): Unit
platform fun f3(name: String)
header fun f3(name: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:6:1: error: no definition is found for platform declaration 'f3ext'
compiler/testData/multiplatform/incompatibleCallables/common.kt:6:1: error: no implementation is found for header declaration 'f3ext'
The following declaration is incompatible because parameter types are different:
public impl fun Double.f3ext(): Unit
platform fun String.f3ext()
header fun String.f3ext()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:8:1: error: no definition is found for platform declaration 'f4'
compiler/testData/multiplatform/incompatibleCallables/common.kt:8:1: error: no implementation is found for header declaration 'f4'
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public impl fun String.f4(): Unit
platform fun f4(name: String)
header fun f4(name: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:10:1: error: no definition is found for platform declaration 'f5'
compiler/testData/multiplatform/incompatibleCallables/common.kt:10:1: error: no implementation is found for header declaration 'f5'
The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public impl fun f5(name: String): Unit
platform fun String.f5()
header fun String.f5()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:12:1: error: no definition is found for platform declaration 'f6'
compiler/testData/multiplatform/incompatibleCallables/common.kt:12:1: error: no implementation is found for header declaration 'f6'
The following declaration is incompatible because number of value parameters is different:
public impl fun f6(p2: Int): Unit
platform fun f6(p1: String, p2: Int)
header fun f6(p1: String, p2: Int)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:14:1: error: no definition is found for platform declaration 'f7'
compiler/testData/multiplatform/incompatibleCallables/common.kt:14:1: error: no implementation is found for header declaration 'f7'
The following declaration is incompatible because number of type parameters is different:
public impl fun <K, V> f7(): Unit
platform fun <T> f7()
header fun <T> f7()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:16:1: error: no definition is found for platform declaration 'f8'
compiler/testData/multiplatform/incompatibleCallables/common.kt:16:1: error: no implementation is found for header declaration 'f8'
The following declaration is incompatible because visibility is different:
public impl fun f8(): Unit
internal platform fun f8()
internal header fun f8()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:17:1: error: no definition is found for platform declaration 'f9'
compiler/testData/multiplatform/incompatibleCallables/common.kt:17:1: error: no implementation is found for header declaration 'f9'
The following declaration is incompatible because visibility is different:
internal impl fun f9(): Unit
private platform fun f9()
private header fun f9()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:18:1: error: no definition is found for platform declaration 'f10'
compiler/testData/multiplatform/incompatibleCallables/common.kt:18:1: error: no implementation is found for header declaration 'f10'
The following declaration is incompatible because visibility is different:
private impl fun f10(): Unit
public platform fun f10()
public header fun f10()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:24:1: error: no definition is found for platform declaration 'f14'
compiler/testData/multiplatform/incompatibleCallables/common.kt:24:1: error: no implementation is found for header declaration 'f14'
The following declaration is incompatible because some type parameter is reified in one declaration and non-reified in the other:
public inline impl fun <reified X> f14(): Unit
platform inline fun <X> f14()
header inline fun <X> f14()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:25:1: error: no definition is found for platform declaration 'f15'
compiler/testData/multiplatform/incompatibleCallables/common.kt:25:1: error: no implementation is found for header declaration 'f15'
The following declaration is incompatible because some type parameter is reified in one declaration and non-reified in the other:
public inline impl fun <Y> f15(): Unit
platform inline fun <reified Y> f15()
header inline fun <reified Y> f15()
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:27:1: error: no definition is found for platform declaration 'f16'
compiler/testData/multiplatform/incompatibleCallables/common.kt:27:1: error: no implementation is found for header declaration 'f16'
The following declaration is incompatible because some parameters have default values:
public impl fun f16(s: String = ...): Unit
platform fun f16(s: String)
header fun f16(s: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:29:1: error: no definition is found for platform declaration 'f17'
compiler/testData/multiplatform/incompatibleCallables/common.kt:29:1: error: no implementation is found for header declaration 'f17'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f17(s: Array<out String>): Unit
platform fun f17(vararg s: String)
header fun f17(vararg s: String)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:30:1: error: no definition is found for platform declaration 'f18'
compiler/testData/multiplatform/incompatibleCallables/common.kt:30:1: error: no implementation is found for header declaration 'f18'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f18(vararg s: String): Unit
platform fun f18(s: Array<out String>)
header fun f18(s: Array<out String>)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:31:1: error: no definition is found for platform declaration 'f19'
compiler/testData/multiplatform/incompatibleCallables/common.kt:31:1: error: no implementation is found for header declaration 'f19'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f19(s: () -> Unit): Unit
platform inline fun f19(crossinline s: () -> Unit)
header inline fun f19(crossinline s: () -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:32:1: error: no definition is found for platform declaration 'f20'
compiler/testData/multiplatform/incompatibleCallables/common.kt:32:1: error: no implementation is found for header declaration 'f20'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f20(crossinline s: () -> Unit): Unit
platform inline fun f20(s: () -> Unit)
header inline fun f20(s: () -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:33:1: error: no definition is found for platform declaration 'f21'
compiler/testData/multiplatform/incompatibleCallables/common.kt:33:1: error: no implementation is found for header declaration 'f21'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f21(s: () -> Unit): Unit
platform inline fun f21(noinline s: () -> Unit)
header inline fun f21(noinline s: () -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:34:1: error: no definition is found for platform declaration 'f22'
compiler/testData/multiplatform/incompatibleCallables/common.kt:34:1: error: no implementation is found for header declaration 'f22'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f22(noinline s: () -> Unit): Unit
platform inline fun f22(s: () -> Unit)
header inline fun f22(s: () -> Unit)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:35:1: error: no definition is found for platform declaration 'f23'
compiler/testData/multiplatform/incompatibleCallables/common.kt:35:1: error: no implementation is found for header declaration 'f23'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f23(c: Unit.() -> Continuation<Unit>): Unit
platform fun f23(coroutine c: Unit.() -> Continuation<Unit>)
header fun f23(coroutine c: Unit.() -> Continuation<Unit>)
^
compiler/testData/multiplatform/incompatibleCallables/common.kt:36:1: error: no definition is found for platform declaration 'f24'
compiler/testData/multiplatform/incompatibleCallables/common.kt:36:1: error: no implementation is found for header declaration 'f24'
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f24(coroutine c: Unit.() -> Continuation<Unit>): Unit
platform fun f24(c: Unit.() -> Continuation<Unit>)
header fun f24(c: Unit.() -> Continuation<Unit>)
^
compiler/testData/multiplatform/incompatibleCallables/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl fun f1(): String = ""
+18 -18
View File
@@ -1,25 +1,25 @@
platform class PClass
platform interface PInterface
platform object PObject
platform enum class PEnumClass
platform annotation class PAnnotationClass
header class PClass
header interface PInterface
header object PObject
header enum class PEnumClass
header annotation class PAnnotationClass
internal platform object InternalObject
public platform object PublicObject
private platform object PrivateObject
internal header object InternalObject
public header object PublicObject
private header object PrivateObject
open platform class OpenClass
abstract platform class AbstractClass
final platform class FinalClass
open header class OpenClass
abstract header class AbstractClass
final header class FinalClass
// platform data class DataClass(val x: Int)
platform class NonDataClass(x: Int)
// header data class DataClass(val x: Int)
header class NonDataClass(x: Int)
platform class C1<A>
platform class C2<B>
platform class C3<D, E : D>
header class C1<A>
header class C2<B>
header class C3<D, E : D>
platform class C4<F>
header class C4<F>
platform abstract class ExtendsNumber : Number
header abstract class ExtendsNumber : Number
@@ -5,96 +5,96 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleClasses/common.kt:1:16: error: no definition is found for platform declaration 'PClass'
compiler/testData/multiplatform/incompatibleClasses/common.kt:1:14: error: no implementation is found for header declaration 'PClass'
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public impl interface PClass
platform class PClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:2:20: error: no definition is found for platform declaration 'PInterface'
header class PClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:2:18: error: no implementation is found for header declaration 'PInterface'
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public impl object PInterface
platform interface PInterface
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:3:10: error: no definition is found for platform declaration 'PObject'
header interface PInterface
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:3:8: error: no implementation is found for header declaration 'PObject'
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl enum class PObject : Enum<PObject>
platform object PObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:4:21: error: no definition is found for platform declaration 'PEnumClass'
header object PObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:4:19: error: no implementation is found for header declaration 'PEnumClass'
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl annotation class PEnumClass : Annotation
platform enum class PEnumClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:5:27: error: no definition is found for platform declaration 'PAnnotationClass'
header enum class PEnumClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:5:25: error: no implementation is found for header declaration 'PAnnotationClass'
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl class PAnnotationClass
platform annotation class PAnnotationClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:7:19: error: no definition is found for platform declaration 'InternalObject'
header annotation class PAnnotationClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:7:17: error: no implementation is found for header declaration 'InternalObject'
The following declaration is incompatible because visibility is different:
private impl object InternalObject
internal platform object InternalObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:8:17: error: no definition is found for platform declaration 'PublicObject'
internal header object InternalObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:8:15: error: no implementation is found for header declaration 'PublicObject'
The following declaration is incompatible because visibility is different:
internal impl object PublicObject
public platform object PublicObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:9:18: error: no definition is found for platform declaration 'PrivateObject'
public header object PublicObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:9:16: error: no implementation is found for header declaration 'PrivateObject'
The following declaration is incompatible because visibility is different:
public impl object PrivateObject
private platform object PrivateObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:11:21: error: no definition is found for platform declaration 'OpenClass'
private header object PrivateObject
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:11:19: error: no implementation is found for header declaration 'OpenClass'
The following declaration is incompatible because modality is different:
public final impl class OpenClass
open platform class OpenClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:12:25: error: no definition is found for platform declaration 'AbstractClass'
open header class OpenClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:12:23: error: no implementation is found for header declaration 'AbstractClass'
The following declaration is incompatible because modality is different:
public open impl class AbstractClass
abstract platform class AbstractClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:13:22: error: no definition is found for platform declaration 'FinalClass'
abstract header class AbstractClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:13:20: error: no implementation is found for header declaration 'FinalClass'
The following declaration is incompatible because modality is different:
public abstract impl class FinalClass
final platform class FinalClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:16:16: error: no definition is found for platform declaration 'NonDataClass'
final header class FinalClass
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:16:14: error: no implementation is found for header declaration 'NonDataClass'
The following declaration is incompatible because modifiers are different (data):
public final impl data class NonDataClass
platform class NonDataClass(x: Int)
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:18:16: error: no definition is found for platform declaration 'C1'
header class NonDataClass(x: Int)
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:18:14: error: no implementation is found for header declaration 'C1'
The following declaration is incompatible because number of type parameters is different:
public final impl class C1<A, Extra>
platform class C1<A>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:19:16: error: no definition is found for platform declaration 'C2'
header class C1<A>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:19:14: error: no implementation is found for header declaration 'C2'
The following declaration is incompatible because declaration-site variances of type parameters are different:
public final impl class C2<out B>
platform class C2<B>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:25:25: error: no definition is found for platform declaration 'ExtendsNumber'
header class C2<B>
^
compiler/testData/multiplatform/incompatibleClasses/common.kt:25:23: error: no implementation is found for header declaration 'ExtendsNumber'
The following declaration is incompatible because some supertypes are missing in the implementation:
public abstract impl class ExtendsNumber
platform abstract class ExtendsNumber : Number
^
header abstract class ExtendsNumber : Number
^
compiler/testData/multiplatform/incompatibleClasses/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl interface PClass
^
@@ -1,14 +1,14 @@
platform infix fun Int.plus(s: CharSequence): Int
platform fun Int.minus(s: String): Int
header infix fun Int.plus(s: CharSequence): Int
header fun Int.minus(s: String): Int
platform operator fun Double.times(x: CharArray)
platform fun Double.divide(x: ByteArray)
header operator fun Double.times(x: CharArray)
header fun Double.divide(x: ByteArray)
platform external fun f1()
platform fun g1()
header external fun f1()
header fun g1()
platform inline fun f2()
platform fun g2()
header inline fun f2()
header fun g2()
platform tailrec fun f3()
platform fun g3()
header tailrec fun f3()
header fun g3()
@@ -5,65 +5,65 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleFunctions/common.kt:1:1: error: no definition is found for platform declaration 'plus'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:1:1: error: no implementation is found for header declaration 'plus'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun Int.plus(s: CharSequence): Int
platform infix fun Int.plus(s: CharSequence): Int
header infix fun Int.plus(s: CharSequence): Int
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:2:1: error: no definition is found for platform declaration 'minus'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:2:1: error: no implementation is found for header declaration 'minus'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public infix impl fun Int.minus(s: String): Int
platform fun Int.minus(s: String): Int
header fun Int.minus(s: String): Int
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:4:1: error: no definition is found for platform declaration 'times'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:4:1: error: no implementation is found for header declaration 'times'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun Double.times(x: CharArray): Unit
platform operator fun Double.times(x: CharArray)
header operator fun Double.times(x: CharArray)
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:5:1: error: no definition is found for platform declaration 'divide'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:5:1: error: no implementation is found for header declaration 'divide'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public operator impl fun Double.divide(x: ByteArray): Unit
platform fun Double.divide(x: ByteArray)
header fun Double.divide(x: ByteArray)
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:7:1: error: no definition is found for platform declaration 'f1'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:7:1: error: no implementation is found for header declaration 'f1'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f1(): Unit
platform external fun f1()
header external fun f1()
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:8:1: error: no definition is found for platform declaration 'g1'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:8:1: error: no implementation is found for header declaration 'g1'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public external impl fun g1(): Unit
platform fun g1()
header fun g1()
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:10:1: error: no definition is found for platform declaration 'f2'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:10:1: error: no implementation is found for header declaration 'f2'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f2(): Unit
platform inline fun f2()
header inline fun f2()
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:11:1: error: no definition is found for platform declaration 'g2'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:11:1: error: no implementation is found for header declaration 'g2'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public inline impl fun g2(): Unit
platform fun g2()
header fun g2()
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:13:1: error: no definition is found for platform declaration 'f3'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:13:1: error: no implementation is found for header declaration 'f3'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f3(): Unit
platform tailrec fun f3()
header tailrec fun f3()
^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:14:1: error: no definition is found for platform declaration 'g3'
compiler/testData/multiplatform/incompatibleFunctions/common.kt:14:1: error: no implementation is found for header declaration 'g3'
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public tailrec impl fun g3(): Unit
platform fun g3()
header fun g3()
^
compiler/testData/multiplatform/incompatibleFunctions/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl fun Int.plus(s: CharSequence): Int = 0
@@ -1,2 +1,2 @@
platform val pval: String
platform var pvar: String
header val pval: String
header var pvar: String
@@ -5,17 +5,17 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
Output:
compiler/testData/multiplatform/incompatibleProperties/common.kt:1:1: error: no definition is found for platform declaration 'pval'
compiler/testData/multiplatform/incompatibleProperties/common.kt:1:1: error: no implementation is found for header declaration 'pval'
The following declaration is incompatible because property kinds are different (val vs var):
public var pval: String
platform val pval: String
header val pval: String
^
compiler/testData/multiplatform/incompatibleProperties/common.kt:2:1: error: no definition is found for platform declaration 'pvar'
compiler/testData/multiplatform/incompatibleProperties/common.kt:2:1: error: no implementation is found for header declaration 'pvar'
The following declaration is incompatible because property kinds are different (val vs var):
public val pvar: String
platform var pvar: String
header var pvar: String
^
compiler/testData/multiplatform/incompatibleProperties/jvm.kt:1:1: error: modifier 'impl' is only applicable to members that are initially declared in platform-independent code
impl var pval: String = ""
@@ -1 +1 @@
platform class Foo
header class Foo
+1 -1
View File
@@ -1,4 +1,4 @@
platform class Printer {
header class Printer {
fun print(message: String)
}