Package kotlin.jvm
Functions and annotations specific to the Java platform.
Annotations
Platform and version requirements: JVM (1.2)
Specifies that a JVM default method should be generated for non-abstract Kotlin interface member.
annotation class JvmDefault
Platform and version requirements: JVM (1.4)
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
.
annotation class JvmDefaultWithoutCompatibility
Platform and version requirements: JVM (1.0)
Instructs the Kotlin compiler not to generate getters/setters for this property and expose it as a field.
annotation class JvmField
Platform and version requirements: JVM (1.0)
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.
annotation class JvmMultifileClass
Platform and version requirements: JVM (1.0)
Specifies the name for the Java class or method which is generated from this element.
Platform and version requirements: JVM (1.0)
Instructs the Kotlin compiler to generate overloads for this function that substitute default parameter values.
annotation class JvmOverloads
Platform and version requirements: JVM (1.0)
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.
annotation class JvmStatic
Platform and version requirements: JVM (1.0)
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.
annotation class JvmSuppressWildcards
Platform and version requirements: JVM (1.0)
Sets ACC_SYNTHETIC
flag on the annotated target in the Java bytecode.
annotation class JvmSynthetic
Platform and version requirements: JVM (1.0)
Instructs compiler to generate wildcard for annotated type arguments corresponding to parameters with declaration-site variance.
annotation class JvmWildcard
Platform and version requirements: JVM (1.0)
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.
annotation class PurelyImplements
Platform and version requirements: JVM (1.0)
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.
annotation class Strictfp
Platform and version requirements: JVM (1.0), JS (1.0)
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.
annotation class Synchronized
Platform and version requirements: JVM (1.0)
This annotation indicates what exceptions should be declared by a function when compiled to a JVM method.
Platform and version requirements: JVM (1.0)
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.
annotation class Transient
Platform and version requirements: JVM (1.0), JS (1.0)
Marks the JVM backing field of the annotated property as volatile
, meaning that writes to this field are immediately made visible to other threads.
annotation class Volatile
Exceptions
Platform and version requirements: JVM (1.0)
open class KotlinReflectionNotSupportedError : Error
Extensions for External Classes
Platform and version requirements: JVM (1.0)
Properties
Platform and version requirements: JVM (1.0)
Returns a KClass instance corresponding to the annotation type of this annotation.
val <T : Annotation> T.annotationClass: KClass<out T>
Platform and version requirements: JVM (1.0)
Returns a Java Class instance corresponding to the given KClass instance.
val <T> KClass<T>.java: Class<T>
Platform and version requirements: JVM (1.0)
Returns the runtime Java class of this object.
val <T : Any> T.javaClass: Class<T>
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
Platform and version requirements: JVM (1.0)
Returns a Java Class instance corresponding to the given KClass instance. In case of primitive types it returns corresponding wrapper classes.
val <T : Any> KClass<T>.javaObjectType: Class<T>
Platform and version requirements: JVM (1.0)
Returns a Java Class instance representing the primitive type corresponding to the given KClass if it exists.
val <T : Any> KClass<T>.javaPrimitiveType: Class<T>?
Functions
Platform and version requirements: JVM (1.0)
Checks if array can contain element of type T.
fun <T : Any> Array<*>.isArrayOf(): Boolean