Rename UseExperimental->OptIn, Experimental->RequiresOptIn in compiler tests

This commit is contained in:
Alexander Udalov
2019-12-18 20:03:42 +01:00
parent b839b905b5
commit 7742a3b697
137 changed files with 416 additions and 416 deletions
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS,
AnnotationTarget.VALUE_PARAMETER)
annotation class ExperimentalAPI
@@ -65,41 +65,41 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno fun function() {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun parameter(@EAnno p: String) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun parameterType(p: @EAnno String) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun returnType(): @EAnno Unit {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno val property = ""
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno typealias Typealias = Unit
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno class Klass
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
annotation class AnnotationArgument(val p: EAnno)
fun insideBody() {
@UseExperimental(ExperimentalAPI::class) @EAnno fun local() {}
@OptIn(ExperimentalAPI::class) @EAnno fun local() {}
}
fun inDefaultArgument(@UseExperimental(ExperimentalAPI::class) f: () -> Unit = @EAnno fun() {}) {}
fun inDefaultArgument(@OptIn(ExperimentalAPI::class) f: () -> Unit = @EAnno fun() {}) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
val inProperty = @EAnno fun() {}
val inPropertyAccessor: () -> Unit
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
get() = @EAnno fun() {}
// FILE: usage-none.kt
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS,
AnnotationTarget.VALUE_PARAMETER)
annotation class ExperimentalAPI
@@ -65,41 +65,41 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno fun function() {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun parameter(@EAnno p: String) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun parameterType(p: @EAnno String) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun returnType(): @EAnno Unit {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno val property = ""
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno typealias Typealias = Unit
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
@EAnno class Klass
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
annotation class AnnotationArgument(val p: EAnno)
fun insideBody() {
@UseExperimental(ExperimentalAPI::class) @EAnno fun local() {}
@OptIn(ExperimentalAPI::class) @EAnno fun local() {}
}
fun inDefaultArgument(@UseExperimental(ExperimentalAPI::class) f: () -> Unit = @EAnno fun() {}) {}
fun inDefaultArgument(@OptIn(ExperimentalAPI::class) f: () -> Unit = @EAnno fun() {}) {}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
val inProperty = @EAnno fun() {}
val inPropertyAccessor: () -> Unit
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
get() = @EAnno fun() {}
// FILE: usage-none.kt
@@ -9,7 +9,7 @@ package api {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS, AnnotationTarget.VALUE_PARAMETER}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS, AnnotationTarget.VALUE_PARAMETER}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -46,17 +46,17 @@ package usage1 {
}
package usage2 {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public val inProperty: () -> kotlin.Unit
@get:kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public val inPropertyAccessor: () -> kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public val property: kotlin.String = ""
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public fun function(): kotlin.Unit
public fun inDefaultArgument(/*0*/ @kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) f: () -> kotlin.Unit = ...): kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public val inProperty: () -> kotlin.Unit
@get:kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public val inPropertyAccessor: () -> kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public val property: kotlin.String = ""
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public fun function(): kotlin.Unit
public fun inDefaultArgument(/*0*/ @kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) f: () -> kotlin.Unit = ...): kotlin.Unit
public fun insideBody(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun parameter(/*0*/ @api.EAnno p: kotlin.String): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun parameterType(/*0*/ p: @api.EAnno kotlin.String): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun returnType(): @api.EAnno kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun parameter(/*0*/ @api.EAnno p: kotlin.String): kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun parameterType(/*0*/ p: @api.EAnno kotlin.String): kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun returnType(): @api.EAnno kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public final annotation class AnnotationArgument : kotlin.Annotation {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public final annotation class AnnotationArgument : kotlin.Annotation {
public constructor AnnotationArgument(/*0*/ p: api.EAnno)
public final val p: api.EAnno
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -64,13 +64,13 @@ package usage2 {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public final class Klass {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public final class Klass {
public constructor Klass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public typealias Typealias = kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public typealias Typealias = kotlin.Unit
}
package usage3 {
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class ExperimentalAPI
interface I
@@ -19,12 +19,12 @@ import api.*
open class Base(val i: I)
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Derived : Base(Impl())
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Delegated : I by Impl()
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
val delegatedProperty by Impl()
operator fun I.getValue(x: Any?, y: Any?) = null
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class ExperimentalAPI
interface I
@@ -19,12 +19,12 @@ import api.*
open class Base(val i: I)
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Derived : Base(Impl())
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Delegated : I by Impl()
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
val delegatedProperty by Impl()
operator fun I.getValue(x: Any?, y: Any?) = null
@@ -2,7 +2,7 @@ package
package api {
@kotlin.Experimental(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -24,7 +24,7 @@ package api {
}
package usage {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public val delegatedProperty: kotlin.Nothing?
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public val delegatedProperty: kotlin.Nothing?
public operator fun api.I.getValue(/*0*/ x: kotlin.Any?, /*1*/ y: kotlin.Any?): kotlin.Nothing?
public open class Base {
@@ -35,14 +35,14 @@ package usage {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public final class Delegated : api.I {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public final class Delegated : api.I {
public constructor Delegated()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public final class Derived : usage.Base {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public final class Derived : usage.Base {
public constructor Derived()
public final override /*1*/ /*fake_override*/ val i: api.I
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -1,10 +1,10 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE -UNUSED_PARAMETER
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class API
@API
@@ -1,10 +1,10 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE -UNUSED_PARAMETER
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class API
@API
@@ -3,7 +3,7 @@ package
package api {
@api.API public fun f(): kotlin.Unit
@kotlin.Experimental(level = Level.WARNING) public final annotation class API : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class API : kotlin.Annotation {
public constructor API()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -51,7 +51,7 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun useAll() {
val c: C = C()
c.function()
@@ -61,7 +61,7 @@ fun useAll() {
c.extension()
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Use {
fun useAll(c: C) {
c.function()
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -51,7 +51,7 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun useAll() {
val c: C = C()
c.function()
@@ -61,7 +61,7 @@ fun useAll() {
c.extension()
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Use {
fun useAll(c: C) {
c.function()
@@ -26,7 +26,7 @@ package api {
}
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -47,9 +47,9 @@ package usage1 {
}
package usage2 {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun useAll(): kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun useAll(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public final class Use {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public final class Use {
public constructor Use()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
annotation class ExperimentalAPI
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
annotation class ExperimentalAPI
@@ -19,7 +19,7 @@ package api {
}
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -24,7 +24,7 @@ fun usage() {}
// FILE: usage-use.kt
@file:UseExperimental(ExperimentalAPI::class)
@file:OptIn(ExperimentalAPI::class)
package usage2
import api.*
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -24,7 +24,7 @@ fun usage() {}
// FILE: usage-use.kt
@file:UseExperimental(ExperimentalAPI::class)
@file:OptIn(ExperimentalAPI::class)
package usage2
import api.*
@@ -11,7 +11,7 @@ package api {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -36,12 +36,12 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun use1() {
C.D.E.F()
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun use2(f: C.D.E.F) = f.hashCode()
// FILE: usage-none.kt
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI
@@ -36,12 +36,12 @@ package usage2
import api.*
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun use1() {
C.D.E.F()
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
fun use2(f: C.D.E.F) = f.hashCode()
// FILE: usage-none.kt
@@ -30,7 +30,7 @@ package api {
}
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -44,8 +44,8 @@ package usage1 {
}
package usage2 {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun use1(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public fun use2(/*0*/ f: api.C.D.E.F): kotlin.Int
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun use1(): kotlin.Unit
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public fun use2(/*0*/ f: api.C.D.E.F): kotlin.Int
}
package usage3 {
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
annotation class E
open class Base {
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
annotation class E
open class Base {
@@ -10,7 +10,7 @@ package api {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental public final annotation class E : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class E : kotlin.Annotation {
public constructor E()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,6 +1,6 @@
// FILE: api.kt
@Experimental
@RequiresOptIn
annotation class Marker
@Marker
@@ -17,7 +17,7 @@ fun use2() {
f()
}
@UseExperimental(Marker::class)
@OptIn(Marker::class)
fun use3() {
f()
}
@@ -1,6 +1,6 @@
// FILE: api.kt
@<!EXPERIMENTAL_IS_NOT_ENABLED!>Experimental<!>
@<!EXPERIMENTAL_IS_NOT_ENABLED!>RequiresOptIn<!>
annotation class Marker
@Marker
@@ -17,7 +17,7 @@ fun use2() {
f()
}
@<!EXPERIMENTAL_IS_NOT_ENABLED!>UseExperimental<!>(Marker::class)
@<!EXPERIMENTAL_IS_NOT_ENABLED!>OptIn<!>(Marker::class)
fun use3() {
f()
}
@@ -3,9 +3,9 @@ package
@Marker public fun f(): kotlin.Unit
public fun use1(): kotlin.Unit
@Marker public fun use2(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {Marker::class}) public fun use3(): kotlin.Unit
@kotlin.OptIn(markerClass = {Marker::class}) public fun use3(): kotlin.Unit
@kotlin.Experimental public final annotation class Marker : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class Marker : kotlin.Annotation {
public constructor Marker()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,11 +1,11 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !EXPERIMENTAL: api.ExperimentalAPI
// MODULE: api
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
annotation class ExperimentalAPI
@ExperimentalAPI
@@ -1,11 +1,11 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !EXPERIMENTAL: api.ExperimentalAPI
// MODULE: api
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
annotation class ExperimentalAPI
@ExperimentalAPI
@@ -4,7 +4,7 @@ package
package api {
@api.ExperimentalAPI public fun function(): kotlin.String
@kotlin.Experimental public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,4 +1,4 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_EXPRESSION, -UNUSED_VARIABLE, -UNUSED_PARAMETER
fun test() {
@@ -18,7 +18,7 @@ fun test() {
5u
)
@UseExperimental(ExperimentalUnsignedTypes::class) 42u
@OptIn(ExperimentalUnsignedTypes::class) 42u
}
fun takeAll(
@@ -1,4 +1,4 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_EXPRESSION, -UNUSED_VARIABLE, -UNUSED_PARAMETER
fun test() {
@@ -18,7 +18,7 @@ fun test() {
<!EXPERIMENTAL_UNSIGNED_LITERALS!>5u<!>
)
@UseExperimental(ExperimentalUnsignedTypes::class) 42u
@OptIn(ExperimentalUnsignedTypes::class) 42u
}
fun takeAll(
@@ -1,11 +1,11 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
package test.abc
@Experimental
@RequiresOptIn
annotation class E
@UseExperimental(test.abc.E::class)
@OptIn(test.abc.E::class)
fun f() {}
@test.abc.E
@@ -1,11 +1,11 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
package test.abc
@Experimental
@RequiresOptIn
annotation class E
@UseExperimental(test.abc.E::class)
@OptIn(test.abc.E::class)
fun f() {}
@test.abc.E
@@ -3,10 +3,10 @@ package
package test {
package test.abc {
@kotlin.UseExperimental(markerClass = {test.abc.E::class}) public fun f(): kotlin.Unit
@kotlin.OptIn(markerClass = {test.abc.E::class}) public fun f(): kotlin.Unit
@test.abc.E public fun g(): kotlin.Unit
@kotlin.Experimental public final annotation class E : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class E : kotlin.Annotation {
public constructor E()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package feature.experimental.self
@Experimental
@RequiresOptIn
annotation class ImportedMarker
@ImportedMarker
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package feature.experimental.self
@Experimental
@RequiresOptIn
annotation class ImportedMarker
@ImportedMarker
@@ -16,7 +16,7 @@ package feature {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental public final annotation class ImportedMarker : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class ImportedMarker : kotlin.Annotation {
public constructor ImportedMarker()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,25 +1,25 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
import kotlin.annotation.AnnotationTarget.*
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(CLASS, ANNOTATION_CLASS, TYPE_PARAMETER, PROPERTY, FIELD, LOCAL_VARIABLE, VALUE_PARAMETER, CONSTRUCTOR, FUNCTION,
PROPERTY_GETTER, PROPERTY_SETTER, TYPE, TYPEALIAS)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(FILE)
annotation class E2
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
annotation class E3
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(FILE, EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
annotation class E4
@@ -1,25 +1,25 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
import kotlin.annotation.AnnotationTarget.*
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(CLASS, ANNOTATION_CLASS, TYPE_PARAMETER, PROPERTY, FIELD, LOCAL_VARIABLE, VALUE_PARAMETER, CONSTRUCTOR, FUNCTION,
PROPERTY_GETTER, PROPERTY_SETTER, TYPE, TYPEALIAS)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
<!EXPERIMENTAL_ANNOTATION_WITH_WRONG_TARGET!>@Target(FILE)<!>
annotation class E2
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
<!EXPERIMENTAL_ANNOTATION_WITH_WRONG_TARGET!>@Target(EXPRESSION)<!>
@Retention(AnnotationRetention.SOURCE)
annotation class E3
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
<!EXPERIMENTAL_ANNOTATION_WITH_WRONG_TARGET!>@Target(FILE, EXPRESSION)<!>
@Retention(AnnotationRetention.SOURCE)
annotation class E4
@@ -2,28 +2,28 @@ package
package api {
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPE, AnnotationTarget.TYPEALIAS}) public final annotation class E1 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPE, AnnotationTarget.TYPEALIAS}) public final annotation class E1 : kotlin.Annotation {
public constructor E1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FILE}) public final annotation class E2 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FILE}) public final annotation class E2 : kotlin.Annotation {
public constructor E2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class E3 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class E3 : kotlin.Annotation {
public constructor E3()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FILE, AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class E4 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FILE, AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class E4 : kotlin.Annotation {
public constructor E4()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
annotation class NotAMarker
@UseExperimental
@OptIn
fun f1() {}
@UseExperimental(NotAMarker::class)
@OptIn(NotAMarker::class)
fun f2() {}
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
annotation class NotAMarker
<!USE_EXPERIMENTAL_WITHOUT_ARGUMENTS!>@UseExperimental<!>
<!USE_EXPERIMENTAL_WITHOUT_ARGUMENTS!>@OptIn<!>
fun f1() {}
<!USE_EXPERIMENTAL_ARGUMENT_IS_NOT_MARKER!>@UseExperimental(NotAMarker::class)<!>
<!USE_EXPERIMENTAL_ARGUMENT_IS_NOT_MARKER!>@OptIn(NotAMarker::class)<!>
fun f2() {}
@@ -1,7 +1,7 @@
package
@kotlin.UseExperimental(markerClass = {}) public fun f1(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {NotAMarker::class}) public fun f2(): kotlin.Unit
@kotlin.OptIn(markerClass = {}) public fun f1(): kotlin.Unit
@kotlin.OptIn(markerClass = {NotAMarker::class}) public fun f2(): kotlin.Unit
public final annotation class NotAMarker : kotlin.Annotation {
public constructor NotAMarker()
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E
open class Base {
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E
open class Base {
@@ -18,7 +18,7 @@ package api {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) public final annotation class E : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class E : kotlin.Annotation {
public constructor E()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,8 +1,8 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E3
interface Base1 {
@@ -1,8 +1,8 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class E3
interface Base1 {
@@ -45,14 +45,14 @@ public final class DerivedC : Base1, Base2, Base3 {
public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) public final annotation class E1 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class E1 : kotlin.Annotation {
public constructor E1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) public final annotation class E3 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class E3 : kotlin.Annotation {
public constructor E3()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_VARIABLE
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class ExperimentalAPI
@ExperimentalAPI
@@ -24,7 +24,7 @@ fun use() {
// FILE: usage-use.kts
@file:UseExperimental(ExperimentalAPI::class)
@file:OptIn(ExperimentalAPI::class)
import api.*
fun use() {
@@ -30,7 +30,7 @@ public final class Usage_use : kotlin.script.templates.standard.ScriptTemplateWi
package api {
@api.ExperimentalAPI public fun function(): kotlin.String
@kotlin.Experimental(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_VARIABLE
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS,
AnnotationTarget.VALUE_PARAMETER)
annotation class ExperimentalAPI
@@ -47,7 +47,7 @@ package usage2
import api.*
fun useAll() {
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
<!UNRESOLVED_REFERENCE!>{
function()
property
@@ -55,7 +55,7 @@ fun useAll() {
}()<!>
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Use {
fun useAll() {
function()
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_VARIABLE
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS,
AnnotationTarget.VALUE_PARAMETER)
annotation class ExperimentalAPI
@@ -47,7 +47,7 @@ package usage2
import api.*
fun useAll() {
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
{
function()
property
@@ -55,7 +55,7 @@ fun useAll() {
}()
}
@UseExperimental(ExperimentalAPI::class)
@OptIn(ExperimentalAPI::class)
class Use {
fun useAll() {
function()
@@ -4,7 +4,7 @@ package api {
@api.ExperimentalAPI public val property: kotlin.String = ""
@api.ExperimentalAPI public fun function(): kotlin.String
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS, AnnotationTarget.VALUE_PARAMETER}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS, AnnotationTarget.VALUE_PARAMETER}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -28,7 +28,7 @@ package usage1 {
package usage2 {
public fun useAll(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public final class Use {
@kotlin.OptIn(markerClass = {api.ExperimentalAPI::class}) public final class Use {
public constructor Use()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
@Target(AnnotationTarget.CLASS)
annotation class ExperimentalAPI
@@ -1,9 +1,9 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental
@RequiresOptIn
@Target(AnnotationTarget.CLASS)
annotation class ExperimentalAPI
@@ -2,7 +2,7 @@ package
package api {
@kotlin.Experimental @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,5 +1,5 @@
// !LANGUAGE: +NestedClassesInAnnotations
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
@@ -8,25 +8,25 @@ package test
import kotlin.reflect.KClass
// Usages in import should be OK
import kotlin.Experimental.Level.*
import kotlin.Experimental.Level
import kotlin.Experimental
import kotlin.RequiresOptIn.Level.*
import kotlin.RequiresOptIn.Level
import kotlin.RequiresOptIn
// Usages with FQ names should be OK
@kotlin.Experimental(kotlin.Experimental.Level.ERROR)
@kotlin.RequiresOptIn(kotlin.RequiresOptIn.Level.ERROR)
annotation class M
// Usages as types should be errors
fun f1(e: Experimental) {}
fun f2(u: UseExperimental?) {}
fun f1(e: RequiresOptIn) {}
fun f2(u: OptIn?) {}
typealias Experimental0 = Experimental
typealias UseExperimental0 = UseExperimental
typealias Experimental0 = RequiresOptIn
typealias OptIn0 = OptIn
fun f3(e: Experimental0 /* TODO */) {}
fun f4(u: UseExperimental0 /* TODO */) {}
fun f4(u: OptIn0 /* TODO */) {}
// Usages as ::class literals should be errors
@@ -34,17 +34,17 @@ fun f4(u: UseExperimental0 /* TODO */) {}
annotation class VarargKClasses(vararg val k: KClass<*>)
@VarargKClasses(
Experimental::class,
UseExperimental::class,
kotlin.Experimental::class,
kotlin.UseExperimental::class
RequiresOptIn::class,
OptIn::class,
kotlin.RequiresOptIn::class,
kotlin.OptIn::class
)
fun f5() {}
// Usages of markers as types should be errors
@Experimental
@RequiresOptIn
annotation class Marker {
class NestedClass
@@ -1,5 +1,5 @@
// !LANGUAGE: +NestedClassesInAnnotations
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
@@ -8,25 +8,25 @@ package test
import kotlin.reflect.KClass
// Usages in import should be OK
import kotlin.Experimental.Level.*
import kotlin.Experimental.Level
import kotlin.Experimental
import kotlin.RequiresOptIn.Level.*
import kotlin.RequiresOptIn.Level
import kotlin.RequiresOptIn
// Usages with FQ names should be OK
@kotlin.Experimental(kotlin.Experimental.Level.ERROR)
@kotlin.RequiresOptIn(kotlin.RequiresOptIn.Level.ERROR)
annotation class M
// Usages as types should be errors
fun f1(e: <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>Experimental<!>) {}
fun f2(u: <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>UseExperimental<!>?) {}
fun f1(e: <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>RequiresOptIn<!>) {}
fun f2(u: <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>OptIn<!>?) {}
typealias Experimental0 = <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>Experimental<!>
typealias UseExperimental0 = <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>UseExperimental<!>
typealias Experimental0 = <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>RequiresOptIn<!>
typealias OptIn0 = <!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>OptIn<!>
fun f3(e: Experimental0 /* TODO */) {}
fun f4(u: UseExperimental0 /* TODO */) {}
fun f4(u: OptIn0 /* TODO */) {}
// Usages as ::class literals should be errors
@@ -34,17 +34,17 @@ fun f4(u: UseExperimental0 /* TODO */) {}
annotation class VarargKClasses(vararg val k: KClass<*>)
@VarargKClasses(
<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>Experimental<!>::class,
<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>UseExperimental<!>::class,
kotlin.<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>Experimental<!>::class,
kotlin.<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>UseExperimental<!>::class
<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>RequiresOptIn<!>::class,
<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>OptIn<!>::class,
kotlin.<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>RequiresOptIn<!>::class,
kotlin.<!EXPERIMENTAL_CAN_ONLY_BE_USED_AS_ANNOTATION!>OptIn<!>::class
)
fun f5() {}
// Usages of markers as types should be errors
@Experimental
@RequiresOptIn
annotation class Marker {
class NestedClass
@@ -1,25 +1,25 @@
package
package test {
public fun f1(/*0*/ e: kotlin.Experimental): kotlin.Unit
public fun f1(/*0*/ e: kotlin.RequiresOptIn): kotlin.Unit
public fun f10(/*0*/ m: test.Marker.NestedClass): kotlin.Unit
public fun f2(/*0*/ u: kotlin.UseExperimental?): kotlin.Unit
public fun f3(/*0*/ e: test.Experimental0 /* = kotlin.Experimental */): kotlin.Unit
public fun f4(/*0*/ u: test.UseExperimental0 /* = kotlin.UseExperimental */): kotlin.Unit
@test.VarargKClasses(k = {kotlin.Experimental::class, kotlin.UseExperimental::class, kotlin.Experimental::class, kotlin.UseExperimental::class}) public fun f5(): kotlin.Unit
public fun f2(/*0*/ u: kotlin.OptIn?): kotlin.Unit
public fun f3(/*0*/ e: test.Experimental0 /* = kotlin.RequiresOptIn */): kotlin.Unit
public fun f4(/*0*/ u: test.OptIn0 /* = kotlin.OptIn */): kotlin.Unit
@test.VarargKClasses(k = {kotlin.RequiresOptIn::class, kotlin.OptIn::class, kotlin.RequiresOptIn::class, kotlin.OptIn::class}) public fun f5(): kotlin.Unit
public fun f6(/*0*/ m: test.Marker): kotlin.Unit
public fun f7(): kotlin.collections.List<test.Marker>?
public fun f8(): test.Marker?
public fun f9(/*0*/ m: test.Marker0 /* = test.Marker */): kotlin.Unit
@kotlin.Experimental(level = Level.ERROR) public final annotation class M : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.ERROR) public final annotation class M : kotlin.Annotation {
public constructor M()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental public final annotation class Marker : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class Marker : kotlin.Annotation {
public constructor Marker()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -48,7 +48,7 @@ package test {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public typealias Experimental0 = kotlin.Experimental
public typealias Experimental0 = kotlin.RequiresOptIn
public typealias Marker0 = test.Marker
public typealias UseExperimental0 = kotlin.UseExperimental
public typealias OptIn0 = kotlin.OptIn
}
@@ -1,13 +1,13 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI2
@@ -19,7 +19,7 @@ fun runtime() {}
// FILE: usage.kt
@file:UseExperimental(ExperimentalAPI1::class)
@file:OptIn(ExperimentalAPI1::class)
package usage
import api.*
@@ -1,13 +1,13 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class ExperimentalAPI2
@@ -19,7 +19,7 @@ fun runtime() {}
// FILE: usage.kt
@file:UseExperimental(ExperimentalAPI1::class)
@file:OptIn(ExperimentalAPI1::class)
package usage
import api.*
@@ -4,14 +4,14 @@ package api {
@api.ExperimentalAPI1 public fun compilation(): kotlin.Unit
@api.ExperimentalAPI2 public fun runtime(): kotlin.Unit
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI1 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI1 : kotlin.Annotation {
public constructor ExperimentalAPI1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI2 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class ExperimentalAPI2 : kotlin.Annotation {
public constructor ExperimentalAPI2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,13 +1,13 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class ExperimentalAPI
@ExperimentalAPI
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class VeryExperimentalAPI
@ExperimentalAPI
@@ -19,7 +19,7 @@ fun g() {}
// FILE: usage.kt
@file:UseExperimental(ExperimentalAPI::class, VeryExperimentalAPI::class)
@file:OptIn(ExperimentalAPI::class, VeryExperimentalAPI::class)
package usage
import api.*
@@ -1,13 +1,13 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class ExperimentalAPI
@ExperimentalAPI
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
annotation class VeryExperimentalAPI
@ExperimentalAPI
@@ -19,7 +19,7 @@ fun g() {}
// FILE: usage.kt
@file:UseExperimental(ExperimentalAPI::class, VeryExperimentalAPI::class)
@file:OptIn(ExperimentalAPI::class, VeryExperimentalAPI::class)
package usage
import api.*
@@ -4,14 +4,14 @@ package api {
@api.ExperimentalAPI @api.VeryExperimentalAPI public fun f(): kotlin.Unit
@api.ExperimentalAPI public fun g(): kotlin.Unit
@kotlin.Experimental(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@api.ExperimentalAPI @kotlin.Experimental(level = Level.WARNING) public final annotation class VeryExperimentalAPI : kotlin.Annotation {
@api.ExperimentalAPI @kotlin.RequiresOptIn(level = Level.WARNING) public final annotation class VeryExperimentalAPI : kotlin.Annotation {
public constructor VeryExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental api.ExperimentalAPI
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn api.ExperimentalAPI
// MODULE: api
// FILE: api.kt
package api
@Experimental(Experimental.Level.ERROR)
@RequiresOptIn(RequiresOptIn.Level.ERROR)
annotation class ExperimentalAPI
@ExperimentalAPI
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental api.ExperimentalAPI
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn api.ExperimentalAPI
// MODULE: api
// FILE: api.kt
package api
@Experimental(Experimental.Level.ERROR)
@RequiresOptIn(RequiresOptIn.Level.ERROR)
annotation class ExperimentalAPI
@ExperimentalAPI
@@ -4,7 +4,7 @@ package
package api {
@api.ExperimentalAPI public fun function(): kotlin.String
@kotlin.Experimental(level = Level.ERROR) public final annotation class ExperimentalAPI : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.ERROR) public final annotation class ExperimentalAPI : kotlin.Annotation {
public constructor ExperimentalAPI()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS)
annotation class E
@@ -15,7 +15,7 @@ open class Foo(val s: String = "")
import api.*
@UseExperimental(E::class)
@OptIn(E::class)
class Klass {
init {
Foo()
@@ -23,35 +23,35 @@ class Klass {
}
class Constructor {
@UseExperimental(E::class) constructor() {
@OptIn(E::class) constructor() {
Foo()
}
}
@UseExperimental(E::class)
@OptIn(E::class)
val property = Foo().s
@UseExperimental(E::class)
@OptIn(E::class)
fun function() {
Foo()
}
fun valueParameter(@UseExperimental(E::class) p: String = Foo().s): String {
@UseExperimental(E::class)
fun valueParameter(@OptIn(E::class) p: String = Foo().s): String {
@OptIn(E::class)
val localVariable: String = Foo().s
return localVariable
}
var propertyAccessors: String
@UseExperimental(E::class)
@OptIn(E::class)
get() = Foo().s
@UseExperimental(E::class)
@OptIn(E::class)
set(value) { Foo() }
fun expression(): String {
val s = @UseExperimental(E::class) Foo().s
val s = @OptIn(E::class) Foo().s
return s
}
@UseExperimental(E::class)
@OptIn(E::class)
typealias TypeAlias = Foo
@@ -1,10 +1,10 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.CLASS)
annotation class E
@@ -15,7 +15,7 @@ open class Foo(val s: String = "")
import api.*
@UseExperimental(E::class)
@OptIn(E::class)
class Klass {
init {
Foo()
@@ -23,35 +23,35 @@ class Klass {
}
class Constructor {
@UseExperimental(E::class) constructor() {
@OptIn(E::class) constructor() {
Foo()
}
}
@UseExperimental(E::class)
@OptIn(E::class)
val property = Foo().s
@UseExperimental(E::class)
@OptIn(E::class)
fun function() {
Foo()
}
fun valueParameter(@UseExperimental(E::class) p: String = Foo().s): String {
@UseExperimental(E::class)
fun valueParameter(@OptIn(E::class) p: String = Foo().s): String {
@OptIn(E::class)
val localVariable: String = Foo().s
return localVariable
}
var propertyAccessors: String
@UseExperimental(E::class)
@OptIn(E::class)
get() = Foo().s
@UseExperimental(E::class)
@OptIn(E::class)
set(value) { Foo() }
fun expression(): String {
val s = @UseExperimental(E::class) Foo().s
val s = @OptIn(E::class) Foo().s
return s
}
@UseExperimental(E::class)
@OptIn(E::class)
typealias TypeAlias = Foo
@@ -1,29 +1,29 @@
package
@kotlin.UseExperimental(markerClass = {api.E::class}) public val property: kotlin.String
@get:kotlin.UseExperimental(markerClass = {api.E::class}) @set:kotlin.UseExperimental(markerClass = {api.E::class}) public var propertyAccessors: kotlin.String
@kotlin.OptIn(markerClass = {api.E::class}) public val property: kotlin.String
@get:kotlin.OptIn(markerClass = {api.E::class}) @set:kotlin.OptIn(markerClass = {api.E::class}) public var propertyAccessors: kotlin.String
public fun expression(): kotlin.String
@kotlin.UseExperimental(markerClass = {api.E::class}) public fun function(): kotlin.Unit
public fun valueParameter(/*0*/ @kotlin.UseExperimental(markerClass = {api.E::class}) p: kotlin.String = ...): kotlin.String
@kotlin.OptIn(markerClass = {api.E::class}) public fun function(): kotlin.Unit
public fun valueParameter(/*0*/ @kotlin.OptIn(markerClass = {api.E::class}) p: kotlin.String = ...): kotlin.String
public final class Constructor {
@kotlin.UseExperimental(markerClass = {api.E::class}) public constructor Constructor()
@kotlin.OptIn(markerClass = {api.E::class}) public constructor Constructor()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.E::class}) public final class Klass {
@kotlin.OptIn(markerClass = {api.E::class}) public final class Klass {
public constructor Klass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.UseExperimental(markerClass = {api.E::class}) public typealias TypeAlias = api.Foo
@kotlin.OptIn(markerClass = {api.E::class}) public typealias TypeAlias = api.Foo
package api {
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) public final annotation class E : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) public final annotation class E : kotlin.Annotation {
public constructor E()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,17 +1,17 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E2
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E3
@@ -30,21 +30,21 @@ package usage
import api.*
@UseExperimental(E1::class, E2::class, E3::class)
@OptIn(E1::class, E2::class, E3::class)
fun use1() {
e1()
e2()
e3()
}
@UseExperimental(E1::class, E3::class)
@OptIn(E1::class, E3::class)
fun use2() {
e1()
@UseExperimental(E2::class) e2()
@OptIn(E2::class) e2()
e3()
}
@UseExperimental(E1::class, E2::class)
@OptIn(E1::class, E2::class)
fun use3() {
e1()
e2()
@@ -1,17 +1,17 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E1
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E2
@Experimental(Experimental.Level.WARNING)
@RequiresOptIn(RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class E3
@@ -30,21 +30,21 @@ package usage
import api.*
@UseExperimental(E1::class, E2::class, E3::class)
@OptIn(E1::class, E2::class, E3::class)
fun use1() {
e1()
e2()
e3()
}
@UseExperimental(E1::class, E3::class)
@OptIn(E1::class, E3::class)
fun use2() {
e1()
@UseExperimental(E2::class) e2()
@OptIn(E2::class) e2()
e3()
}
@UseExperimental(E1::class, E2::class)
@OptIn(E1::class, E2::class)
fun use3() {
e1()
e2()
@@ -5,21 +5,21 @@ package api {
@api.E2 public fun e2(): kotlin.Unit
@api.E3 public fun e3(): kotlin.Unit
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E1 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E1 : kotlin.Annotation {
public constructor E1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E2 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E2 : kotlin.Annotation {
public constructor E2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.Experimental(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E3 : kotlin.Annotation {
@kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION}) public final annotation class E3 : kotlin.Annotation {
public constructor E3()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -28,7 +28,7 @@ package api {
}
package usage {
@kotlin.UseExperimental(markerClass = {api.E1::class, api.E2::class, api.E3::class}) public fun use1(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.E1::class, api.E3::class}) public fun use2(): kotlin.Unit
@kotlin.UseExperimental(markerClass = {api.E1::class, api.E2::class}) public fun use3(): kotlin.Unit
@kotlin.OptIn(markerClass = {api.E1::class, api.E2::class, api.E3::class}) public fun use1(): kotlin.Unit
@kotlin.OptIn(markerClass = {api.E1::class, api.E3::class}) public fun use2(): kotlin.Unit
@kotlin.OptIn(markerClass = {api.E1::class, api.E2::class}) public fun use3(): kotlin.Unit
}
@@ -1,27 +1,27 @@
// !API_VERSION: 1.2
// !USE_EXPERIMENTAL: kotlin.Experimental
// !API_VERSION: 1.3
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -INVISIBLE_MEMBER -INVISIBLE_REFERENCE -NEWER_VERSION_IN_SINCE_KOTLIN -UNUSED_PARAMETER
@SinceKotlin("1.3")
@SinceKotlin("1.4")
fun newPublishedFun() {}
@Experimental
@RequiresOptIn
annotation class Marker
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
fun newFunExperimentalInThePast() {}
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
val newValExperimentalInThePast = ""
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
class NewClassExperimentalInThePast
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
typealias TypeAliasToNewClass = NewClassExperimentalInThePast
@@ -36,7 +36,7 @@ fun use1(
NewClassExperimentalInThePast()
}
@UseExperimental(Marker::class)
@OptIn(Marker::class)
fun use2(
c2: NewClassExperimentalInThePast,
t2: TypeAliasToNewClass
@@ -1,27 +1,27 @@
// !API_VERSION: 1.2
// !USE_EXPERIMENTAL: kotlin.Experimental
// !API_VERSION: 1.3
// !USE_EXPERIMENTAL: kotlin.RequiresOptIn
// !DIAGNOSTICS: -INVISIBLE_MEMBER -INVISIBLE_REFERENCE -NEWER_VERSION_IN_SINCE_KOTLIN -UNUSED_PARAMETER
@SinceKotlin("1.3")
@SinceKotlin("1.4")
fun newPublishedFun() {}
@Experimental
@RequiresOptIn
annotation class Marker
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
fun newFunExperimentalInThePast() {}
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
val newValExperimentalInThePast = ""
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
class NewClassExperimentalInThePast
@SinceKotlin("1.3")
@SinceKotlin("1.4")
@WasExperimental(Marker::class)
typealias TypeAliasToNewClass = <!EXPERIMENTAL_API_USAGE_ERROR!>NewClassExperimentalInThePast<!>
@@ -36,7 +36,7 @@ fun use1(
<!UNRESOLVED_REFERENCE!>NewClassExperimentalInThePast<!>()
}
@UseExperimental(Marker::class)
@OptIn(Marker::class)
fun use2(
c2: NewClassExperimentalInThePast,
t2: TypeAliasToNewClass
@@ -1,23 +1,23 @@
package
@kotlin.SinceKotlin(version = "1.3") @kotlin.WasExperimental(markerClass = {Marker::class}) public val newValExperimentalInThePast: kotlin.String = ""
@kotlin.SinceKotlin(version = "1.3") @kotlin.WasExperimental(markerClass = {Marker::class}) public fun newFunExperimentalInThePast(): kotlin.Unit
@kotlin.SinceKotlin(version = "1.3") public fun newPublishedFun(): kotlin.Unit
@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {Marker::class}) public val newValExperimentalInThePast: kotlin.String = ""
@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {Marker::class}) public fun newFunExperimentalInThePast(): kotlin.Unit
@kotlin.SinceKotlin(version = "1.4") public fun newPublishedFun(): kotlin.Unit
public fun use1(/*0*/ c1: NewClassExperimentalInThePast, /*1*/ t1: TypeAliasToNewClass /* = NewClassExperimentalInThePast */): kotlin.Unit
@kotlin.UseExperimental(markerClass = {Marker::class}) public fun use2(/*0*/ c2: NewClassExperimentalInThePast, /*1*/ t2: TypeAliasToNewClass /* = NewClassExperimentalInThePast */): kotlin.Unit
@kotlin.OptIn(markerClass = {Marker::class}) public fun use2(/*0*/ c2: NewClassExperimentalInThePast, /*1*/ t2: TypeAliasToNewClass /* = NewClassExperimentalInThePast */): kotlin.Unit
@Marker public fun use3(/*0*/ c3: NewClassExperimentalInThePast, /*1*/ t3: TypeAliasToNewClass /* = NewClassExperimentalInThePast */): kotlin.Unit
@kotlin.Experimental public final annotation class Marker : kotlin.Annotation {
@kotlin.RequiresOptIn public final annotation class Marker : kotlin.Annotation {
public constructor Marker()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.SinceKotlin(version = "1.3") @kotlin.WasExperimental(markerClass = {Marker::class}) public final class NewClassExperimentalInThePast {
@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {Marker::class}) public final class NewClassExperimentalInThePast {
public constructor NewClassExperimentalInThePast()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@kotlin.SinceKotlin(version = "1.3") @kotlin.WasExperimental(markerClass = {Marker::class}) public typealias TypeAliasToNewClass = NewClassExperimentalInThePast
@kotlin.SinceKotlin(version = "1.4") @kotlin.WasExperimental(markerClass = {Marker::class}) public typealias TypeAliasToNewClass = NewClassExperimentalInThePast