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
|
@OptionalExpectation
|
||||||
public expect annotation class JvmWildcard()
|
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
|
* 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)
|
@Target(AnnotationTarget.TYPE)
|
||||||
@Retention(AnnotationRetention.BINARY)
|
@Retention(AnnotationRetention.BINARY)
|
||||||
@MustBeDocumented
|
@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/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 {
|
public abstract interface annotation class kotlin/jvm/JvmMultifileClass : java/lang/annotation/Annotation {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user