Check the RequireKotlin annotation value

Similarly to SinceKotlin
This commit is contained in:
Alexander Udalov
2017-10-09 20:48:38 +02:00
parent a96861c353
commit 6f2e6db131
16 changed files with 238 additions and 95 deletions
@@ -0,0 +1,38 @@
@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
package test
import kotlin.internal.RequireKotlin
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("")<!>
fun f01() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("x")<!>
fun f02() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("1")<!>
fun f03() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("1.0-beta")<!>
fun f04() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("1.1.0-dev-1111")<!>
fun f05() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("1.5.3.7")<!>
fun f06() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin("1..0")<!>
fun f07() {}
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@RequireKotlin(" 1.0")<!>
fun f08() {}
@RequireKotlin("1.1")
fun ok1() {}
@RequireKotlin("1.1.0")
fun ok2() {}
@RequireKotlin("0.0.0")
fun ok3() {}
@@ -0,0 +1,15 @@
package
package test {
@kotlin.internal.RequireKotlin(version = "") public fun f01(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "x") public fun f02(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1") public fun f03(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1.0-beta") public fun f04(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1.1.0-dev-1111") public fun f05(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1.5.3.7") public fun f06(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1..0") public fun f07(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = " 1.0") public fun f08(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1.1") public fun ok1(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "1.1.0") public fun ok2(): kotlin.Unit
@kotlin.internal.RequireKotlin(version = "0.0.0") public fun ok3(): kotlin.Unit
}
@@ -1,61 +1,61 @@
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("")<!>
fun f01() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("x")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("x")<!>
fun f02() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1")<!>
fun f03() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1,0")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1,0")<!>
fun f04() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1,0,1")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1,0,1")<!>
fun f05() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("a.b")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("a.b")<!>
fun f06() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.a")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.a")<!>
fun f07() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.0.a")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.0.a")<!>
fun f08() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.0-beta")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.0-beta")<!>
fun f09() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.1.0-dev-1111")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.1.0-dev-1111")<!>
fun f10() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.1.0+rc")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.1.0+rc")<!>
fun f11() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.5.3.7")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.5.3.7")<!>
fun f12() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("01.1")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("01.1")<!>
fun f13() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.01")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.01")<!>
fun f14() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("-1.0")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("-1.0")<!>
fun f15() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.-1.0")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.-1.0")<!>
fun f16() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("0.00.1")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("0.00.1")<!>
fun f17() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1..0")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1..0")<!>
fun f18() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin(" 1.0")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin(" 1.0")<!>
fun f19() {}
<!ILLEGAL_SINCE_KOTLIN_VALUE!>@SinceKotlin("1.0 ")<!>
<!ILLEGAL_KOTLIN_VERSION_STRING_VALUE!>@SinceKotlin("1.0 ")<!>
fun f20() {}