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 --
Exit code: COMPILATION_ERROR
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.
No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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.
No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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.
No implementations are found for members listed below:
@@ -5,7 +5,7 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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.
No implementations are found for members listed below:
@@ -5,133 +5,133 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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:
public impl fun f1(): String
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:
public impl fun f2(otherName: String): Unit
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:
public impl fun f3(name: Double): Unit
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:
public impl fun Double.f3ext(): Unit
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):
public impl fun String.f4(): Unit
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):
public impl fun f5(name: String): Unit
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:
public impl fun f6(p2: Int): Unit
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:
public impl fun <K, V> f7(): Unit
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:
public impl fun f8(): Unit
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:
internal impl fun f9(): Unit
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:
private impl fun f10(): Unit
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:
public inline impl fun <reified X> f14(): Unit
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:
public inline impl fun <Y> f15(): Unit
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:
public impl fun f16(s: String = ...): Unit
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):
public impl fun f17(s: Array<out String>): Unit
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):
public impl fun f18(vararg s: String): Unit
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):
public inline impl fun f19(s: () -> Unit): 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):
public inline impl fun f20(crossinline s: () -> Unit): 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):
public inline impl fun f21(s: () -> Unit): 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):
public inline impl fun f22(noinline s: () -> Unit): 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):
public impl fun f23(c: Unit.() -> Continuation<Unit>): 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):
public impl fun f24(coroutine c: Unit.() -> Continuation<Unit>): Unit
@@ -5,91 +5,91 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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):
public impl interface 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):
public impl object 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):
public final impl enum class PObject : Enum<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):
public final impl annotation class PEnumClass : Annotation
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):
public final impl 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:
private impl 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:
internal impl 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:
public impl 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:
public final impl 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:
public open impl 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:
public abstract impl 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):
public final impl data class NonDataClass
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:
public final impl class C1<A, Extra>
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:
public final impl class C2<out 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:
public abstract impl class ExtendsNumber
@@ -5,61 +5,61 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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):
public impl 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):
public infix impl 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):
public impl fun Double.times(x: CharArray): Unit
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):
public operator impl fun Double.divide(x: ByteArray): Unit
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):
public impl fun f1(): Unit
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):
public external impl fun g1(): Unit
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):
public impl fun f2(): Unit
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):
public inline impl fun g2(): Unit
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):
public impl fun f3(): Unit
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):
public tailrec impl fun g3(): Unit
@@ -5,13 +5,13 @@ Output:
-- JVM --
Exit code: COMPILATION_ERROR
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):
public var 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):
public val pvar: String
@@ -3,5 +3,5 @@ open class Foo {
p<caret> val foo = 1
}
// EXIST: private, public, protected, platform
// EXIST: private, public, protected
// NOTHING_ELSE
@@ -5,5 +5,4 @@ p<caret>
// EXIST: package
// EXIST: private
// EXIST: public
// EXIST: header
// NOTHING_ELSE
@@ -63,7 +63,7 @@ class KtFileLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
}
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)
val facadeFiles = LightClassGenerationSupport.getInstance(project).findFilesForFacade(FqName("foo.FooKt"), GlobalSearchScope.allScope(project))
assertEquals(0, facadeFiles.size)
@@ -97,7 +97,7 @@ class LightClassFromTextTest : KotlinLightCodeInsightFixtureTestCase() {
}
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 }
assertEquals(0, headerClass.toLightElements().size)
val headerFunction = contextFile.declarations.single { it is KtNamedFunction }
@@ -37,8 +37,7 @@ object JsPlatformConfigurator : PlatformConfigurator(
JsNameChecker, JsModuleChecker,
JsExternalChecker(),
JsRuntimeAnnotationChecker,
HeaderImplDeclarationChecker(),
JsExternalChecker()
HeaderImplDeclarationChecker()
),
additionalCallCheckers = listOf(ReifiedTypeParameterSubstitutionChecker(), JsModuleCallChecker, JsDynamicCallChecker),
additionalTypeCheckers = listOf(),