Value classes: Add @JvmInline annotation to stdlib
This commit is contained in:
@@ -101,7 +101,17 @@ public expect annotation class JvmSuppressWildcards(val suppress: Boolean = true
|
||||
@OptionalExpectation
|
||||
public expect annotation class JvmWildcard()
|
||||
|
||||
|
||||
/**
|
||||
* Specifies that given value class is inline class.
|
||||
*
|
||||
* Adding and removing the annotation is binary incompatible change, since inline classes' methods and functions with inline classes
|
||||
* in their signature are mangled.
|
||||
*/
|
||||
@Target(CLASS)
|
||||
@MustBeDocumented
|
||||
@SinceKotlin("1.5")
|
||||
@OptionalExpectation
|
||||
public expect annotation class JvmInline()
|
||||
|
||||
/**
|
||||
* Marks the JVM backing field of the annotated property as `volatile`, meaning that writes to this field
|
||||
|
||||
@@ -132,4 +132,16 @@ public actual annotation class JvmSuppressWildcards(actual val suppress: Boolean
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
@MustBeDocumented
|
||||
public actual annotation class JvmWildcard
|
||||
public actual annotation class JvmWildcard
|
||||
|
||||
/**
|
||||
* Specifies that given value class is inline class.
|
||||
*
|
||||
* Adding and removing the annotation is binary incompatible change, since inline classes' methods and functions with inline classes
|
||||
* in their signature are mangled.
|
||||
*/
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
@MustBeDocumented
|
||||
@SinceKotlin("1.5")
|
||||
public actual annotation class JvmInline
|
||||
+3
@@ -3237,6 +3237,9 @@ public abstract interface annotation class kotlin/jvm/JvmDefaultWithoutCompatibi
|
||||
public abstract interface annotation class kotlin/jvm/JvmField : java/lang/annotation/Annotation {
|
||||
}
|
||||
|
||||
public abstract interface annotation class kotlin/jvm/JvmInline : java/lang/annotation/Annotation {
|
||||
}
|
||||
|
||||
public abstract interface annotation class kotlin/jvm/JvmMultifileClass : java/lang/annotation/Annotation {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user