FIx tests after renaming platform to header.

This commit is contained in:
Stanislav Erokhin
2016-12-13 23:08:47 +03:00
parent bd74ef4536
commit 653d589f98
13 changed files with 57 additions and 59 deletions
@@ -5,7 +5,7 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/common.kt:1:14: error: no implementation is found for header declaration 'Foo' compiler/testData/multiplatform/classScopes/constructorIncorrectSignature/common.kt:1:14: error: header declaration 'Foo' has no implementation in module
The following declaration is incompatible because some members are not implemented. The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below: No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/classScopes/functionIncorrectSignature/common.kt:1:14: error: no implementation is found for header declaration 'Foo' compiler/testData/multiplatform/classScopes/functionIncorrectSignature/common.kt:1:14: error: header declaration 'Foo' has no implementation in module
The following declaration is incompatible because some members are not implemented. The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below: No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/classScopes/missingConstructor/common.kt:1:14: error: no implementation is found for header declaration 'Foo' compiler/testData/multiplatform/classScopes/missingConstructor/common.kt:1:14: error: header declaration 'Foo' has no implementation in module
The following declaration is incompatible because some members are not implemented. The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below: No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/classScopes/missingFunction/common.kt:1:14: error: no implementation is found for header declaration 'Foo' compiler/testData/multiplatform/classScopes/missingFunction/common.kt:1:14: error: header declaration 'Foo' has no implementation in module
The following declaration is incompatible because some members are not implemented. The following declaration is incompatible because some members are not implemented.
No implementations are found for members listed below: No implementations are found for members listed below:
@@ -5,133 +5,133 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/incompatibleCallables/common.kt:1:1: error: no implementation is found for header declaration 'f1' compiler/testData/multiplatform/incompatibleCallables/common.kt:1:1: error: header declaration 'f1' has no implementation in module
The following declaration is incompatible because return type is different: The following declaration is incompatible because return type is different:
public impl fun f1(): String public impl fun f1(): String
header fun f1() header fun f1()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:3:1: error: no implementation is found for header declaration 'f2' compiler/testData/multiplatform/incompatibleCallables/common.kt:3:1: error: header declaration 'f2' has no implementation in module
The following declaration is incompatible because parameter names are different: The following declaration is incompatible because parameter names are different:
public impl fun f2(otherName: String): Unit public impl fun f2(otherName: String): Unit
header fun f2(name: String) header fun f2(name: String)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:5:1: error: no implementation is found for header declaration 'f3' compiler/testData/multiplatform/incompatibleCallables/common.kt:5:1: error: header declaration 'f3' has no implementation in module
The following declaration is incompatible because parameter types are different: The following declaration is incompatible because parameter types are different:
public impl fun f3(name: Double): Unit public impl fun f3(name: Double): Unit
header fun f3(name: String) header fun f3(name: String)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:6:1: error: no implementation is found for header declaration 'f3ext' compiler/testData/multiplatform/incompatibleCallables/common.kt:6:1: error: header declaration 'f3ext' has no implementation in module
The following declaration is incompatible because parameter types are different: The following declaration is incompatible because parameter types are different:
public impl fun Double.f3ext(): Unit public impl fun Double.f3ext(): Unit
header fun String.f3ext() header fun String.f3ext()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:8:1: error: no implementation is found for header declaration 'f4' compiler/testData/multiplatform/incompatibleCallables/common.kt:8:1: error: header declaration 'f4' has no implementation in module
The following declaration is incompatible because parameter shapes are different (extension vs non-extension): The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public impl fun String.f4(): Unit public impl fun String.f4(): Unit
header fun f4(name: String) header fun f4(name: String)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:10:1: error: no implementation is found for header declaration 'f5' compiler/testData/multiplatform/incompatibleCallables/common.kt:10:1: error: header declaration 'f5' has no implementation in module
The following declaration is incompatible because parameter shapes are different (extension vs non-extension): The following declaration is incompatible because parameter shapes are different (extension vs non-extension):
public impl fun f5(name: String): Unit public impl fun f5(name: String): Unit
header fun String.f5() header fun String.f5()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:12:1: error: no implementation is found for header declaration 'f6' compiler/testData/multiplatform/incompatibleCallables/common.kt:12:1: error: header declaration 'f6' has no implementation in module
The following declaration is incompatible because number of value parameters is different: The following declaration is incompatible because number of value parameters is different:
public impl fun f6(p2: Int): Unit public impl fun f6(p2: Int): Unit
header fun f6(p1: String, p2: Int) header fun f6(p1: String, p2: Int)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:14:1: error: no implementation is found for header declaration 'f7' compiler/testData/multiplatform/incompatibleCallables/common.kt:14:1: error: header declaration 'f7' has no implementation in module
The following declaration is incompatible because number of type parameters is different: The following declaration is incompatible because number of type parameters is different:
public impl fun <K, V> f7(): Unit public impl fun <K, V> f7(): Unit
header fun <T> f7() header fun <T> f7()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:16:1: error: no implementation is found for header declaration 'f8' compiler/testData/multiplatform/incompatibleCallables/common.kt:16:1: error: header declaration 'f8' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
public impl fun f8(): Unit public impl fun f8(): Unit
internal header fun f8() internal header fun f8()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:17:1: error: no implementation is found for header declaration 'f9' compiler/testData/multiplatform/incompatibleCallables/common.kt:17:1: error: header declaration 'f9' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
internal impl fun f9(): Unit internal impl fun f9(): Unit
private header fun f9() private header fun f9()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:18:1: error: no implementation is found for header declaration 'f10' compiler/testData/multiplatform/incompatibleCallables/common.kt:18:1: error: header declaration 'f10' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
private impl fun f10(): Unit private impl fun f10(): Unit
public header fun f10() public header fun f10()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:24:1: error: no implementation is found for header declaration 'f14' compiler/testData/multiplatform/incompatibleCallables/common.kt:24:1: error: header declaration 'f14' has no implementation in module
The following declaration is incompatible because some type parameter is reified in one declaration and non-reified in the other: 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 public inline impl fun <reified X> f14(): Unit
header inline fun <X> f14() header inline fun <X> f14()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:25:1: error: no implementation is found for header declaration 'f15' compiler/testData/multiplatform/incompatibleCallables/common.kt:25:1: error: header declaration 'f15' has no implementation in module
The following declaration is incompatible because some type parameter is reified in one declaration and non-reified in the other: 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 public inline impl fun <Y> f15(): Unit
header inline fun <reified Y> f15() header inline fun <reified Y> f15()
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:27:1: error: no implementation is found for header declaration 'f16' compiler/testData/multiplatform/incompatibleCallables/common.kt:27:1: error: header declaration 'f16' has no implementation in module
The following declaration is incompatible because some parameters have default values: The following declaration is incompatible because some parameters have default values:
public impl fun f16(s: String = ...): Unit public impl fun f16(s: String = ...): Unit
header fun f16(s: String) header fun f16(s: String)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:29:1: error: no implementation is found for header declaration 'f17' compiler/testData/multiplatform/incompatibleCallables/common.kt:29:1: error: header declaration 'f17' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f17(s: Array<out String>): Unit public impl fun f17(s: Array<out String>): Unit
header fun f17(vararg s: String) header fun f17(vararg s: String)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:30:1: error: no implementation is found for header declaration 'f18' compiler/testData/multiplatform/incompatibleCallables/common.kt:30:1: error: header declaration 'f18' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f18(vararg s: String): Unit public impl fun f18(vararg s: String): Unit
header fun f18(s: Array<out String>) header fun f18(s: Array<out String>)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:31:1: error: no implementation is found for header declaration 'f19' compiler/testData/multiplatform/incompatibleCallables/common.kt:31:1: error: header declaration 'f19' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f19(s: () -> Unit): Unit public inline impl fun f19(s: () -> Unit): Unit
header inline fun f19(crossinline s: () -> Unit) header inline fun f19(crossinline s: () -> Unit)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:32:1: error: no implementation is found for header declaration 'f20' compiler/testData/multiplatform/incompatibleCallables/common.kt:32:1: error: header declaration 'f20' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f20(crossinline s: () -> Unit): Unit public inline impl fun f20(crossinline s: () -> Unit): Unit
header inline fun f20(s: () -> Unit) header inline fun f20(s: () -> Unit)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:33:1: error: no implementation is found for header declaration 'f21' compiler/testData/multiplatform/incompatibleCallables/common.kt:33:1: error: header declaration 'f21' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f21(s: () -> Unit): Unit public inline impl fun f21(s: () -> Unit): Unit
header inline fun f21(noinline s: () -> Unit) header inline fun f21(noinline s: () -> Unit)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:34:1: error: no implementation is found for header declaration 'f22' compiler/testData/multiplatform/incompatibleCallables/common.kt:34:1: error: header declaration 'f22' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public inline impl fun f22(noinline s: () -> Unit): Unit public inline impl fun f22(noinline s: () -> Unit): Unit
header inline fun f22(s: () -> Unit) header inline fun f22(s: () -> Unit)
^ ^
compiler/testData/multiplatform/incompatibleCallables/common.kt:35:1: error: no implementation is found for header declaration 'f23' compiler/testData/multiplatform/incompatibleCallables/common.kt:35:1: error: header declaration 'f23' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f23(c: Unit.() -> Continuation<Unit>): Unit public impl fun f23(c: Unit.() -> Continuation<Unit>): Unit
header 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 implementation is found for header declaration 'f24' compiler/testData/multiplatform/incompatibleCallables/common.kt:36:1: error: header declaration 'f24' has no implementation in module
The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline): The following declaration is incompatible because parameter modifiers are different (vararg, coroutine, crossinline, noinline):
public impl fun f24(coroutine c: Unit.() -> Continuation<Unit>): Unit public impl fun f24(coroutine c: Unit.() -> Continuation<Unit>): Unit
@@ -5,91 +5,91 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/incompatibleClasses/common.kt:1:14: error: no implementation is found for header declaration 'PClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:1:14: error: header declaration 'PClass' has no implementation in module
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation): The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public impl interface PClass public impl interface PClass
header class PClass header class PClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:2:18: error: no implementation is found for header declaration 'PInterface' compiler/testData/multiplatform/incompatibleClasses/common.kt:2:18: error: header declaration 'PInterface' has no implementation in module
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation): The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public impl object PInterface public impl object PInterface
header interface PInterface header interface PInterface
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:3:8: error: no implementation is found for header declaration 'PObject' compiler/testData/multiplatform/incompatibleClasses/common.kt:3:8: error: header declaration 'PObject' has no implementation in module
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation): The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl enum class PObject : Enum<PObject> public final impl enum class PObject : Enum<PObject>
header object PObject header object PObject
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:4:19: error: no implementation is found for header declaration 'PEnumClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:4:19: error: header declaration 'PEnumClass' has no implementation in module
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation): The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl annotation class PEnumClass : Annotation public final impl annotation class PEnumClass : Annotation
header enum class PEnumClass header enum class PEnumClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:5:25: error: no implementation is found for header declaration 'PAnnotationClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:5:25: error: header declaration 'PAnnotationClass' has no implementation in module
The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation): The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation):
public final impl class PAnnotationClass public final impl class PAnnotationClass
header annotation class PAnnotationClass header annotation class PAnnotationClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:7:17: error: no implementation is found for header declaration 'InternalObject' compiler/testData/multiplatform/incompatibleClasses/common.kt:7:17: error: header declaration 'InternalObject' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
private impl object InternalObject private impl object InternalObject
internal header object InternalObject internal header object InternalObject
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:8:15: error: no implementation is found for header declaration 'PublicObject' compiler/testData/multiplatform/incompatibleClasses/common.kt:8:15: error: header declaration 'PublicObject' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
internal impl object PublicObject internal impl object PublicObject
public header object PublicObject public header object PublicObject
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:9:16: error: no implementation is found for header declaration 'PrivateObject' compiler/testData/multiplatform/incompatibleClasses/common.kt:9:16: error: header declaration 'PrivateObject' has no implementation in module
The following declaration is incompatible because visibility is different: The following declaration is incompatible because visibility is different:
public impl object PrivateObject public impl object PrivateObject
private header object PrivateObject private header object PrivateObject
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:11:19: error: no implementation is found for header declaration 'OpenClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:11:19: error: header declaration 'OpenClass' has no implementation in module
The following declaration is incompatible because modality is different: The following declaration is incompatible because modality is different:
public final impl class OpenClass public final impl class OpenClass
open header class OpenClass open header class OpenClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:12:23: error: no implementation is found for header declaration 'AbstractClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:12:23: error: header declaration 'AbstractClass' has no implementation in module
The following declaration is incompatible because modality is different: The following declaration is incompatible because modality is different:
public open impl class AbstractClass public open impl class AbstractClass
abstract header class AbstractClass abstract header class AbstractClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:13:20: error: no implementation is found for header declaration 'FinalClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:13:20: error: header declaration 'FinalClass' has no implementation in module
The following declaration is incompatible because modality is different: The following declaration is incompatible because modality is different:
public abstract impl class FinalClass public abstract impl class FinalClass
final header class FinalClass final header class FinalClass
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:16:14: error: no implementation is found for header declaration 'NonDataClass' compiler/testData/multiplatform/incompatibleClasses/common.kt:16:14: error: header declaration 'NonDataClass' has no implementation in module
The following declaration is incompatible because modifiers are different (data): The following declaration is incompatible because modifiers are different (data):
public final impl data class NonDataClass public final impl data class NonDataClass
header class NonDataClass(x: Int) header class NonDataClass(x: Int)
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:18:14: error: no implementation is found for header declaration 'C1' compiler/testData/multiplatform/incompatibleClasses/common.kt:18:14: error: header declaration 'C1' has no implementation in module
The following declaration is incompatible because number of type parameters is different: The following declaration is incompatible because number of type parameters is different:
public final impl class C1<A, Extra> public final impl class C1<A, Extra>
header class C1<A> header class C1<A>
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:19:14: error: no implementation is found for header declaration 'C2' compiler/testData/multiplatform/incompatibleClasses/common.kt:19:14: error: header declaration 'C2' has no implementation in module
The following declaration is incompatible because declaration-site variances of type parameters are different: The following declaration is incompatible because declaration-site variances of type parameters are different:
public final impl class C2<out B> public final impl class C2<out B>
header class C2<B> header class C2<B>
^ ^
compiler/testData/multiplatform/incompatibleClasses/common.kt:25:23: error: no implementation is found for header declaration 'ExtendsNumber' compiler/testData/multiplatform/incompatibleClasses/common.kt:25:23: error: header declaration 'ExtendsNumber' has no implementation in module
The following declaration is incompatible because some supertypes are missing in the implementation: The following declaration is incompatible because some supertypes are missing in the implementation:
public abstract impl class ExtendsNumber public abstract impl class ExtendsNumber
@@ -5,61 +5,61 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/incompatibleFunctions/common.kt:1:1: error: no implementation is found for header declaration 'plus' compiler/testData/multiplatform/incompatibleFunctions/common.kt:1:1: error: header declaration 'plus' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun Int.plus(s: CharSequence): Int public impl fun Int.plus(s: CharSequence): Int
header 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 implementation is found for header declaration 'minus' compiler/testData/multiplatform/incompatibleFunctions/common.kt:2:1: error: header declaration 'minus' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public infix impl fun Int.minus(s: String): Int public infix impl fun Int.minus(s: String): Int
header fun Int.minus(s: String): Int header fun Int.minus(s: String): Int
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:4:1: error: no implementation is found for header declaration 'times' compiler/testData/multiplatform/incompatibleFunctions/common.kt:4:1: error: header declaration 'times' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun Double.times(x: CharArray): Unit public impl fun Double.times(x: CharArray): Unit
header operator fun Double.times(x: CharArray) header operator fun Double.times(x: CharArray)
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:5:1: error: no implementation is found for header declaration 'divide' compiler/testData/multiplatform/incompatibleFunctions/common.kt:5:1: error: header declaration 'divide' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public operator impl fun Double.divide(x: ByteArray): Unit public operator impl fun Double.divide(x: ByteArray): Unit
header fun Double.divide(x: ByteArray) header fun Double.divide(x: ByteArray)
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:7:1: error: no implementation is found for header declaration 'f1' compiler/testData/multiplatform/incompatibleFunctions/common.kt:7:1: error: header declaration 'f1' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f1(): Unit public impl fun f1(): Unit
header external fun f1() header external fun f1()
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:8:1: error: no implementation is found for header declaration 'g1' compiler/testData/multiplatform/incompatibleFunctions/common.kt:8:1: error: header declaration 'g1' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public external impl fun g1(): Unit public external impl fun g1(): Unit
header fun g1() header fun g1()
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:10:1: error: no implementation is found for header declaration 'f2' compiler/testData/multiplatform/incompatibleFunctions/common.kt:10:1: error: header declaration 'f2' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f2(): Unit public impl fun f2(): Unit
header inline fun f2() header inline fun f2()
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:11:1: error: no implementation is found for header declaration 'g2' compiler/testData/multiplatform/incompatibleFunctions/common.kt:11:1: error: header declaration 'g2' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public inline impl fun g2(): Unit public inline impl fun g2(): Unit
header fun g2() header fun g2()
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:13:1: error: no implementation is found for header declaration 'f3' compiler/testData/multiplatform/incompatibleFunctions/common.kt:13:1: error: header declaration 'f3' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public impl fun f3(): Unit public impl fun f3(): Unit
header tailrec fun f3() header tailrec fun f3()
^ ^
compiler/testData/multiplatform/incompatibleFunctions/common.kt:14:1: error: no implementation is found for header declaration 'g3' compiler/testData/multiplatform/incompatibleFunctions/common.kt:14:1: error: header declaration 'g3' has no implementation in module
The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec): The following declaration is incompatible because modifiers are different (external, infix, inline, operator, suspend, tailrec):
public tailrec impl fun g3(): Unit public tailrec impl fun g3(): Unit
@@ -5,13 +5,13 @@ Output:
-- JVM -- -- JVM --
Exit code: COMPILATION_ERROR Exit code: COMPILATION_ERROR
Output: Output:
compiler/testData/multiplatform/incompatibleProperties/common.kt:1:1: error: no implementation is found for header declaration 'pval' compiler/testData/multiplatform/incompatibleProperties/common.kt:1:1: error: header declaration 'pval' has no implementation in module
The following declaration is incompatible because property kinds are different (val vs var): The following declaration is incompatible because property kinds are different (val vs var):
public var pval: String public var pval: String
header val pval: String header val pval: String
^ ^
compiler/testData/multiplatform/incompatibleProperties/common.kt:2:1: error: no implementation is found for header declaration 'pvar' compiler/testData/multiplatform/incompatibleProperties/common.kt:2:1: error: header declaration 'pvar' has no implementation in module
The following declaration is incompatible because property kinds are different (val vs var): The following declaration is incompatible because property kinds are different (val vs var):
public val pvar: String public val pvar: String
@@ -3,5 +3,5 @@ open class Foo {
p<caret> val foo = 1 p<caret> val foo = 1
} }
// EXIST: private, public, protected, platform // EXIST: private, public, protected
// NOTHING_ELSE // NOTHING_ELSE
@@ -5,5 +5,4 @@ p<caret>
// EXIST: package // EXIST: package
// EXIST: private // EXIST: private
// EXIST: public // EXIST: public
// EXIST: header
// NOTHING_ELSE // NOTHING_ELSE
@@ -63,7 +63,7 @@ class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
} }
fun testNoFacadeForHeaderClass() { fun testNoFacadeForHeaderClass() {
val file = myFixture.configureByText("foo.kt", "platform fun foo(): Int") as KtFile val file = myFixture.configureByText("foo.kt", "header fun foo(): Int") as KtFile
assertEquals(0, file.classes.size) assertEquals(0, file.classes.size)
val facadeFiles = LightClassGenerationSupport.getInstance(project).findFilesForFacade(FqName("foo.FooKt"), GlobalSearchScope.allScope(project)) val facadeFiles = LightClassGenerationSupport.getInstance(project).findFilesForFacade(FqName("foo.FooKt"), GlobalSearchScope.allScope(project))
assertEquals(0, facadeFiles.size) assertEquals(0, facadeFiles.size)
@@ -97,7 +97,7 @@ class LightClassFromTextTest : KotlinLightCodeInsightFixtureTestCase() {
} }
fun testHeaderDeclarations() { fun testHeaderDeclarations() {
val contextFile = myFixture.configureByText("Header.kt", "platform class Foo\n\nplatform fun foo()\n") as KtFile val contextFile = myFixture.configureByText("Header.kt", "header class Foo\n\nheader fun foo()\n") as KtFile
val headerClass = contextFile.declarations.single { it is KtClassOrObject } val headerClass = contextFile.declarations.single { it is KtClassOrObject }
assertEquals(0, headerClass.toLightElements().size) assertEquals(0, headerClass.toLightElements().size)
val headerFunction = contextFile.declarations.single { it is KtNamedFunction } val headerFunction = contextFile.declarations.single { it is KtNamedFunction }
@@ -37,8 +37,7 @@ object JsPlatformConfigurator : PlatformConfigurator(
JsNameChecker, JsModuleChecker, JsNameChecker, JsModuleChecker,
JsExternalChecker(), JsExternalChecker(),
JsRuntimeAnnotationChecker, JsRuntimeAnnotationChecker,
HeaderImplDeclarationChecker(), HeaderImplDeclarationChecker()
JsExternalChecker()
), ),
additionalCallCheckers = listOf(ReifiedTypeParameterSubstitutionChecker(), JsModuleCallChecker, JsDynamicCallChecker), additionalCallCheckers = listOf(ReifiedTypeParameterSubstitutionChecker(), JsModuleCallChecker, JsDynamicCallChecker),
additionalTypeCheckers = listOf(), additionalTypeCheckers = listOf(),