diff --git a/compiler/fir/analysis-tests/testData/builtIns/kotlin.txt b/compiler/fir/analysis-tests/testData/builtIns/kotlin.txt index 75f3cae9fa4..a1e72dd8462 100644 --- a/compiler/fir/analysis-tests/testData/builtIns/kotlin.txt +++ b/compiler/fir/analysis-tests/testData/builtIns/kotlin.txt @@ -592,11 +592,16 @@ public abstract class Enum|> : R|kotlin/Comparable|, R|j } -@R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.BINARY|()) @R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|(), R|kotlin/annotation/AnnotationTarget.ANNOTATION_CLASS|(), R|kotlin/annotation/AnnotationTarget.PROPERTY|(), R|kotlin/annotation/AnnotationTarget.FIELD|(), R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|(), R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|(), R|kotlin/annotation/AnnotationTarget.CONSTRUCTOR|(), R|kotlin/annotation/AnnotationTarget.FUNCTION|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|(), R|kotlin/annotation/AnnotationTarget.TYPEALIAS|())) @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.3)) public final annotation class ExperimentalStdlibApi : R|kotlin/Annotation| { +@R|kotlin/RequiresOptIn|(level = R|kotlin/RequiresOptIn.Level.ERROR|()) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.BINARY|()) @R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|(), R|kotlin/annotation/AnnotationTarget.ANNOTATION_CLASS|(), R|kotlin/annotation/AnnotationTarget.PROPERTY|(), R|kotlin/annotation/AnnotationTarget.FIELD|(), R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|(), R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|(), R|kotlin/annotation/AnnotationTarget.CONSTRUCTOR|(), R|kotlin/annotation/AnnotationTarget.FUNCTION|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|(), R|kotlin/annotation/AnnotationTarget.TYPEALIAS|())) @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.3)) public final annotation class ExperimentalStdlibApi : R|kotlin/Annotation| { public constructor(): R|kotlin/ExperimentalStdlibApi| } +@R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|())) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.BINARY|()) @R|kotlin/SinceKotlin|(version = String(1.8)) public final annotation class ExperimentalSubclassOptIn : R|kotlin/Annotation| { + public constructor(): R|kotlin/ExperimentalSubclassOptIn| + +} + @R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.TYPE|())) @R|kotlin/annotation/MustBeDocumented|() public final annotation class ExtensionFunctionType : R|kotlin/Annotation| { public constructor(): R|kotlin/ExtensionFunctionType| @@ -1112,6 +1117,14 @@ public abstract class Number : R|kotlin/Any|, R|java/io/Serializable| { } +@R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|(), R|kotlin/annotation/AnnotationTarget.PROPERTY|(), R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|(), R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|(), R|kotlin/annotation/AnnotationTarget.CONSTRUCTOR|(), R|kotlin/annotation/AnnotationTarget.FUNCTION|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|(), R|kotlin/annotation/AnnotationTarget.EXPRESSION|(), R|kotlin/annotation/AnnotationTarget.FILE|(), R|kotlin/annotation/AnnotationTarget.TYPEALIAS|())) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.SOURCE|()) @R|kotlin/SinceKotlin|(version = String(1.3)) public final annotation class OptIn : R|kotlin/Annotation| { + public final val markerClass: R|kotlin/Array>| + public get(): R|kotlin/Array>| + + public constructor(vararg markerClass: R|kotlin/Array>|): R|kotlin/OptIn| + +} + @R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.TYPE|())) @R|kotlin/annotation/MustBeDocumented|() @R|kotlin/SinceKotlin|(version = String(1.1)) public final annotation class ParameterName : R|kotlin/Annotation| { public final val name: R|kotlin/String| public get(): R|kotlin/String| @@ -1136,6 +1149,33 @@ public abstract class Number : R|kotlin/Any|, R|java/io/Serializable| { } +@R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.ANNOTATION_CLASS|())) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.BINARY|()) @R|kotlin/SinceKotlin|(version = String(1.3)) public final annotation class RequiresOptIn : R|kotlin/Annotation| { + public final enum class Level : R|kotlin/Enum| { + public final static fun valueOf(value: R|kotlin/String|): R|kotlin/RequiresOptIn.Level| { + } + + public final static fun values(): R|kotlin/Array| { + } + + public final static val entries: R|kotlin/enums/EnumEntries| + public get(): R|kotlin/enums/EnumEntries| + + private constructor(): R|kotlin/RequiresOptIn.Level| + + public final static enum entry WARNING: R|kotlin/RequiresOptIn.Level| + public final static enum entry ERROR: R|kotlin/RequiresOptIn.Level| + } + + public final val level: R|kotlin/RequiresOptIn.Level| + public get(): R|kotlin/RequiresOptIn.Level| + + public final val message: R|kotlin/String| + public get(): R|kotlin/String| + + public constructor(message: R|kotlin/String| = STUB, level: R|kotlin/RequiresOptIn.Level| = STUB): R|kotlin/RequiresOptIn| + +} + public final class Short : R|kotlin/Number|, R|kotlin/Comparable|, R|java/io/Serializable| { public final companion object Companion : R|kotlin/Any| { public final const val MAX_VALUE: R|kotlin/Short| = Short(32767) @@ -1323,6 +1363,14 @@ public final class String : R|kotlin/Comparable|, R|kotlin/CharSe } +@R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|())) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.BINARY|()) @R|kotlin/SinceKotlin|(version = String(1.8)) @R|kotlin/ExperimentalSubclassOptIn|() public final annotation class SubclassOptInRequired : R|kotlin/Annotation| { + public final val markerClass: R|kotlin/reflect/KClass| + public get(): R|kotlin/reflect/KClass| + + public constructor(markerClass: R|kotlin/reflect/KClass|): R|kotlin/SubclassOptInRequired| + +} + @R|kotlin/annotation/Target|(allowedTargets = (R|kotlin/annotation/AnnotationTarget.CLASS|(), R|kotlin/annotation/AnnotationTarget.ANNOTATION_CLASS|(), R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|(), R|kotlin/annotation/AnnotationTarget.PROPERTY|(), R|kotlin/annotation/AnnotationTarget.FIELD|(), R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|(), R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|(), R|kotlin/annotation/AnnotationTarget.CONSTRUCTOR|(), R|kotlin/annotation/AnnotationTarget.FUNCTION|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|(), R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|(), R|kotlin/annotation/AnnotationTarget.TYPE|(), R|kotlin/annotation/AnnotationTarget.EXPRESSION|(), R|kotlin/annotation/AnnotationTarget.FILE|(), R|kotlin/annotation/AnnotationTarget.TYPEALIAS|())) @R|kotlin/annotation/Retention|(value = R|kotlin/annotation/AnnotationRetention.SOURCE|()) public final annotation class Suppress : R|kotlin/Annotation| { public final val names: R|kotlin/Array| public get(): R|kotlin/Array| diff --git a/compiler/testData/builtin-classes/default/kotlin.txt b/compiler/testData/builtin-classes/default/kotlin.txt index d404acc76af..2a48dc559de 100644 --- a/compiler/testData/builtin-classes/default/kotlin.txt +++ b/compiler/testData/builtin-classes/default/kotlin.txt @@ -343,10 +343,14 @@ public abstract class Enum> : kotlin.Comparable { } } -@kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { +@kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { /*primary*/ public constructor ExperimentalStdlibApi() } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { + /*primary*/ public constructor ExperimentalSubclassOptIn() +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented public final annotation class ExtensionFunctionType : kotlin.Annotation { /*primary*/ public constructor ExtensionFunctionType() } @@ -624,6 +628,12 @@ public abstract class Number { public abstract fun toShort(): kotlin.Short } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.3") public final annotation class OptIn : kotlin.Annotation { + /*primary*/ public constructor OptIn(/*0*/ vararg markerClass: kotlin.reflect.KClass /*kotlin.Array>*/) + public final val markerClass: kotlin.Array> + public final fun ``(): kotlin.Array> +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.1") public final annotation class ParameterName : kotlin.Annotation { /*primary*/ public constructor ParameterName(/*0*/ name: kotlin.String) public final val name: kotlin.String @@ -642,6 +652,32 @@ public abstract class Number { public final fun ``(): kotlin.Array } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") public final annotation class RequiresOptIn : kotlin.Annotation { + /*primary*/ public constructor RequiresOptIn(/*0*/ message: kotlin.String = ..., /*1*/ level: kotlin.RequiresOptIn.Level = ...) + public final val level: kotlin.RequiresOptIn.Level + public final fun ``(): kotlin.RequiresOptIn.Level + public final val message: kotlin.String + public final fun ``(): kotlin.String + + public final enum class Level : kotlin.Enum { + enum entry WARNING + + enum entry ERROR + + /*primary*/ private constructor Level() + @kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.String + public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.Int + protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.RequiresOptIn.Level): kotlin.Int + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.RequiresOptIn.Level + public final /*synthesized*/ fun values(): kotlin.Array + } +} + public final class Short : kotlin.Number, kotlin.Comparable { /*primary*/ private constructor Short() @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int @@ -743,6 +779,12 @@ public final class String : kotlin.Comparable, kotlin.CharSequenc } } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") @kotlin.ExperimentalSubclassOptIn public final annotation class SubclassOptInRequired : kotlin.Annotation { + /*primary*/ public constructor SubclassOptInRequired(/*0*/ markerClass: kotlin.reflect.KClass) + public final val markerClass: kotlin.reflect.KClass + public final fun ``(): kotlin.reflect.KClass +} + @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.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation { /*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array*/) public final val names: kotlin.Array diff --git a/compiler/testData/builtin-classes/java6/kotlin.txt b/compiler/testData/builtin-classes/java6/kotlin.txt index 5af69c2e0c8..d79a3f6d495 100644 --- a/compiler/testData/builtin-classes/java6/kotlin.txt +++ b/compiler/testData/builtin-classes/java6/kotlin.txt @@ -356,10 +356,14 @@ public abstract class Enum> : kotlin.Comparable, jav } } -@kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { +@kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { /*primary*/ public constructor ExperimentalStdlibApi() } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { + /*primary*/ public constructor ExperimentalSubclassOptIn() +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented public final annotation class ExtensionFunctionType : kotlin.Annotation { /*primary*/ public constructor ExtensionFunctionType() } @@ -640,6 +644,12 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public abstract fun toShort(): kotlin.Short } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.3") public final annotation class OptIn : kotlin.Annotation { + /*primary*/ public constructor OptIn(/*0*/ vararg markerClass: kotlin.reflect.KClass /*kotlin.Array>*/) + public final val markerClass: kotlin.Array> + public final fun ``(): kotlin.Array> +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.1") public final annotation class ParameterName : kotlin.Annotation { /*primary*/ public constructor ParameterName(/*0*/ name: kotlin.String) public final val name: kotlin.String @@ -658,6 +668,34 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public final fun ``(): kotlin.Array } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") public final annotation class RequiresOptIn : kotlin.Annotation { + /*primary*/ public constructor RequiresOptIn(/*0*/ message: kotlin.String = ..., /*1*/ level: kotlin.RequiresOptIn.Level = ...) + public final val level: kotlin.RequiresOptIn.Level + public final fun ``(): kotlin.RequiresOptIn.Level + public final val message: kotlin.String + public final fun ``(): kotlin.String + + public final enum class Level : kotlin.Enum { + enum entry WARNING + + enum entry ERROR + + /*primary*/ private constructor Level() + @kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.String + public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.Int + protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.RequiresOptIn.Level): kotlin.Int + protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit + public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class! + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.RequiresOptIn.Level + public final /*synthesized*/ fun values(): kotlin.Array + } +} + public final class Short : kotlin.Number, kotlin.Comparable, java.io.Serializable { /*primary*/ private constructor Short() @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int @@ -760,6 +798,12 @@ public final class String : kotlin.Comparable, kotlin.CharSequenc } } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") @kotlin.ExperimentalSubclassOptIn public final annotation class SubclassOptInRequired : kotlin.Annotation { + /*primary*/ public constructor SubclassOptInRequired(/*0*/ markerClass: kotlin.reflect.KClass) + public final val markerClass: kotlin.reflect.KClass + public final fun ``(): kotlin.reflect.KClass +} + @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.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation { /*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array*/) public final val names: kotlin.Array diff --git a/compiler/testData/builtin-classes/java8/kotlin.txt b/compiler/testData/builtin-classes/java8/kotlin.txt index 73fff53fba5..455e020e73d 100644 --- a/compiler/testData/builtin-classes/java8/kotlin.txt +++ b/compiler/testData/builtin-classes/java8/kotlin.txt @@ -358,10 +358,14 @@ public abstract class Enum> : kotlin.Comparable, jav } } -@kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { +@kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { /*primary*/ public constructor ExperimentalStdlibApi() } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { + /*primary*/ public constructor ExperimentalSubclassOptIn() +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented public final annotation class ExtensionFunctionType : kotlin.Annotation { /*primary*/ public constructor ExtensionFunctionType() } @@ -642,6 +646,12 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public abstract fun toShort(): kotlin.Short } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.3") public final annotation class OptIn : kotlin.Annotation { + /*primary*/ public constructor OptIn(/*0*/ vararg markerClass: kotlin.reflect.KClass /*kotlin.Array>*/) + public final val markerClass: kotlin.Array> + public final fun ``(): kotlin.Array> +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.1") public final annotation class ParameterName : kotlin.Annotation { /*primary*/ public constructor ParameterName(/*0*/ name: kotlin.String) public final val name: kotlin.String @@ -660,6 +670,34 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public final fun ``(): kotlin.Array } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") public final annotation class RequiresOptIn : kotlin.Annotation { + /*primary*/ public constructor RequiresOptIn(/*0*/ message: kotlin.String = ..., /*1*/ level: kotlin.RequiresOptIn.Level = ...) + public final val level: kotlin.RequiresOptIn.Level + public final fun ``(): kotlin.RequiresOptIn.Level + public final val message: kotlin.String + public final fun ``(): kotlin.String + + public final enum class Level : kotlin.Enum { + enum entry WARNING + + enum entry ERROR + + /*primary*/ private constructor Level() + @kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.String + public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.Int + protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.RequiresOptIn.Level): kotlin.Int + protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit + public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class! + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.RequiresOptIn.Level + public final /*synthesized*/ fun values(): kotlin.Array + } +} + public final class Short : kotlin.Number, kotlin.Comparable, java.io.Serializable { /*primary*/ private constructor Short() @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int @@ -764,6 +802,12 @@ public final class String : kotlin.Comparable, kotlin.CharSequenc } } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") @kotlin.ExperimentalSubclassOptIn public final annotation class SubclassOptInRequired : kotlin.Annotation { + /*primary*/ public constructor SubclassOptInRequired(/*0*/ markerClass: kotlin.reflect.KClass) + public final val markerClass: kotlin.reflect.KClass + public final fun ``(): kotlin.reflect.KClass +} + @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.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation { /*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array*/) public final val names: kotlin.Array diff --git a/compiler/testData/builtin-classes/newMethods/kotlin.txt b/compiler/testData/builtin-classes/newMethods/kotlin.txt index 95aa6928ee0..7f40870693e 100644 --- a/compiler/testData/builtin-classes/newMethods/kotlin.txt +++ b/compiler/testData/builtin-classes/newMethods/kotlin.txt @@ -356,10 +356,14 @@ public abstract class Enum> : kotlin.Comparable, jav } } -@kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { +@kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.3") public final annotation class ExperimentalStdlibApi : kotlin.Annotation { /*primary*/ public constructor ExperimentalStdlibApi() } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { + /*primary*/ public constructor ExperimentalSubclassOptIn() +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented public final annotation class ExtensionFunctionType : kotlin.Annotation { /*primary*/ public constructor ExtensionFunctionType() } @@ -640,6 +644,12 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public abstract fun toShort(): kotlin.Short } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) @kotlin.SinceKotlin(version = "1.3") public final annotation class OptIn : kotlin.Annotation { + /*primary*/ public constructor OptIn(/*0*/ vararg markerClass: kotlin.reflect.KClass /*kotlin.Array>*/) + public final val markerClass: kotlin.Array> + public final fun ``(): kotlin.Array> +} + @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) @kotlin.annotation.MustBeDocumented @kotlin.SinceKotlin(version = "1.1") public final annotation class ParameterName : kotlin.Annotation { /*primary*/ public constructor ParameterName(/*0*/ name: kotlin.String) public final val name: kotlin.String @@ -658,6 +668,34 @@ public abstract class Number : kotlin.Any, java.io.Serializable { public final fun ``(): kotlin.Array } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") public final annotation class RequiresOptIn : kotlin.Annotation { + /*primary*/ public constructor RequiresOptIn(/*0*/ message: kotlin.String = ..., /*1*/ level: kotlin.RequiresOptIn.Level = ...) + public final val level: kotlin.RequiresOptIn.Level + public final fun ``(): kotlin.RequiresOptIn.Level + public final val message: kotlin.String + public final fun ``(): kotlin.String + + public final enum class Level : kotlin.Enum { + enum entry WARNING + + enum entry ERROR + + /*primary*/ private constructor Level() + @kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.String + public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int + public final override /*1*/ /*fake_override*/ fun ``(): kotlin.Int + protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kotlin.RequiresOptIn.Level): kotlin.Int + protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit + public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class! + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kotlin.RequiresOptIn.Level + public final /*synthesized*/ fun values(): kotlin.Array + } +} + public final class Short : kotlin.Number, kotlin.Comparable, java.io.Serializable { /*primary*/ private constructor Short() @kotlin.internal.IntrinsicConstEvaluation public final operator fun compareTo(/*0*/ other: kotlin.Byte): kotlin.Int @@ -763,6 +801,12 @@ public final class String : kotlin.Comparable, kotlin.CharSequenc } } +@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.8") @kotlin.ExperimentalSubclassOptIn public final annotation class SubclassOptInRequired : kotlin.Annotation { + /*primary*/ public constructor SubclassOptInRequired(/*0*/ markerClass: kotlin.reflect.KClass) + public final val markerClass: kotlin.reflect.KClass + public final fun ``(): kotlin.reflect.KClass +} + @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.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation { /*primary*/ public constructor Suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array*/) public final val names: kotlin.Array diff --git a/compiler/testData/diagnostics/tests/operatorsOverloading/until/simple.kt b/compiler/testData/diagnostics/tests/operatorsOverloading/until/simple.kt index 3b1f624a8fc..ff87d6b4940 100644 --- a/compiler/testData/diagnostics/tests/operatorsOverloading/until/simple.kt +++ b/compiler/testData/diagnostics/tests/operatorsOverloading/until/simple.kt @@ -2,7 +2,7 @@ // !LANGUAGE: +RangeUntilOperator fun main(n: Int) { - for (i in 0....<n) { } -} \ No newline at end of file +} diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/AbstractBuiltInsWithJDKMembersTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/AbstractBuiltInsWithJDKMembersTest.kt index 1810a7dfee5..461eb2da68b 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/AbstractBuiltInsWithJDKMembersTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/AbstractBuiltInsWithJDKMembersTest.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.renderer.AnnotationArgumentsRenderingPolicy import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRendererModifier import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy +import org.jetbrains.kotlin.resolve.descriptorUtil.isSourceAnnotation import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestWithEnvironment @@ -59,6 +60,7 @@ abstract class AbstractBuiltInsWithJDKMembersTest : KotlinTestWithEnvironment() annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY modifiers = DescriptorRendererModifier.ALL excludedTypeAnnotationClasses = setOf(StandardNames.FqNames.unsafeVariance) + annotationFilter = { !it.isSourceAnnotation } } ) } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/BuiltinsTestUtils.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/BuiltinsTestUtils.kt index 99d62a55a82..dc596093542 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/BuiltinsTestUtils.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/serialization/builtins/BuiltinsTestUtils.kt @@ -22,6 +22,7 @@ object BuiltinsTestUtils { allFilesUnder("core/builtins/native"), allFilesUnder("core/builtins/src"), allFilesUnder("core/builtins/build/src/ranges"), + allFilesUnder("core/builtins/build/src/reflect"), ) ) return createResolveSessionForFiles(environment.project, files, false).moduleDescriptor diff --git a/core/builtins/build.gradle.kts b/core/builtins/build.gradle.kts index 51f0cca3914..8e0e9e20885 100644 --- a/core/builtins/build.gradle.kts +++ b/core/builtins/build.gradle.kts @@ -37,16 +37,13 @@ val runtimeElementsJvm by configurations.creating { val prepareRangeSources by tasks.registering(Sync::class) { from(kotlinRangesCommon) { exclude("Ranges.kt") - filter { line -> line.takeUnless { "@OptIn" in it } } - filter(org.apache.tools.ant.filters.FixCrLfFilter::class, "eol" to org.apache.tools.ant.filters.FixCrLfFilter.CrLf.newInstance("lf")) } from(kotlinCollectionsCommon) { include("PrimitiveIterators.kt") } from(kotlinAnnotationsCommon) { include("ExperimentalStdlibApi.kt") - filter { line -> line.takeUnless { "@RequiresOptIn" in it } } - filter(org.apache.tools.ant.filters.FixCrLfFilter::class, "eol" to org.apache.tools.ant.filters.FixCrLfFilter.CrLf.newInstance("lf")) + include("OptIn.kt") } into(rangesCherryPicked) diff --git a/libraries/stdlib/api/js-v1/kotlin.kt b/libraries/stdlib/api/js-v1/kotlin.kt index f94a226e0ed..1683748bd5a 100644 --- a/libraries/stdlib/api/js-v1/kotlin.kt +++ b/libraries/stdlib/api/js-v1/kotlin.kt @@ -1659,6 +1659,7 @@ public final annotation class ExperimentalStdlibApi : kotlin.Annotation { public constructor ExperimentalStdlibApi() } +/*∆*/ @kotlin.RequiresOptIn(level = Level.ERROR) /*∆*/ @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) /*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) /*∆*/ @kotlin.annotation.MustBeDocumented @@ -1674,6 +1675,13 @@ public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { public constructor ExperimentalSubclassOptIn() } +/*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) +/*∆*/ @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) +/*∆*/ @kotlin.SinceKotlin(version = "1.8") +/*∆*/ public final annotation class ExperimentalSubclassOptIn : kotlin.Annotation { +/*∆*/ public constructor ExperimentalSubclassOptIn() +/*∆*/ } +/*∆*/ @kotlin.RequiresOptIn(level = Level.WARNING) @kotlin.annotation.MustBeDocumented @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) @@ -2468,6 +2476,15 @@ public final annotation class OptIn : kotlin.Annotation { public final val markerClass: kotlin.Array> { get; } } +/*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) +/*∆*/ @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) +/*∆*/ @kotlin.SinceKotlin(version = "1.3") +/*∆*/ public final annotation class OptIn : kotlin.Annotation { +/*∆*/ public constructor OptIn(vararg markerClass: kotlin.reflect.KClass) +/*∆*/ +/*∆*/ public final val markerClass: kotlin.Array> { get; } +/*∆*/ } +/*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.ExperimentalMultiplatform @@ -2548,7 +2565,24 @@ public final annotation class RequiresOptIn : kotlin.Annotation { } } +/*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.ANNOTATION_CLASS}) +/*∆*/ @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.SinceKotlin(version = "1.3") +/*∆*/ public final annotation class RequiresOptIn : kotlin.Annotation { +/*∆*/ public constructor RequiresOptIn(message: kotlin.String = ..., level: kotlin.RequiresOptIn.Level = ...) +/*∆*/ +/*∆*/ public final val level: kotlin.RequiresOptIn.Level { get; } +/*∆*/ +/*∆*/ public final val message: kotlin.String { get; } +/*∆*/ +/*∆*/ public final enum class Level : kotlin.Enum { +/*∆*/ enum entry WARNING +/*∆*/ +/*∆*/ enum entry ERROR +/*∆*/ } +/*∆*/ } +/*∆*/ +/*∆*/ @kotlin.SinceKotlin(version = "1.3") @kotlin.jvm.JvmInline public final inline class Result : kotlin.io.Serializable { public final val isFailure: kotlin.Boolean { get; } @@ -2838,6 +2872,16 @@ public final annotation class SubclassOptInRequired : kotlin.Annotation { public final val markerClass: kotlin.reflect.KClass { get; } } +/*∆*/ @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) +/*∆*/ @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) +/*∆*/ @kotlin.SinceKotlin(version = "1.8") +/*∆*/ @kotlin.ExperimentalSubclassOptIn +/*∆*/ public final annotation class SubclassOptInRequired : kotlin.Annotation { +/*∆*/ public constructor SubclassOptInRequired(markerClass: kotlin.reflect.KClass) +/*∆*/ +/*∆*/ public final val markerClass: kotlin.reflect.KClass { get; } +/*∆*/ } +/*∆*/ @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.EXPRESSION, AnnotationTarget.FILE, AnnotationTarget.TYPEALIAS}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Suppress : kotlin.Annotation {