Package-level declarations
Functions and annotations specific to the Java platform.
Functions and annotations specific to the Java platform.
Functions and annotations specific to the Java platform.
Types
This annotation marks Kotlin expect
declarations that are implicitly actualized by Java.
This annotation marks Kotlin expect
declarations that are implicitly actualized by Java.
Specifies that a JVM default method should be generated for non-abstract Kotlin interface member.
Forces the compiler to generate compatibility accessors for the annotated interface in the DefaultImpls
class. Please note that if an interface is annotated with this annotation for binary compatibility, public derived Kotlin interfaces should also be annotated with it, because their DefaultImpls
methods will be used to access implementations from the DefaultImpls
class of the original interface.
Prevents the compiler from generating compatibility accessors for the annotated class or interface, and suppresses any related compatibility warnings. In other words, this annotation makes the compiler generate the annotated class or interface in the -Xjvm-default=all
mode, where only JVM default methods are generated, without DefaultImpls
.
Instructs the Kotlin compiler not to generate getters/setters for this property and expose it as a field.
Instructs the Kotlin compiler not to generate getters/setters for this property and expose it as a field.
Specifies that given value class is inline class.
Specifies that given value class is inline class.
Instructs the Kotlin compiler to generate a multifile class with top-level functions and properties declared in this file as one of its parts. Name of the corresponding multifile class is provided by the JvmName annotation.
Instructs the Kotlin compiler to generate a multifile class with top-level functions and properties declared in this file as one of its parts. Name of the corresponding multifile class is provided by the JvmName annotation.
Specifies the name for the Java class or method which is generated from this element.
Instructs the Kotlin compiler to generate overloads for this function that substitute default parameter values.
Instructs the Kotlin compiler to generate overloads for this function that substitute default parameter values.
Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods
Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods
Makes the annotation class repeatable in Java and Kotlin. A repeatable annotation can be applied more than once on the same element.
Makes the annotated lambda function implement java.io.Serializable
, generates a pretty toString
implementation and adds reflection metadata.
Makes the annotated lambda function implement java.io.Serializable
, generates a pretty toString
implementation and adds reflection metadata.
Specifies that an additional static method needs to be generated from this element if it's a function. If this element is a property, additional static getter/setter methods should be generated.
Specifies that an additional static method needs to be generated from this element if it's a function. If this element is a property, additional static getter/setter methods should be generated.
Instructs compiler to generate or omit wildcards for type arguments corresponding to parameters with declaration-site variance, for example such as Collection<out T>
has.
Instructs the compiler to generate or omit wildcards for type arguments corresponding to parameters with declaration-site variance, for example such as E
of kotlin.collections.Collection
which is declared with an out
variance.
Sets ACC_SYNTHETIC
flag on the annotated target in the Java bytecode.
Sets ACC_SYNTHETIC
flag on the annotated target in the Java bytecode.
Instructs compiler to generate wildcard for annotated type arguments corresponding to parameters with declaration-site variance.
Instructs the compiler to generate wildcard for annotated type arguments corresponding to parameters with declaration-site variance.
Instructs the Kotlin compiler to treat annotated Java class as pure implementation of given Kotlin interface. "Pure" means here that each type parameter of class becomes non-platform type argument of that interface.
Marks the JVM method generated from the annotated function as strictfp
, meaning that the precision of floating point operations performed inside the method needs to be restricted in order to achieve better portability.
Marks the JVM method generated from the annotated function as strictfp
, meaning that the precision of floating point operations performed inside the method needs to be restricted in order to achieve better portability.
Marks the JVM method generated from the annotated function as synchronized
, meaning that the method will be protected from concurrent execution by multiple threads by the monitor of the instance (or, for static methods, the class) on which the method is defined.
Marks the JVM method generated from the annotated function as synchronized
, meaning that the method will be protected from concurrent execution by multiple threads by the monitor of the instance (or, for static methods, the class) on which the method is defined.
Marks the JVM backing field of the annotated property as transient
, meaning that it is not part of the default serialized form of the object.
Marks the JVM backing field of the annotated property as transient
, meaning that it is not part of the default serialized form of the object.
Marks the JVM backing field of the annotated var
property as volatile
, meaning that reads and writes to this field are atomic and writes are always made visible to other threads. If another thread reads the value of this field (e.g. through its accessor), it sees not only that value, but all side effects that led to writing that value.
Marks the JVM backing field of the annotated var
property as volatile
, meaning that reads and writes to this field are atomic and writes are always made visible to other threads. If another thread reads the value of this field (e.g. through its accessor), it sees not only that value, but all side effects that led to writing that value.
Properties
Returns a KClass instance corresponding to the annotation type of this annotation.