Update error about unsupported language and API versions
Set first supported version to 1.3 Add property for oldest depecated language version in order to control unsupported ones Report error on attempts to manually disable language feature from unsupported versions Update test data, drop compatibility tests for features from unsupported versions KT-36146 In progress
This commit is contained in:
-31
@@ -1,31 +0,0 @@
|
||||
package library
|
||||
|
||||
import kotlin.coroutines.experimental.*
|
||||
|
||||
var continuation: Continuation<Unit>? = null
|
||||
val sb = java.lang.StringBuilder()
|
||||
|
||||
fun append(s: String) { sb.append(s) }
|
||||
|
||||
val libraryResult: String get() = sb.toString()
|
||||
|
||||
// this is an inline tail-suspend function that should work properly despite being compiler by
|
||||
// compiler before 1.1.4 version that did not include suspension marks into bytecode.
|
||||
// In order to test that it works properly it shall actually suspend during its execution
|
||||
inline suspend fun foo(block: () -> Unit) {
|
||||
append("(foo)")
|
||||
block()
|
||||
return suspendCoroutine<Unit> { continuation = it }
|
||||
}
|
||||
|
||||
suspend fun bar() {
|
||||
append("(bar)")
|
||||
return suspendCoroutine<Unit> { continuation = it }
|
||||
}
|
||||
|
||||
fun resumeLibrary() {
|
||||
continuation?.let {
|
||||
continuation = null
|
||||
it.resume(Unit)
|
||||
}
|
||||
}
|
||||
-1
@@ -1 +0,0 @@
|
||||
OK
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
import library.*
|
||||
import kotlin.coroutines.experimental.*
|
||||
|
||||
suspend fun test() {
|
||||
append("[foo]")
|
||||
foo { // we are inlining foo here
|
||||
append("(block)")
|
||||
}
|
||||
append("[bar]")
|
||||
bar() // and invoking suspending function bar
|
||||
append("[test]")
|
||||
}
|
||||
|
||||
fun runBlockingLibrary(block: suspend () -> Unit): String {
|
||||
var done = false
|
||||
block.startCoroutine(object : Continuation<Unit> {
|
||||
override val context: CoroutineContext = EmptyCoroutineContext
|
||||
override fun resume(value: Unit) { done = true }
|
||||
override fun resumeWithException(exception: Throwable) { throw exception }
|
||||
})
|
||||
var resumeCounter = 0
|
||||
while (!done) {
|
||||
resumeCounter++
|
||||
resumeLibrary()
|
||||
}
|
||||
return "$libraryResult:resumes=$resumeCounter"
|
||||
}
|
||||
|
||||
// Retruns array of expected and received string
|
||||
fun run(): Array<String> {
|
||||
val result = runBlockingLibrary {
|
||||
test()
|
||||
}
|
||||
return arrayOf("[foo](foo)(block)[bar](bar)[test]:resumes=2", result)
|
||||
}
|
||||
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/releaseCoroutineCallFromExperimental/output.txt
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
warning: language version 1.2 is deprecated and its support will be removed in a future version of Kotlin
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/releaseCoroutineCallFromExperimental/experimental.kt:2:5: error: 'dummy(): Unit' is only available since Kotlin 1.3 and cannot be used in Kotlin 1.2
|
||||
dummy()
|
||||
^
|
||||
|
||||
+12
-12
@@ -1,37 +1,37 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.3. This declaration is only supported since Kotlin 42.33
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.4. This declaration is only supported since Kotlin 42.33
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.4
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:13: error: 'A' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.4
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.3. This declaration is only supported since Kotlin 42.33
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.4. This declaration is only supported since Kotlin 42.33
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.4
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:3:17: error: 'typealias TA = String' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.4
|
||||
fun test(a: A): TA {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.3. This declaration is only supported since Kotlin 42.33
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.4. This declaration is only supported since Kotlin 42.33
|
||||
f()
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.4
|
||||
f()
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:4:5: error: 'f(): Unit' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.4
|
||||
f()
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.3. This declaration is only supported since Kotlin 42.33
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 42.33 and cannot be used in Kotlin 1.4. This declaration is only supported since Kotlin 42.33
|
||||
return p
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 40.34 and cannot be used in Kotlin 1.4
|
||||
return p
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlin/source.kt:5:12: error: 'p: String' is only available since Kotlin 45.35 and cannot be used in Kotlin 1.4
|
||||
return p
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClasses/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClasses/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.4
|
||||
fun test(a: Outer.Nested) {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClasses/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClasses/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.4
|
||||
a.f()
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.4
|
||||
fun test(a: Outer.Nested) {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.4
|
||||
a.f()
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14Js/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14Js/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.4
|
||||
fun test(a: Outer.Nested) {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14Js/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesAgainst14Js/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.4
|
||||
a.f()
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesJs/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesJs/source.kt:3:19: error: 'Nested' is only available since Kotlin 1.44 and cannot be used in Kotlin 1.4
|
||||
fun test(a: Outer.Nested) {
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesJs/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.3
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/requireKotlinInNestedClassesJs/source.kt:4:7: error: 'f(): Unit' is only available since Kotlin 1.88 and cannot be used in Kotlin 1.4
|
||||
a.f()
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package test
|
||||
|
||||
typealias Str = String
|
||||
typealias L<T> = List<T>
|
||||
|
||||
class Klass {
|
||||
@Suppress("TOPLEVEL_TYPEALIASES_ONLY")
|
||||
typealias Nested = Z
|
||||
|
||||
class Z
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
import test.*
|
||||
import test.Str
|
||||
|
||||
fun use(
|
||||
str: Str,
|
||||
l: L<Str>,
|
||||
nested: Klass.Nested
|
||||
) {}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
warning: language version 1.0 is deprecated and its support will be removed in a future version of Kotlin
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/typeAliasesAreInvisibleInCompatibilityMode/main.kt:2:13: error: unresolved reference: Str
|
||||
import test.Str
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/typeAliasesAreInvisibleInCompatibilityMode/main.kt:5:14: error: unresolved reference: Str
|
||||
str: Str,
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/typeAliasesAreInvisibleInCompatibilityMode/main.kt:6:12: error: unresolved reference: L
|
||||
l: L<Str>,
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/typeAliasesAreInvisibleInCompatibilityMode/main.kt:6:14: error: unresolved reference: Str
|
||||
l: L<Str>,
|
||||
^
|
||||
compiler/testData/compileKotlinAgainstCustomBinaries/typeAliasesAreInvisibleInCompatibilityMode/main.kt:7:23: error: unresolved reference: Nested
|
||||
nested: Klass.Nested
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
Reference in New Issue
Block a user