Any

Common
JVM
JS
Native
1.0

The root of the Kotlin class hierarchy. Every Kotlin class has Any as a superclass.

Constructors

Common
JVM
JS
Native
1.0

<init>

The root of the Kotlin class hierarchy. Every Kotlin class has Any as a superclass.

<init>()

Functions

Common
JVM
JS
Native
1.0

equals

Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:

open operator fun equals(other: Any?): Boolean
Common
JVM
JS
Native
1.0

hashCode

Returns a hash code value for the object. The general contract of hashCode is:

open fun hashCode(): Int
Common
JVM
JS
Native
1.0

toString

Returns a string representation of the object.

open fun toString(): String

Extension Properties

Native
1.3

isFrozen

Checks if given object is null or frozen or permanent (i.e. instantiated at compile-time).

val Any?.isFrozen: Boolean
JVM
1.0

javaClass

Returns the runtime Java class of this object.

val <T : Any> T.javaClass: Class<T>

Extension Functions

Common
JVM
JS
Native
1.1

also

Calls the specified function block with this value as its argument and returns this value.

fun <T> T.also(block: (T) -> Unit): T
Common
JVM
JS
Native
1.0

apply

Calls the specified function block with this value as its receiver and returns this value.

fun <T> T.apply(block: T.() -> Unit): T
JS
1.1

asDynamic

Reinterprets this value as a value of the dynamic type.

fun Any?.asDynamic(): dynamic
Native
1.3

ensureNeverFrozen

This function ensures that if we see such an object during freezing attempt - freeze fails and FreezingException is thrown.

fun Any.ensureNeverFrozen()
Native
1.3

freeze

Freezes object subgraph reachable from this object. Frozen objects can be freely shared between threads/workers.

fun <T> T.freeze(): T
Common
JVM
JS
Native
1.3

hashCode

Returns a hash code value for the object or zero if the object is null.

fun Any?.hashCode(): Int
Native
1.3

identityHashCode

Compute stable wrt potential object relocations by the memory manager identity hash code.

fun Any?.identityHashCode(): Int
JS
1.1

iterator

Allows to iterate this dynamic object in the following cases:

operator fun dynamic.iterator(): Iterator<dynamic>
Common
JVM
JS
Native
1.0

let

Calls the specified function block with this value as its argument and returns its result.

fun <T, R> T.let(block: (T) -> R): R
Native
1.3

objcPtr

fun Any?.objcPtr(): NativePtr
Native
1.3

pin

fun <T : Any> T.pin(): Pinned<T>
Common
JVM
JS
Native
1.0

run

Calls the specified function block with this value as its receiver and returns its result.

fun <T, R> T.run(block: T.() -> R): R
Common
JVM
JS
Native
1.3

runCatching

Calls the specified function block with this value as its receiver and returns its encapsulated result if invocation was successful, catching any Throwable exception that was thrown from the block function execution and encapsulating it as a failure.

fun <T, R> T.runCatching(block: T.() -> R): Result<R>
Common
JVM
JS
Native
1.1

takeIf

Returns this value if it satisfies the given predicate or null, if it doesn't.

fun <T> T.takeIf(predicate: (T) -> Boolean): T?
Common
JVM
JS
Native
1.1

takeUnless

Returns this value if it does not satisfy the given predicate or null, if it does.

fun <T> T.takeUnless(predicate: (T) -> Boolean): T?
Common
JVM
JS
Native
1.0

to

Creates a tuple of type Pair from this and that.

infix fun <A, B> A.to(that: B): Pair<A, B>
JS
1.1

unsafeCast

Reinterprets this value as a value of the specified type T without any actual type checking.

fun <T> Any?.unsafeCast(): T

Reinterprets this dynamic value as a value of the specified type T without any actual type checking.

fun <T> dynamic.unsafeCast(): T
Native
1.3

usePinned

fun <T : Any, R> T.usePinned(block: (Pinned<T>) -> R): R

Inheritors

Common
JVM
JS
Native
1.1

AbstractCollection

Provides a skeletal implementation of the read-only Collection interface.

abstract class AbstractCollection<out E> : Collection<E>
Common
JVM
JS
Native
1.3

AbstractCoroutineContextElement

Base class for CoroutineContext.Element implementations.

abstract class AbstractCoroutineContextElement : Element
Common
JVM
JS
Native
1.3

AbstractCoroutineContextKey

Base class for CoroutineContext.Key associated with polymorphic CoroutineContext.Element implementation. Polymorphic element implementation implies delegating its get and minusKey to getPolymorphicElement and minusPolymorphicKey respectively.

abstract class AbstractCoroutineContextKey<B : Element, E : B> : 
    Key<E>
Common
JVM
JS
Native
1.3

AbstractDoubleTimeSource

An abstract class used to implement time sources that return their readings as Double values in the specified unit.

abstract class AbstractDoubleTimeSource : WithComparableMarks
Common
JVM
JS
Native
1.0

AbstractIterator

A base class to simplify implementing iterators so that implementations only have to implement computeNext to implement the iterator, calling done when the iteration is complete.

abstract class AbstractIterator<T> : Iterator<T>
Common
JVM
JS
Native
1.9

AbstractLongTimeSource

An abstract class used to implement time sources that return their readings as Long values in the specified unit.

abstract class AbstractLongTimeSource : WithComparableMarks
Common
JVM
JS
Native
1.1

AbstractMap

Provides a skeletal implementation of the read-only Map interface.

abstract class AbstractMap<K, out V> : Map<K, V>

AbstractMutableCollection

Provides a skeletal implementation of the MutableCollection interface.

Common
JS
1.1
abstract class AbstractMutableCollection<E> : 
    MutableCollection<E>
JVM
1.1
abstract class AbstractMutableCollection<E> : 
    MutableCollection<E>,
    AbstractCollection<E>
Native
1.3
abstract class AbstractMutableCollection<E> : 
    MutableCollection<E>,
    AbstractCollection<E>

AbstractMutableList

Provides a skeletal implementation of the MutableList interface.

Common
1.0
abstract class AbstractMutableList<E> : MutableList<E>
JVM
1.1
abstract class AbstractMutableList<E> : 
    MutableList<E>,
    AbstractList<E>
JS
Native
1.1
abstract class AbstractMutableList<E> : 
    AbstractMutableCollection<E>,
    MutableList<E>

AbstractMutableMap

Provides a skeletal implementation of the MutableMap interface.

Common
JS
1.1
abstract class AbstractMutableMap<K, V> : MutableMap<K, V>
JVM
1.1
abstract class AbstractMutableMap<K, V> : 
    MutableMap<K, V>,
    AbstractMap<K, V>
Native
1.1
abstract class AbstractMutableMap<K, V> : 
    AbstractMap<K, V>,
    MutableMap<K, V>

AbstractMutableSet

Provides a skeletal implementation of the MutableSet interface.

Common
1.3
abstract class AbstractMutableSet<E> : MutableSet<E>
JVM
1.1
abstract class AbstractMutableSet<E> : 
    MutableSet<E>,
    AbstractSet<E>
JS
Native
1.1
abstract class AbstractMutableSet<E> : 
    AbstractMutableCollection<E>,
    MutableSet<E>
JS
1.1

AbstractWorker

Exposes the JavaScript AbstractWorker to Kotlin

interface AbstractWorker
JVM
1.0

Accessor

Represents a property accessor, which is a get or set method declared alongside the property. See the Kotlin language documentation for more information.

interface Accessor<out V>
JS
1.1

AddEventListenerOptions

interface AddEventListenerOptions : EventListenerOptions
Common
JVM
JS
Native
1.0

Annotation

Base interface implicitly implemented by all annotation interfaces. See Kotlin language documentation for more information on annotations.

interface Annotation

Appendable

An object to which char sequences and values can be appended.

Common
JS
Native
1.0
interface Appendable
JVM
1.1
typealias Appendable = Appendable
JS
1.1

AppendMode

interface AppendMode
Native
1.3

ArenaManager

object ArenaManager
Common
JVM
JS
Native
1.0

Array

Represents an array (specifically, a Java array when targeting the JVM platform). Array instances can be created using the arrayOf, arrayOfNulls and emptyArray standard library functions. See Kotlin language documentation for more information on arrays.

class Array<T>
JS
1.1

ArrayBuffer

Exposes the JavaScript ArrayBuffer to Kotlin

open class ArrayBuffer : BufferDataSource
JS
1.1

ArrayBufferView

Exposes the JavaScript ArrayBufferView to Kotlin

interface ArrayBufferView : BufferDataSource

ArrayList

Provides a MutableList implementation, which uses a resizable array as its backing storage.

Common
1.0
class ArrayList<E> : MutableList<E>, RandomAccess
JVM
1.1
typealias ArrayList<E> = ArrayList<E>
JS
1.1
open class ArrayList<E> : 
    AbstractMutableList<E>,
    MutableList<E>,
    RandomAccess
Native
1.3
class ArrayList<E> : 
    MutableList<E>,
    RandomAccess,
    AbstractMutableList<E>
JS
1.1

AssignedNodesOptions

interface AssignedNodesOptions
JS
Native
1.1

AssociatedObjectKey

Makes the annotated annotation class an associated object key.

annotation class AssociatedObjectKey
Native
1.9

AtomicArray

An Array in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicArray<T>
Native
1.9

AtomicInt

An Int value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicInt
Native
1.3

AtomicInt

An Int value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicInt
Native
1.9

AtomicIntArray

An IntArray in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicIntArray
Native
1.9

AtomicLong

A Long value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicLong
Native
1.3

AtomicLong

A Long value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicLong
Native
1.9

AtomicLongArray

An LongArray in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicLongArray
Native
1.9

AtomicNativePtr

A kotlinx.cinterop.NativePtr value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicNativePtr
Native
1.3

AtomicNativePtr

A kotlinx.cinterop.NativePtr value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.

class AtomicNativePtr
Native
1.9

AtomicReference

An object reference that is always updated atomically.

class AtomicReference<T>
Native
1.3

AtomicReference

An object reference that is always updated atomically.

class AtomicReference<T>
JS
1.1

AudioTrack

Exposes the JavaScript AudioTrack to Kotlin

abstract class AudioTrack : 
    UnionAudioTrackOrTextTrackOrVideoTrack

AutoCloseable

A resource that can be closed or released.

Common
JS
Native
2.0
interface AutoCloseable
JVM
JRE7
2.0
typealias AutoCloseable = AutoCloseable
JS
1.1

BarProp

abstract class BarProp
Common
JVM
JS
Native
1.8

Base64

Provides Base64 encoding and decoding functionality. Base64 encoding, as defined by the RFC 4648 and a few other RFCs, transforms arbitrary binary data into a sequence of printable characters.

open class Base64
Native
1.3

BetaInteropApi

Marks Objective-C and Swift interoperability API as Beta.

annotation class BetaInteropApi
JS
1.1

BinaryType

interface BinaryType
Native
1.3

BitSet

A vector of bits growing if necessary and allowing one to set/clear/read bits from it by a bit index.

class BitSet
JS
1.1

Blob

Exposes the JavaScript Blob to Kotlin

open class Blob : MediaProvider, ImageBitmapSource
JS
1.1

BlobPropertyBag

interface BlobPropertyBag
JS
1.1

Body

Exposes the JavaScript Body to Kotlin

interface Body
Common
JVM
JS
Native
1.0

Boolean

Represents a value which is either true or false. On the JVM, non-nullable values of this type are represented as values of the primitive type boolean.

class Boolean : Comparable<Boolean>
Common
JVM
JS
Native
1.0

BooleanArray

An array of booleans. When targeting the JVM, instances of this class are represented as boolean[].

class BooleanArray
Common
JVM
JS
Native
1.0

BooleanIterator

An iterator over a sequence of values of type Boolean.

abstract class BooleanIterator : Iterator<Boolean>
JS
1.1

BoxQuadOptions

interface BoxQuadOptions
JS
1.1

BufferDataSource

interface BufferDataSource
Common
JVM
JS
Native
1.3

BuilderInference

Allows to infer generic type arguments of a function from the calls in the annotated function parameter of that function.

annotation class BuilderInference
Common
JVM
JS
Native
1.0

ByteArray

An array of bytes. When targeting the JVM, instances of this class are represented as byte[].

class ByteArray
Common
JVM
JS
Native
1.0

ByteIterator

An iterator over a sequence of values of type Byte.

abstract class ByteIterator : Iterator<Byte>
JS
1.1

Cache

Exposes the JavaScript Cache to Kotlin

abstract class Cache
JS
1.1

CacheBatchOperation

interface CacheBatchOperation
JS
1.1

CacheQueryOptions

interface CacheQueryOptions
JS
1.1

CacheStorage

Exposes the JavaScript CacheStorage to Kotlin

abstract class CacheStorage
Common
JVM
JS
Native
1.3

CallsInPlace

An effect of calling a functional parameter in place.

interface CallsInPlace : Effect
JS
1.1

CanPlayTypeResult

interface CanPlayTypeResult
JS
1.1

CanvasCompositing

interface CanvasCompositing
JS
1.1

CanvasDirection

interface CanvasDirection
JS
1.1

CanvasDrawImage

interface CanvasDrawImage
JS
1.1

CanvasDrawPath

interface CanvasDrawPath
JS
1.1

CanvasFillRule

interface CanvasFillRule
JS
1.1

CanvasFillStrokeStyles

interface CanvasFillStrokeStyles
JS
1.1

CanvasFilters

interface CanvasFilters
JS
1.1

CanvasGradient

Exposes the JavaScript CanvasGradient to Kotlin

abstract class CanvasGradient
JS
1.1

CanvasHitRegion

interface CanvasHitRegion
JS
1.1

CanvasImageData

interface CanvasImageData
JS
1.1

CanvasImageSmoothing

interface CanvasImageSmoothing
JS
1.1

CanvasImageSource

interface CanvasImageSource : ImageBitmapSource
JS
1.1

CanvasLineCap

interface CanvasLineCap
JS
1.1

CanvasLineJoin

interface CanvasLineJoin
JS
1.1

CanvasPath

interface CanvasPath
JS
1.1

CanvasPathDrawingStyles

interface CanvasPathDrawingStyles
JS
1.1

CanvasPattern

Exposes the JavaScript CanvasPattern to Kotlin

abstract class CanvasPattern
JS
1.1

CanvasRect

interface CanvasRect
JS
1.1

CanvasRenderingContext2D

Exposes the JavaScript CanvasRenderingContext2D to Kotlin

abstract class CanvasRenderingContext2D : 
    CanvasState,
    CanvasTransform,
    CanvasCompositing,
    CanvasImageSmoothing,
    CanvasFillStrokeStyles,
    CanvasShadowStyles,
    CanvasFilters,
    CanvasRect,
    CanvasDrawPath,
    CanvasUserInterface,
    CanvasText,
    CanvasDrawImage,
    CanvasHitRegion,
    CanvasImageData,
    CanvasPathDrawingStyles,
    CanvasTextDrawingStyles,
    CanvasPath,
    RenderingContext
JS
1.1

CanvasRenderingContext2DSettings

interface CanvasRenderingContext2DSettings
JS
1.1

CanvasShadowStyles

interface CanvasShadowStyles
JS
1.1

CanvasState

interface CanvasState
JS
1.1

CanvasText

interface CanvasText
JS
1.1

CanvasTextAlign

interface CanvasTextAlign
JS
1.1

CanvasTextBaseline

interface CanvasTextBaseline
JS
1.1

CanvasTextDrawingStyles

interface CanvasTextDrawingStyles
JS
1.1

CanvasTransform

interface CanvasTransform
JS
1.1

CanvasUserInterface

interface CanvasUserInterface
JS
1.1

Capabilities

interface Capabilities
JS
1.1

CaretPosition

Exposes the JavaScript CaretPosition to Kotlin

abstract class CaretPosition
Native
1.3

CCall

annotation class CCall
Native
1.3

CEnum

interface CEnum
Native
1.3

CEnumEntryAlias

Denotes property that is an alias to some enum entry.

annotation class CEnumEntryAlias
Native
1.3

CEnumVarTypeSize

Stores instance size of the type T: CEnumVar.

annotation class CEnumVarTypeSize
Common
JVM
JS
Native
1.0

Char

Represents a 16-bit Unicode character. On the JVM, non-nullable values of this type are represented as values of the primitive type char.

class Char : Comparable<Char>
Common
JVM
JS
Native
1.0

CharArray

An array of chars. When targeting the JVM, instances of this class are represented as char[].

class CharArray
Common
JVM
JS
Native
1.0

CharIterator

An iterator over a sequence of values of type Char.

abstract class CharIterator : Iterator<Char>
Common
JVM
JS
Native
1.0

CharProgression

A progression of values of type Char.

open class CharProgression : Iterable<Char>
Common
JVM
JS
Native
1.0

CharSequence

Represents a readable sequence of Char values.

interface CharSequence
JVM
1.0

Charsets

Constant definitions for the standard charsets. These charsets are guaranteed to be available on every implementation of the Java platform.

object Charsets
JS
1.1

ChildNode

Exposes the JavaScript ChildNode to Kotlin

interface ChildNode
Native
1.9

Cleaner

The marker interface for objects that have a cleanup action associated with them.

sealed interface Cleaner
JS
1.1

Client

Exposes the JavaScript Client to Kotlin

abstract class Client : 
    UnionClientOrMessagePortOrServiceWorker
JS
1.1

ClientQueryOptions

interface ClientQueryOptions
JS
1.1

Clients

Exposes the JavaScript Clients to Kotlin

abstract class Clients
JS
1.1

ClientType

interface ClientType
JS
1.1

ClipboardEventInit

interface ClipboardEventInit : EventInit
JS
1.1

ClipboardPermissionDescriptor

interface ClipboardPermissionDescriptor
Common
JVM
JS
Native
1.1

ClosedFloatingPointRange

Represents a range of floating point numbers. Extends ClosedRange interface providing custom operation lessThanOrEquals for comparing values of range domain type.

interface ClosedFloatingPointRange<T : Comparable<T>> : 
    ClosedRange<T>
Common
JVM
JS
Native
1.0

ClosedRange

Represents a range of values (for example, numbers or characters) where both the lower and upper bounds are included in the range. See the Kotlin language documentation for more information.

interface ClosedRange<T : Comparable<T>>
JS
1.1

CloseEventInit

interface CloseEventInit : EventInit
Common
Native
1.3

CName

Makes top level function available from C/C++ code with the given name.

annotation class CName
Common
JVM
JS
Native
1.0

Collection

A generic collection of elements. Methods in this interface support only read-only access to the collection; read/write access is supported through the MutableCollection interface.

interface Collection<out E> : Iterable<E>
JS
1.1

ColorSpaceConversion

interface ColorSpaceConversion
Common
JVM
JS
Native
1.0

Comparable

Classes which inherit from this interface have a defined total ordering between their instances.

interface Comparable<in T>
Common
JVM
JS
Native
1.9

ComparableTimeMark

A TimeMark that can be compared for difference with other time marks obtained from the same TimeSource.WithComparableMarks time source.

interface ComparableTimeMark : 
    TimeMark,
    Comparable<ComparableTimeMark>

Comparator

Provides a comparison function for imposing a total ordering between instances of the type T.

Common
JS
Native
1.0
fun interface Comparator<T>
JVM
1.1
typealias Comparator<T> = Comparator<T>
JS
1.1

CompositionEventInit

interface CompositionEventInit : UIEventInit
Common
JVM
JS
Native
1.3

ConditionalEffect

An effect of some condition being true after observing another effect of a function.

interface ConditionalEffect : Effect
Common
JVM
JS
Native
2.0

ConsistentCopyVisibility

In previous versions of Kotlin, the generated 'copy' method of a data class always had public visibility, even if the primary constructor was non-public. That exposed the non-public constructor of the data class.

annotation class ConsistentCopyVisibility
JS
1.1

Console

Exposes the console API to Kotlin.

interface Console
Native
1.3

ConstantValue

Collection of annotations that allow to store constant values.

object ConstantValue
JS
1.1

ConstrainablePattern

interface ConstrainablePattern
JS
1.1

ConstrainBooleanParameters

Exposes the JavaScript ConstrainBooleanParameters to Kotlin

interface ConstrainBooleanParameters
JS
1.1

ConstrainDOMStringParameters

Exposes the JavaScript ConstrainDOMStringParameters to Kotlin

interface ConstrainDOMStringParameters
JS
1.1

ConstrainDoubleRange

interface ConstrainDoubleRange : DoubleRange
JS
1.1

Constraints

interface Constraints : ConstraintSet
JS
1.1

ConstraintSet

interface ConstraintSet
JS
1.1

ConstrainULongRange

interface ConstrainULongRange : ULongRange
Common
JVM
JS
Native
1.7

ContextFunctionTypeParams

Signifies that the annotated functional type has the prefix of size count for context receivers. Thus, @ContextFunctionTypeParams(2) @ExtensionFunctionType Function4<String, Int, Double, Byte, Unit> is a normalized representation of context(String, Int) Double.(Byte) -> Unit.

annotation class ContextFunctionTypeParams
Common
JVM
JS
Native
1.3

Continuation

Interface representing a continuation after a suspension point that returns a value of type T.

interface Continuation<in T>
Native
1.3

Continuation0

class Continuation0 : () -> Unit
Native
1.3

Continuation1

class Continuation1<T1> : (T1) -> Unit
Native
1.3

Continuation2

class Continuation2<T1, T2> : (T1, T2) -> Unit
Common
JVM
JS
Native
1.3

ContinuationInterceptor

Marks coroutine context element that intercepts coroutine continuations. The coroutines framework uses ContinuationInterceptor.Key to retrieve the interceptor and intercepts all coroutine continuations with interceptContinuation invocations.

interface ContinuationInterceptor : Element
Common
JVM
JS
Native
1.3

ContractBuilder

Provides a scope, where the functions of the contract DSL, such as returns, callsInPlace, etc., can be used to describe the contract of a function.

interface ContractBuilder
JS
1.1

ConvertCoordinateOptions

interface ConvertCoordinateOptions
JVM
JRE7
1.8

CopyActionContext

Context for the copyAction function passed to Path.copyToRecursively.

interface CopyActionContext
Common
JVM
JS
Native
1.3

CoroutineContext

Persistent context for the coroutine. It is an indexed set of Element instances. An indexed set is a mix between a set and a map. Every element in this set has a unique Key.

interface CoroutineContext
Native
1.3

CPlusPlusClass

interface CPlusPlusClass
JS
1.1

CSS

Exposes the JavaScript CSS to Kotlin

abstract class CSS
JS
1.1

CSSBoxType

interface CSSBoxType
JS
1.1

CSSRule

Exposes the JavaScript CSSRule to Kotlin

abstract class CSSRule
JS
1.1

CSSRuleList

Exposes the JavaScript CSSRuleList to Kotlin

abstract class CSSRuleList : ItemArrayLike<CSSRule>
JS
1.1

CSSStyleDeclaration

Exposes the JavaScript CSSStyleDeclaration to Kotlin

abstract class CSSStyleDeclaration : ItemArrayLike<String>
Native
1.3

CStruct

annotation class CStruct
JS
1.1

CustomElementRegistry

Exposes the JavaScript CustomElementRegistry to Kotlin

abstract class CustomElementRegistry
JS
1.1

CustomEventInit

interface CustomEventInit : EventInit
Native
1.3

CValuesRef

Represents a reference to (possibly empty) sequence of C values. It can be either a stable pointer CPointer or a sequence of immutable values CValues.

abstract class CValuesRef<T : CPointed>
JS
1.1

DataTransfer

Exposes the JavaScript DataTransfer to Kotlin

abstract class DataTransfer
JS
1.1

DataTransferItem

Exposes the JavaScript DataTransferItem to Kotlin

abstract class DataTransferItem
JS
1.1

DataTransferItemList

Exposes the JavaScript DataTransferItemList to Kotlin

abstract class DataTransferItemList
JS
1.1

DataView

Exposes the JavaScript DataView to Kotlin

open class DataView : ArrayBufferView
JS
1.1

Date

Exposes the Date API to Kotlin.

class Date
Native
1.9

Debugging

Note: this API is unstable and may change in any release.

object Debugging
Common
JVM
JS
Native
1.7

DeepRecursiveFunction

Defines deep recursive function that keeps its stack on the heap, which allows very deep recursive computations that do not use the actual call stack. To initiate a call to this deep recursive function use its invoke function. As a rule of thumb, it should be used if recursion goes deeper than a thousand calls.

class DeepRecursiveFunction<T, R>
Common
JVM
JS
Native
1.7

DeepRecursiveScope

A scope class for DeepRecursiveFunction function declaration that defines callRecursive methods to recursively call this function or another DeepRecursiveFunction putting the call activation frame on the heap.

sealed class DeepRecursiveScope<T, R>
Native
1.3

DeferScope

open class DeferScope
Common
JVM
JS
Native
1.0

Delegates

Standard property delegates.

object Delegates
Common
JVM
JS
Native
1.0

Deprecated

Marks the annotated declaration as deprecated.

annotation class Deprecated
Common
JVM
JS
Native
1.4

DeprecatedSinceKotlin

Marks the annotated declaration as deprecated. In contrast to Deprecated, severity of the reported diagnostic is not a constant value, but differs depending on the API version of the usage (the value of the -api-version argument when compiling the module where the usage is located). If the API version is greater or equal than hiddenSince, the declaration will not be accessible from the code (as if it was deprecated with level DeprecationLevel.HIDDEN), otherwise if the API version is greater or equal than errorSince, the usage will be marked as an error (as with DeprecationLevel.ERROR), otherwise if the API version is greater or equal than warningSince, the usage will be marked as a warning (as with DeprecationLevel.WARNING), otherwise the annotation is ignored.

annotation class DeprecatedSinceKotlin
Native
1.3

DetachedObjectGraph

Detached object graph encapsulates transferrable detached subgraph which cannot be accessed externally, until it is attached with the attach extension function.

class DetachedObjectGraph<T>
JS
1.1

DocumentAndElementEventHandlers

interface DocumentAndElementEventHandlers
JS
1.1

DocumentOrShadowRoot

Exposes the JavaScript DocumentOrShadowRoot to Kotlin

interface DocumentOrShadowRoot
JS
1.1

DocumentReadyState

interface DocumentReadyState
JS
1.1

DOMImplementation

Exposes the JavaScript DOMImplementation to Kotlin

abstract class DOMImplementation
JS
1.1

DOMMatrixReadOnly

Exposes the JavaScript DOMMatrixReadOnly to Kotlin

open class DOMMatrixReadOnly
JS
1.1

DOMParser

Exposes the JavaScript DOMParser to Kotlin

open class DOMParser
JS
1.1

DOMPointInit

Exposes the JavaScript DOMPointInit to Kotlin

interface DOMPointInit
JS
1.1

DOMPointReadOnly

Exposes the JavaScript DOMPointReadOnly to Kotlin

open class DOMPointReadOnly
JS
1.1

DOMQuad

Exposes the JavaScript DOMQuad to Kotlin

open class DOMQuad
JS
1.1

DOMRectInit

interface DOMRectInit
JS
1.1

DOMRectList

interface DOMRectList : ItemArrayLike<DOMRect>
JS
1.1

DOMRectReadOnly

Exposes the JavaScript DOMRectReadOnly to Kotlin

open class DOMRectReadOnly
JS
1.1

DOMStringMap

Exposes the JavaScript DOMStringMap to Kotlin

abstract class DOMStringMap
JS
1.1

DOMTokenList

Exposes the JavaScript DOMTokenList to Kotlin

abstract class DOMTokenList : ItemArrayLike<String>
Common
JVM
JS
Native
1.0

DoubleArray

An array of doubles. When targeting the JVM, instances of this class are represented as double[].

class DoubleArray
Common
JVM
JS
Native
1.0

DoubleIterator

An iterator over a sequence of values of type Double.

abstract class DoubleIterator : Iterator<Double>
JS
1.1

DoubleRange

Exposes the JavaScript DoubleRange to Kotlin

interface DoubleRange
JS
1.1

DragEventInit

interface DragEventInit : MouseEventInit
Common
JVM
JS
Native
1.1

DslMarker

When applied to annotation class X specifies that X defines a DSL language

annotation class DslMarker
Common
JVM
JS
Native
1.6

Duration

Represents the amount of time one instant of time is away from another instant.

class Duration : Comparable<Duration>
JS
1.6

EagerInitialization

Forces a top-level property to be initialized eagerly, opposed to lazily on the first access to file and/or property.

annotation class EagerInitialization
Native
1.3

EagerInitialization

Forces a top-level property to be initialized eagerly, opposed to lazily on the first access to file and/or property. This annotation can be used as temporal migration assistance during the transition from the previous Kotlin/Native initialization scheme "eager by default" to the new one, "lazy by default".

annotation class EagerInitialization
Common
JVM
JS
Native
1.3

Effect

Represents an effect of a function invocation, either directly observable, such as the function returning normally, or a side-effect, such as the function's lambda parameter being called in place.

interface Effect
JS
1.1

ElementContentEditable

interface ElementContentEditable
JS
1.1

ElementCreationOptions

interface ElementCreationOptions
JS
1.1

ElementCSSInlineStyle

interface ElementCSSInlineStyle
JS
1.1

ElementDefinitionOptions

interface ElementDefinitionOptions
Common
JVM
JS
Native
1.3

EmptyCoroutineContext

An empty coroutine context.

object EmptyCoroutineContext : CoroutineContext, Serializable
JS
1.1

EndOfStreamError

interface EndOfStreamError
Common
JVM
JS
Native
1.0

Entry

Represents a key/value pair held by a Map.

interface Entry<out K, out V>
Common
JVM
JS
Native
1.0

Enum

The common base class of all enum classes. See the Kotlin language documentation for more information on enum classes.

abstract class Enum<E : Enum<E>> : Comparable<E>
Common
JVM
JS
Native
1.9

EnumEntries

A specialized immutable implementation of List interface that contains all enum entries of the specified enum type E. EnumEntries contains all enum entries in the order they are declared in the source code, consistently with the corresponding Enum.ordinal values.

sealed interface EnumEntries<E : Enum<E>> : List<E>
JS
1.1

ErrorEventInit

interface ErrorEventInit : EventInit
JS
1.1

Event

Exposes the JavaScript Event to Kotlin

open class Event
JS
1.1

EventInit

interface EventInit
JS
1.1

EventListener

Exposes the JavaScript EventListener to Kotlin

interface EventListener
JS
1.1

EventListenerOptions

interface EventListenerOptions
JS
1.1

EventModifierInit

interface EventModifierInit : UIEventInit
JS
1.1

EventSourceInit

interface EventSourceInit
JS
1.1

EventTarget

Exposes the JavaScript EventTarget to Kotlin

abstract class EventTarget
JS
Native
1.1

ExperimentalAssociatedObjects

The experimental marker for associated objects API.

annotation class ExperimentalAssociatedObjects
Common
JVM
JS
Native
1.3

ExperimentalContracts

This marker distinguishes the experimental contract declaration API and is used to opt-in for that feature when declaring contracts of user functions.

annotation class ExperimentalContracts
Common
JVM
JS
Native
1.8

ExperimentalEncodingApi

This annotation marks the experimental API for encoding and decoding between binary data and printable ASCII character sequences.

annotation class ExperimentalEncodingApi
Native
1.3

ExperimentalForeignApi

Marks foreign-language-related API as experimental.

annotation class ExperimentalForeignApi
Common
JVM
JS
Native
2.0

ExperimentalJsCollectionsApi

This annotation marks the experimental JS-collections API that allows to manipulate with native JS-collections The API can be removed completely in any further release.

annotation class ExperimentalJsCollectionsApi
Common
JVM
JS
Native
1.4

ExperimentalJsExport

Marks experimental JS export annotations.

annotation class ExperimentalJsExport
Common
JVM
JS
Native
1.9

ExperimentalJsFileName

Marks experimental JsFileName annotation.

annotation class ExperimentalJsFileName
Common
JVM
JS
Native
1.9

ExperimentalJsReflectionCreateInstance

This annotation marks the experimental Kotlin/JS reflection API that allows to create an instance of provided KClass The API can be removed completely in any further release.

annotation class ExperimentalJsReflectionCreateInstance
Common
JVM
JS
Native
2.0

ExperimentalJsStatic

Marks the experimental JsStatic annotation.

annotation class ExperimentalJsStatic
Common
JVM
JS
Native
1.0

ExperimentalMultiplatform

The experimental multiplatform support API marker.

annotation class ExperimentalMultiplatform
Common
JVM
JS
Native
1.9

ExperimentalNativeApi

This annotation marks the Kotlin/Native-only standard library API that is considered experimental and is not subject to the general compatibility guarantees given for the standard library: the behavior of such API may be changed or the API may be removed completely in any further release.

annotation class ExperimentalNativeApi
Common
JVM
JS
Native
1.8

ExperimentalObjCName

This annotation marks the experimental ObjCName annotation.

annotation class ExperimentalObjCName
Common
JVM
JS
Native
1.8

ExperimentalObjCRefinement

This annotation marks the experimental Objective-C export refinement annotations.

annotation class ExperimentalObjCRefinement
JVM
JRE7
1.4

ExperimentalPathApi

This annotation marks the extensions and top-level functions for working with java.nio.file.Path considered experimental.

annotation class ExperimentalPathApi
JVM
1.5

ExperimentalReflectionOnLambdas

This annotation marks the experimental kotlin-reflect API that allows to approximate a Kotlin lambda or a function expression instance to a KFunction instance. The behavior of this API may be changed or the API may be removed completely in any further release.

annotation class ExperimentalReflectionOnLambdas
Common
JVM
JS
Native
1.3

ExperimentalStdlibApi

This annotation marks the standard library API that is considered experimental and is not subject to the general compatibility guarantees given for the standard library: the behavior of such API may be changed or the API may be removed completely in any further release.

annotation class ExperimentalStdlibApi
Common
JVM
JS
Native
1.8

ExperimentalSubclassOptIn

This annotation marks the experimental preview of the language feature SubclassOptInRequired.

annotation class ExperimentalSubclassOptIn
Common
JVM
JS
Native
1.3

ExperimentalTime

This annotation marks the experimental preview of the standard library API for measuring time and working with durations.

annotation class ExperimentalTime
Common
JVM
JS
Native
1.3

ExperimentalTypeInference

The experimental marker for type inference augmenting annotations.

annotation class ExperimentalTypeInference
Common
JVM
JS
Native
1.0

ExperimentalUnsignedTypes

Marks the API that is dependent on the experimental unsigned types, including those types themselves.

annotation class ExperimentalUnsignedTypes
Common
JVM
JS
Native
2.0

ExperimentalUuidApi

This annotation marks the experimental Kotlin Uuid API.

annotation class ExperimentalUuidApi
Native
1.3

ExportObjCClass

Makes Kotlin subclass of Objective-C class visible for runtime lookup after Kotlin main function gets invoked.

annotation class ExportObjCClass
Common
JVM
JS
Native
2.0

ExposedCopyVisibility

In previous versions of Kotlin, the generated 'copy' method of a data class always had public visibility, even if the primary constructor was non-public. That exposed the non-public constructor of the data class.

annotation class ExposedCopyVisibility
JS
1.1

ExtendableEventInit

interface ExtendableEventInit : EventInit
JS
1.1

ExtendableMessageEventInit

interface ExtendableMessageEventInit : ExtendableEventInit
Common
JVM
JS
Native
1.0

ExtensionFunctionType

Signifies that the annotated functional type represents an extension function.

annotation class ExtensionFunctionType
JS
1.1

External

interface External
Native
1.3

ExternalObjCClass

annotation class ExternalObjCClass
JS
1.1

FetchEventInit

interface FetchEventInit : ExtendableEventInit
JS
1.1

FileList

Exposes the JavaScript FileList to Kotlin

abstract class FileList : ItemArrayLike<File>
JS
1.1

FilePropertyBag

interface FilePropertyBag : BlobPropertyBag
JS
1.1

FileReaderSync

Exposes the JavaScript FileReaderSync to Kotlin

open class FileReaderSync
JVM
1.0

FileTreeWalk

This class is intended to implement different file traversal methods. It allows to iterate through all files inside a given directory.

class FileTreeWalk : Sequence<File>
JVM
JRE7
1.7

FileVisitorBuilder

The builder to provide implementation of the file visitor that fileVisitor builds.

sealed interface FileVisitorBuilder
JS
1.1

Float32Array

Exposes the JavaScript Float32Array to Kotlin

open class Float32Array : ArrayBufferView
JS
1.1

Float64Array

Exposes the JavaScript Float64Array to Kotlin

open class Float64Array : ArrayBufferView
Common
JVM
JS
Native
1.0

FloatArray

An array of floats. When targeting the JVM, instances of this class are represented as float[].

class FloatArray
Common
JVM
JS
Native
1.0

FloatIterator

An iterator over a sequence of values of type Float.

abstract class FloatIterator : Iterator<Float>
JS
1.1

FocusEventInit

interface FocusEventInit : UIEventInit
JS
1.1

ForeignFetchEventInit

interface ForeignFetchEventInit : ExtendableEventInit
JS
1.1

ForeignFetchOptions

interface ForeignFetchOptions
JS
1.1

ForeignFetchResponse

interface ForeignFetchResponse
JS
1.1

FormData

Exposes the JavaScript FormData to Kotlin

open class FormData
JS
1.1

FrameType

interface FrameType
Native
1.3

FreezableAtomicReference

This class was useful only with legacy memory manager. Please use AtomicReference instead.

class FreezableAtomicReference<T>
Common
Native
1.7

FreezingIsDeprecated

Freezing API is deprecated since 1.7.20.

annotation class FreezingIsDeprecated
Common
JVM
JS
Native
1.0

Function

Represents a value of a functional type, such as a lambda, an anonymous function or a function reference.

interface Function<out R>
Native
1.3

Future

class Future<T>
Native
1.9

GC

Note: this API is unstable and may change in any release.

object GC
Native
1.9

GCInfo

This class represents statistics about the single run of the garbage collector. It is supposed to be used for testing and debugging purposes only.

class GCInfo
JS
1.1

GeometryUtils

Exposes the JavaScript GeometryUtils to Kotlin

interface GeometryUtils
JS
1.1

GetNotificationOptions

interface GetNotificationOptions
JS
1.1

GetRootNodeOptions

interface GetRootNodeOptions
JS
1.1

GetSVGDocument

interface GetSVGDocument
JVM
1.0

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<out V> : KProperty.Accessor<V>, KFunction<V>
JVM
1.0

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<out V> : KProperty.Getter<V>, () -> V
JVM
1.0

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<T, out V> : KProperty.Getter<V>, (T) -> V
JVM
1.0

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<D, E, out V> : 
    KProperty.Getter<V>,
    (D, E) -> V
JS
1.1

GlobalEventHandlers

Exposes the JavaScript GlobalEventHandlers to Kotlin

interface GlobalEventHandlers
JS
1.1

GlobalPerformance

interface GlobalPerformance
Common
JVM
JS
Native
1.1

Grouping

Represents a source of elements with a keyOf function, which can be applied to each element to get its key.

interface Grouping<T, out K>
JS
1.1

HashChangeEventInit

interface HashChangeEventInit : EventInit

HashMap

Hash table based implementation of the MutableMap interface.

Common
Native
1.0
class HashMap<K, V> : MutableMap<K, V>
JVM
1.1
typealias HashMap<K, V> = HashMap<K, V>
JS
1.1
open class HashMap<K, V> : 
    AbstractMutableMap<K, V>,
    MutableMap<K, V>

HashSet

The implementation of the MutableSet interface, backed by a InternalMap implementation.

Common
1.0
class HashSet<E> : MutableSet<E>
JVM
1.1
typealias HashSet<E> = HashSet<E>
JS
1.1
open class HashSet<E> : AbstractMutableSet<E>, MutableSet<E>
Native
1.3
class HashSet<E> : 
    MutableSet<E>,
    KonanSet<E>,
    AbstractMutableSet<E>
JS
1.1

Headers

Exposes the JavaScript Headers to Kotlin

open class Headers
Common
JVM
JS
Native
1.9

HexFormat

Represents hexadecimal format options for formatting and parsing byte arrays and integer numeric values, both signed and unsigned.

class HexFormat
Common
Native
1.8

HiddenFromObjC

Instructs the Kotlin compiler to remove this class, function or property from the public Objective-C API.

annotation class HiddenFromObjC
Common
Native
1.8

HidesFromObjC

Meta-annotation that instructs the Kotlin compiler to remove the annotated class, function or property from the public Objective-C API.

annotation class HidesFromObjC
JS
1.1

History

Exposes the JavaScript History to Kotlin

abstract class History
JS
1.1

HitRegionOptions

interface HitRegionOptions
JS
1.1

HTMLAllCollection

abstract class HTMLAllCollection
JS
1.1

HTMLCollection

Exposes the JavaScript HTMLCollection to Kotlin

abstract class HTMLCollection : 
    ItemArrayLike<Element>,
    UnionElementOrHTMLCollection
JS
1.1

HTMLHyperlinkElementUtils

Exposes the JavaScript HTMLHyperlinkElementUtils to Kotlin

interface HTMLHyperlinkElementUtils
JS
1.1

HTMLOrSVGImageElement

interface HTMLOrSVGImageElement : CanvasImageSource
JS
1.1

HTMLOrSVGScriptElement

interface HTMLOrSVGScriptElement
Common
JS
1.8

Ignore

annotation class Ignore
JS
1.1

ImageBitmap

Exposes the JavaScript ImageBitmap to Kotlin

abstract class ImageBitmap : 
    CanvasImageSource,
    TexImageSource
JS
1.1

ImageBitmapOptions

interface ImageBitmapOptions
JS
1.1

ImageBitmapRenderingContext

Exposes the JavaScript ImageBitmapRenderingContext to Kotlin

abstract class ImageBitmapRenderingContext
JS
1.1

ImageBitmapRenderingContextSettings

interface ImageBitmapRenderingContextSettings
JS
1.1

ImageBitmapSource

interface ImageBitmapSource
JS
1.1

ImageData

Exposes the JavaScript ImageData to Kotlin

open class ImageData : ImageBitmapSource, TexImageSource
JS
1.1

ImageOrientation

interface ImageOrientation
JS
1.1

ImageSmoothingQuality

interface ImageSmoothingQuality
Native
1.3

ImmutableBlob

An immutable compile-time array of bytes.

class ImmutableBlob
Common
JVM
1.9

ImplicitlyActualizedByJvmDeclaration

This annotation marks Kotlin expect declarations that are implicitly actualized by Java.

annotation class ImplicitlyActualizedByJvmDeclaration
Common
JVM
JS
Native
1.0

IndexedValue

Data class representing a value from a collection or sequence, along with its index in that collection or sequence.

data class IndexedValue<out T>
JS
1.1

InputEventInit

interface InputEventInit : UIEventInit
JS
1.1

Int16Array

Exposes the JavaScript Int16Array to Kotlin

open class Int16Array : ArrayBufferView
JS
1.1

Int32Array

Exposes the JavaScript Int32Array to Kotlin

open class Int32Array : ArrayBufferView
JS
1.1

Int8Array

Exposes the JavaScript Int8Array to Kotlin

open class Int8Array : ArrayBufferView
Common
JVM
JS
Native
1.0

IntArray

An array of ints. When targeting the JVM, instances of this class are represented as int[].

class IntArray
Native
1.3

InteropStubs

annotation class InteropStubs
Common
JVM
JS
Native
1.0

IntIterator

An iterator over a sequence of values of type Int.

abstract class IntIterator : Iterator<Int>
Common
JVM
JS
Native
1.0

IntProgression

A progression of values of type Int.

open class IntProgression : Iterable<Int>
JS
1.1

ItemArrayLike

interface ItemArrayLike<out T>
Common
JVM
JS
Native
1.0

Iterable

Classes that inherit from this interface can be represented as a sequence of elements that can be iterated over.

interface Iterable<out T>
Common
JVM
JS
Native
1.0

Iterator

An iterator over a collection or another entity that can be represented as a sequence of elements. Allows to sequentially access the elements.

interface Iterator<out T>
JS
2.0

JsArray

Exposes the JavaScript Array to Kotlin.

open class JsArray<E> : JsReadonlyArray<E>
JS
1.1

JsClass

Represents the constructor of a class. Instances of JsClass can be passed to JavaScript APIs that expect a constructor reference.

interface JsClass<T : Any>
Common
JS
1.3

JsExport

Exports top-level declaration on JS platform.

annotation class JsExport
JS
1.9

JsExternalArgument

When placed on a function parameter, requires the type of the passed argument to be external.

annotation class JsExternalArgument
JS
1.9

JsExternalInheritorsOnly

When placed on an external interface or class, requires all its child interfaces, classes, and objects to be external as well.

annotation class JsExternalInheritorsOnly
Common
JS
1.9

JsFileName

Specifies the name of the compiled file produced from the annotated source file instead of the default one.

annotation class JsFileName
JS
2.0

JsMap

Exposes the JavaScript Map to Kotlin.

open class JsMap<K, V> : JsReadonlyMap<K, V>
JS
1.1

JsModule

Denotes an external declaration that must be imported from native JavaScript library.

annotation class JsModule
Common
JS
1.0

JsName

Gives a declaration (a function, a property or a class) specific name in JavaScript.

annotation class JsName
JS
1.1

JsNonModule

Denotes an external declaration that can be used without module system.

annotation class JsNonModule
JS
1.1

Json

An interface for indexing access to a collection of key-value pairs, where type of key is String and type of value is Any?.

interface Json
JS
1.1

JSON

Exposes the JavaScript JSON object to Kotlin.

object JSON
JS
1.1

JsQualifier

Adds prefix to external declarations in a source file.

annotation class JsQualifier
JS
2.0

JsReadonlyArray

Exposes the TypeScript ReadonlyArray to Kotlin.

interface JsReadonlyArray<out E>
JS
2.0

JsReadonlyMap

Exposes the TypeScript ReadonlyMap to Kotlin.

interface JsReadonlyMap<K, out V>
JS
2.0

JsReadonlySet

Exposes the TypeScript ReadonlySet to Kotlin.

interface JsReadonlySet<out E>
JS
2.0

JsSet

Exposes the JavaScript Set to Kotlin.

open class JsSet<E> : JsReadonlySet<E>
Common
JS
2.0

JsStatic

Specifies that an additional static method is generated from the annotated companion object member if it's a function. If the member is a property, additional static getter/setter methods are generated.

annotation class JsStatic
Native
1.3

JsValue

open class JsValue
JVM
1.2

JvmDefault

Specifies that a JVM default method should be generated for non-abstract Kotlin interface member.

annotation class JvmDefault
JVM
1.6

JvmDefaultWithCompatibility

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.

annotation class JvmDefaultWithCompatibility
JVM
1.4

JvmDefaultWithoutCompatibility

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
Common
JVM
1.0

JvmField

Instructs the Kotlin compiler not to generate getters/setters for this property and expose it as a field.

annotation class JvmField
Common
JVM
1.5

JvmInline

Specifies that given value class is inline class.

annotation class JvmInline
Common
JVM
1.0

JvmMultifileClass

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
Common
JVM
1.0

JvmName

Specifies the name for the Java class or method which is generated from this element.

annotation class JvmName
Common
JVM
1.0

JvmOverloads

Instructs the Kotlin compiler to generate overloads for this function that substitute default parameter values.

annotation class JvmOverloads
Common
JVM
1.5

JvmRecord

Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods

annotation class JvmRecord
Common
JVM
1.8

JvmSerializableLambda

Makes the annotated lambda function implement java.io.Serializable, generates a pretty toString implementation and adds reflection metadata.

annotation class JvmSerializableLambda
Common
JVM
1.0

JvmStatic

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
Common
JVM
1.0

JvmSuppressWildcards

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
Common
JVM
1.0

JvmSynthetic

Sets ACC_SYNTHETIC flag on the annotated target in the Java bytecode.

annotation class JvmSynthetic
Common
JVM
1.0

JvmWildcard

Instructs compiler to generate wildcard for annotated type arguments corresponding to parameters with declaration-site variance.

annotation class JvmWildcard
JVM
Native
1.0

KAnnotatedElement

Represents an annotated element and allows to obtain its annotations. See the Kotlin language documentation for more information.

interface KAnnotatedElement

KCallable

Represents a callable entity, such as a function or a property.

Common
JS
1.0
interface KCallable<out R>
JVM
Native
1.0
interface KCallable<out R> : KAnnotatedElement

KClass

Represents a class and provides introspection capabilities. Instances of this class are obtainable by the ::class syntax. See the Kotlin language documentation for more information.

Common
JS
1.0
interface KClass<T : Any> : KClassifier
JVM
Native
1.0
interface KClass<T : Any> : 
    KDeclarationContainer,
    KAnnotatedElement,
    KClassifier
Common
JVM
JS
Native
1.1

KClassifier

A classifier is either a class or a type parameter.

interface KClassifier
JVM
Native
1.0

KDeclarationContainer

Represents an entity which may contain declarations of any other entities, such as a class or a package.

interface KDeclarationContainer
JS
1.1

KeyboardEventInit

interface KeyboardEventInit : EventModifierInit
Common
JVM
JS
Native
1.0

KFunction

Represents a function with introspection capabilities.

interface KFunction<out R> : KCallable<R>, Function<R>
Common
JVM
JS
Native
1.0

KMutableProperty

Represents a property declared as a var.

interface KMutableProperty<V> : KProperty<V>
Common
JVM
JS
Native
1.0

KMutableProperty0

Represents a var-property without any kind of receiver.

interface KMutableProperty0<V> : 
    KProperty0<V>,
    KMutableProperty<V>
Common
JVM
JS
Native
1.0

KMutableProperty1

Represents a var-property, operations on which take one receiver as a parameter.

interface KMutableProperty1<T, V> : 
    KProperty1<T, V>,
    KMutableProperty<V>
Common
JVM
JS
Native
1.0

KMutableProperty2

Represents a var-property, operations on which take two receivers as parameters.

interface KMutableProperty2<D, E, V> : 
    KProperty2<D, E, V>,
    KMutableProperty<V>
Common
JVM
JS
Native
1.1

KotlinVersion

Represents a version of the Kotlin standard library.

class KotlinVersion : Comparable<KotlinVersion>
JVM
1.0

KParameter

Represents a parameter passed to a function or a property getter/setter, including this and extension receiver parameters.

interface KParameter : KAnnotatedElement
Common
JVM
JS
Native
1.0

KProperty

Represents a property, such as a named val or var declaration. Instances of this class are obtainable by the :: operator.

interface KProperty<out V> : KCallable<V>
Common
JVM
JS
Native
1.0

KProperty0

Represents a property without any kind of receiver. Such property is either originally declared in a receiverless context such as a package, or has the receiver bound to it.

interface KProperty0<out V> : KProperty<V>, () -> V
Common
JVM
JS
Native
1.0

KProperty1

Represents a property, operations on which take one receiver as a parameter.

interface KProperty1<T, out V> : KProperty<V>, (T) -> V
Common
JVM
JS
Native
1.0

KProperty2

Represents a property, operations on which take two receivers as parameters, such as an extension property declared in a class.

interface KProperty2<D, E, out V> : KProperty<V>, (D, E) -> V

KType

Represents a type. Type is usually either a class with optional type arguments, or a type parameter of some declaration, plus nullability.

Common
JS
Native
1.0
interface KType
JVM
1.0
interface KType : KAnnotatedElement
Common
JVM
JS
Native
1.1

KTypeParameter

Represents a declaration of a type parameter of a class or a callable. See the Kotlin language documentation for more information.

interface KTypeParameter : KClassifier
Common
JVM
JS
Native
1.1

KTypeProjection

Represents a type projection. Type projection is usually the argument to another type in a type usage. For example, in the type Array<out Number>, out Number is the covariant projection of the type represented by the class Number.

data class KTypeProjection
Common
JVM
JS
Native
1.0

Lazy

Represents a value with lazy initialization.

interface Lazy<out T>

LinkedHashMap

Hash table based implementation of the MutableMap interface, which additionally preserves the insertion order of entries during the iteration.

Common
1.0
class LinkedHashMap<K, V> : MutableMap<K, V>
JVM
1.1
typealias LinkedHashMap<K, V> = LinkedHashMap<K, V>
JS
1.1
open class LinkedHashMap<K, V> : 
    HashMap<K, V>,
    MutableMap<K, V>
Native
1.3
typealias LinkedHashMap<K, V> = HashMap<K, V>

LinkedHashSet

The implementation of the MutableSet interface, backed by a InternalMap implementation.

Common
1.0
class LinkedHashSet<E> : MutableSet<E>
JVM
1.1
typealias LinkedHashSet<E> = LinkedHashSet<E>
JS
1.1
open class LinkedHashSet<E> : HashSet<E>, MutableSet<E>
Native
1.3
typealias LinkedHashSet<V> = HashSet<V>
JS
1.1

LinkStyle

Exposes the JavaScript LinkStyle to Kotlin

interface LinkStyle
Common
JVM
JS
Native
1.0

List

A generic ordered collection of elements. Methods in this interface support only read-only access to the list; read/write access is supported through the MutableList interface.

interface List<out E> : Collection<E>
Common
JVM
JS
Native
1.0

ListIterator

An iterator over a collection that supports indexed access.

interface ListIterator<out T> : Iterator<T>
JS
1.1

Location

Exposes the JavaScript Location to Kotlin

abstract class Location
Common
JVM
JS
Native
1.0

LongArray

An array of longs. When targeting the JVM, instances of this class are represented as long[].

class LongArray
Common
JVM
JS
Native
1.0

LongIterator

An iterator over a sequence of values of type Long.

abstract class LongIterator : Iterator<Long>
Common
JVM
JS
Native
1.0

LongProgression

A progression of values of type Long.

open class LongProgression : Iterable<Long>
Native
1.3

ManagedType

abstract class ManagedType<T : CStructVar>
Common
JVM
JS
Native
1.0

Map

A collection that holds pairs of objects (keys and values) and supports efficiently retrieving the value corresponding to each key. Map keys are unique; the map holds only one value for each key. Methods in this interface support only read-only access to the map; read-write access is supported through the MutableMap interface.

interface Map<K, out V>

MatchGroup

Represents the results from a single capturing group within a MatchResult of Regex.

Common
1.0
class MatchGroup
JVM
JS
Native
1.0
data class MatchGroup
Common
JVM
JS
Native
1.0

MatchGroupCollection

Represents a collection of captured groups in a single match of a regular expression.

interface MatchGroupCollection : Collection<MatchGroup?>
Common
JVM
JS
Native
1.1

MatchNamedGroupCollection

Extends MatchGroupCollection by introducing a way to get matched groups by name, when regex supports it.

interface MatchNamedGroupCollection : MatchGroupCollection
Common
JVM
JS
Native
1.0

MatchResult

Represents the results from a single regular expression match.

interface MatchResult
JS
1.1

MediaDeviceInfo

Exposes the JavaScript MediaDeviceInfo to Kotlin

abstract class MediaDeviceInfo
JS
1.1

MediaDeviceKind

interface MediaDeviceKind
JS
1.1

MediaEncryptedEventInit

interface MediaEncryptedEventInit : EventInit
JS
1.1

MediaError

Exposes the JavaScript MediaError to Kotlin

abstract class MediaError
JS
1.1

MediaKeyMessageEventInit

interface MediaKeyMessageEventInit : EventInit
JS
1.1

MediaKeyMessageType

interface MediaKeyMessageType
JS
1.1

MediaKeys

Exposes the JavaScript MediaKeys to Kotlin

abstract class MediaKeys
JS
1.1

MediaKeySessionType

interface MediaKeySessionType
JS
1.1

MediaKeysRequirement

interface MediaKeysRequirement
JS
1.1

MediaKeyStatus

interface MediaKeyStatus
JS
1.1

MediaKeyStatusMap

Exposes the JavaScript MediaKeyStatusMap to Kotlin

abstract class MediaKeyStatusMap
JS
1.1

MediaKeySystemAccess

Exposes the JavaScript MediaKeySystemAccess to Kotlin

abstract class MediaKeySystemAccess
JS
1.1

MediaKeySystemConfiguration

Exposes the JavaScript MediaKeySystemConfiguration to Kotlin

interface MediaKeySystemConfiguration
JS
1.1

MediaKeySystemMediaCapability

interface MediaKeySystemMediaCapability
JS
1.1

MediaList

abstract class MediaList : ItemArrayLike<String>
JS
1.1

MediaProvider

interface MediaProvider
JS
1.1

MediaQueryListEventInit

interface MediaQueryListEventInit : EventInit
JS
1.1

MediaStreamConstraints

Exposes the JavaScript MediaStreamConstraints to Kotlin

interface MediaStreamConstraints
JS
1.1

MediaStreamTrackEventInit

interface MediaStreamTrackEventInit : EventInit
JS
1.1

MediaStreamTrackState

interface MediaStreamTrackState
JS
1.1

MediaTrackCapabilities

interface MediaTrackCapabilities
JS
1.1

MediaTrackConstraints

Exposes the JavaScript MediaTrackConstraints to Kotlin

interface MediaTrackConstraints : MediaTrackConstraintSet
JS
1.1

MediaTrackConstraintSet

interface MediaTrackConstraintSet
JS
1.1

MediaTrackSettings

Exposes the JavaScript MediaTrackSettings to Kotlin

interface MediaTrackSettings
JS
1.1

MediaTrackSupportedConstraints

Exposes the JavaScript MediaTrackSupportedConstraints to Kotlin

interface MediaTrackSupportedConstraints
Native
1.9

MemoryUsage

This class represents statistics of memory usage in one memory pool.

class MemoryUsage
JS
1.1

MessageChannel

Exposes the JavaScript MessageChannel to Kotlin

open class MessageChannel
JS
1.1

MessageEventInit

interface MessageEventInit : EventInit
JVM
1.3

Metadata

This annotation is present on any class file produced by the Kotlin compiler and is read by the compiler and reflection. Parameters have very short JVM names on purpose: these names appear in all generated class files, and we'd like to reduce their size.

annotation class Metadata
JS
1.1

MimeType

Exposes the JavaScript MimeType to Kotlin

abstract class MimeType
JS
1.1

MimeTypeArray

Exposes the JavaScript MimeTypeArray to Kotlin

abstract class MimeTypeArray : ItemArrayLike<MimeType>
JS
1.1

MouseEventInit

interface MouseEventInit : EventModifierInit
Common
JVM
JS
Native
1.0

MustBeDocumented

This meta-annotation determines that an annotation is a part of public API and therefore should be included in the generated documentation for the element to which the annotation is applied.

annotation class MustBeDocumented
Common
JVM
JS
Native
1.0

MutableCollection

A generic collection of elements that supports adding and removing elements.

interface MutableCollection<E> : 
    Collection<E>,
    MutableIterable<E>
Native
1.3

MutableData

Mutable concurrently accessible data buffer. Could be accessed from several workers simultaneously.

class MutableData
Common
JVM
JS
Native
1.0

MutableEntry

Represents a key/value pair held by a MutableMap.

interface MutableEntry<K, V> : Entry<K, V>
Common
JVM
JS
Native
1.0

MutableIterable

Classes that inherit from this interface can be represented as a sequence of elements that can be iterated over and that supports removing elements during iteration.

interface MutableIterable<out T> : Iterable<T>
Common
JVM
JS
Native
1.0

MutableIterator

An iterator over a mutable collection. Provides the ability to remove elements while iterating.

interface MutableIterator<out T> : Iterator<T>
Common
JVM
JS
Native
1.0

MutableList

A generic ordered collection of elements that supports adding and removing elements.

interface MutableList<E> : List<E>, MutableCollection<E>
Common
JVM
JS
Native
1.0

MutableListIterator

An iterator over a mutable collection that supports indexed access. Provides the ability to add, modify and remove elements while iterating.

interface MutableListIterator<T> : 
    ListIterator<T>,
    MutableIterator<T>
Common
JVM
JS
Native
1.0

MutableMap

A modifiable collection that holds pairs of objects (keys and values) and supports efficiently retrieving the value corresponding to each key. Map keys are unique; the map holds only one value for each key.

interface MutableMap<K, V> : Map<K, V>
Common
JVM
JS
Native
1.0

MutableSet

A generic unordered collection of elements that does not support duplicate elements, and supports adding and removing elements.

interface MutableSet<E> : Set<E>, MutableCollection<E>
JS
1.1

MutationObserver

Exposes the JavaScript MutationObserver to Kotlin

open class MutationObserver
JS
1.1

MutationObserverInit

Exposes the JavaScript MutationObserverInit to Kotlin

interface MutationObserverInit
JS
1.1

MutationRecord

Exposes the JavaScript MutationRecord to Kotlin

abstract class MutationRecord
JS
1.1

NamedNodeMap

Exposes the JavaScript NamedNodeMap to Kotlin

abstract class NamedNodeMap : ItemArrayLike<Attr>
Native
1.3

NativeFreeablePlacement

interface NativeFreeablePlacement : NativePlacement
JS
1.1

nativeGetter

annotation class nativeGetter
Native
1.3

nativeHeap

object nativeHeap : NativeFreeablePlacement
JS
1.1

nativeInvoke

annotation class nativeInvoke
Native
1.3

NativePlacement

interface NativePlacement
Native
1.3

NativePointed

The entity which has an associated native pointer. Subtypes are supposed to represent interpretations of the pointed data or code.

open class NativePointed
Native
1.9

NativeRuntimeApi

This annotation marks the Kotlin/Native standard library API that tweaks or otherwise accesses the Kotlin runtime behavior.

annotation class NativeRuntimeApi
JS
1.1

nativeSetter

annotation class nativeSetter
JS
1.1

Navigator

Exposes the JavaScript Navigator to Kotlin

abstract class Navigator : 
    NavigatorID,
    NavigatorLanguage,
    NavigatorOnLine,
    NavigatorContentUtils,
    NavigatorCookies,
    NavigatorPlugins,
    NavigatorConcurrentHardware
JS
1.1

NavigatorConcurrentHardware

Exposes the JavaScript NavigatorConcurrentHardware to Kotlin

interface NavigatorConcurrentHardware
JS
1.1

NavigatorContentUtils

interface NavigatorContentUtils
JS
1.1

NavigatorCookies

interface NavigatorCookies
JS
1.1

NavigatorID

Exposes the JavaScript NavigatorID to Kotlin

interface NavigatorID
JS
1.1

NavigatorLanguage

Exposes the JavaScript NavigatorLanguage to Kotlin

interface NavigatorLanguage
JS
1.1

NavigatorOnLine

Exposes the JavaScript NavigatorOnLine to Kotlin

interface NavigatorOnLine
JS
1.1

NavigatorPlugins

Exposes the JavaScript NavigatorPlugins to Kotlin

interface NavigatorPlugins
JS
1.1

NodeFilter

Exposes the JavaScript NodeFilter to Kotlin

interface NodeFilter
JS
1.1

NodeIterator

Exposes the JavaScript NodeIterator to Kotlin

abstract class NodeIterator
JS
1.1

NodeList

Exposes the JavaScript NodeList to Kotlin

abstract class NodeList : ItemArrayLike<Node>
JS
1.1

NonDocumentTypeChildNode

Exposes the JavaScript NonDocumentTypeChildNode to Kotlin

interface NonDocumentTypeChildNode
JS
1.1

NonElementParentNode

interface NonElementParentNode
Common
JVM
JS
Native
1.0

Nothing

Nothing has no instances. You can use Nothing to represent "a value that never exists": for example, if a function has the return type of Nothing, it means that it never returns (always throws an exception).

class Nothing
JS
1.1

NotificationAction

interface NotificationAction
JS
1.1

NotificationDirection

interface NotificationDirection
JS
1.1

NotificationEventInit

interface NotificationEventInit : ExtendableEventInit
JS
1.1

NotificationOptions

interface NotificationOptions
JS
1.1

NotificationPermission

interface NotificationPermission
Common
JVM
JS
Native
1.0

Number

Superclass for all platform classes representing numeric values.

abstract class Number
Native
1.3

ObjCAction

Makes Kotlin method in Objective-C class accessible through Objective-C dispatch to be used as action sent by control in UIKit or AppKit.

annotation class ObjCAction
Native
1.3

ObjCClass

interface ObjCClass : ObjCObject
Native
1.3

ObjCClassOf

interface ObjCClassOf<T : ObjCObject> : ObjCClass
Native
1.3

ObjCConstructor

annotation class ObjCConstructor
Native
1.3

ObjCDirect

annotation class ObjCDirect
Native
1.3

ObjCFactory

annotation class ObjCFactory
Native
1.3

ObjCMethod

annotation class ObjCMethod
Common
Native
1.8

ObjCName

Instructs the Kotlin compiler to use a custom Objective-C and/or Swift name for this class, property, parameter or function.

annotation class ObjCName
Native
1.3

ObjCObject

interface ObjCObject
Native
1.3

ObjCObjectBase

abstract class ObjCObjectBase : ObjCObject
Native
1.3

ObjCOutlet

Makes Kotlin property in Objective-C class settable through Objective-C dispatch to be used as IB outlet.

annotation class ObjCOutlet
Native
1.3

ObjCProtocol

interface ObjCProtocol : ObjCObject
Native
2.0

ObjCSignatureOverride

Marks functions for which Objective-C rules should be used for determinating whether two functions are conflicting.

annotation class ObjCSignatureOverride
Common
JVM
JS
Native
1.0

ObservableProperty

Implements the core logic of a property delegate for a read/write property that calls callback functions when changed.

abstract class ObservableProperty<V> : 
    ReadWriteProperty<Any?, V>
Native
1.9

ObsoleteNativeApi

This annotation marks the Kotlin/Native standard library API that is considered obsolete and is being phased out.

annotation class ObsoleteNativeApi
Native
1.9

ObsoleteWorkersApi

Marks all Worker-related API as obsolete.

annotation class ObsoleteWorkersApi
Common
JVM
JS
Native
1.9

OpenEndRange

Represents a range of values (for example, numbers or characters) where the upper bound is not included in the range. See the Kotlin language documentation for more information.

interface OpenEndRange<T : Comparable<T>>
Common
JVM
JS
Native
1.3

OptIn

Allows to use the API denoted by the given markers in the annotated file, declaration, or expression. If a declaration is annotated with OptIn, its usages are not required to opt in to that API.

annotation class OptIn
Common
JVM
JS
Native
1.0

OptionalExpectation

Marks an expected annotation class that it isn't required to have actual counterparts in all platforms.

annotation class OptionalExpectation
JS
1.1

OverconstrainedErrorEventInit

interface OverconstrainedErrorEventInit : EventInit
Common
JVM
JS
Native
1.4

OverloadResolutionByLambdaReturnType

Enables overload selection based on the type of the value returned from lambda argument.

annotation class OverloadResolutionByLambdaReturnType
JS
1.1

PageTransitionEventInit

interface PageTransitionEventInit : EventInit
Common
JVM
JS
Native
1.0

Pair

Represents a generic pair of two values.

data class Pair<out A, out B> : Serializable
Common
JVM
JS
Native
1.1

ParameterName

Annotates type arguments of functional type and holds corresponding parameter name specified by the user in type declaration (if any).

annotation class ParameterName
JS
1.1

ParentNode

Exposes the JavaScript ParentNode to Kotlin

interface ParentNode
JS
1.1

Path2D

Exposes the JavaScript Path2D to Kotlin

open class Path2D : CanvasPath
JS
1.1

PerformanceNavigation

Exposes the JavaScript PerformanceNavigation to Kotlin

abstract class PerformanceNavigation
JS
1.1

PerformanceTiming

Exposes the JavaScript PerformanceTiming to Kotlin

abstract class PerformanceTiming
Native
1.3

Pinned

class Pinned<T : Any>
Native
1.3

Platform

Object describing the current platform program executes upon.

object Platform
JS
1.1

Plugin

Exposes the JavaScript Plugin to Kotlin

abstract class Plugin : ItemArrayLike<MimeType>
JS
1.1

PluginArray

Exposes the JavaScript PluginArray to Kotlin

abstract class PluginArray : ItemArrayLike<Plugin>
JS
1.1

PointerEventInit

interface PointerEventInit : MouseEventInit
JS
1.1

PopStateEventInit

interface PopStateEventInit : EventInit
JS
1.1

PremultiplyAlpha

interface PremultiplyAlpha
JS
1.1

ProgressEventInit

interface ProgressEventInit : EventInit
JS
1.1

Promise

Exposes the JavaScript Promise object to Kotlin.

open class Promise<out T>
JS
1.1

PromiseRejectionEventInit

interface PromiseRejectionEventInit : EventInit
Common
JVM
JS
Native
1.4

PropertyDelegateProvider

Base interface that can be used for implementing property delegate providers.

fun interface PropertyDelegateProvider<in T, out D>
Common
JVM
JS
Native
1.1

PublishedApi

When applied to a class or a member with internal visibility allows to use it from public inline functions and makes it effectively public.

annotation class PublishedApi
JVM
1.0

PurelyImplements

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
Common
JVM
JS
Native
1.3

Random

An abstract class that is implemented by random number generator algorithms.

abstract class Random

RandomAccess

Marker interface indicating that the List implementation supports fast indexed access.

Common
JS
Native
1.0
interface RandomAccess
JVM
1.1
typealias RandomAccess = RandomAccess
JS
1.1

Range

Exposes the JavaScript Range to Kotlin

open class Range
Common
JVM
JS
Native
1.0

ReadOnlyProperty

Base interface that can be used for implementing property delegates of read-only properties.

fun interface ReadOnlyProperty<in T, out V>
Common
JVM
JS
Native
1.0

ReadWriteProperty

Base interface that can be used for implementing property delegates of read-write properties.

interface ReadWriteProperty<in T, V> : ReadOnlyProperty<T, V>
JS
1.1

ReadyState

interface ReadyState
Common
Native
1.8

RefinesInSwift

Meta-annotation that instructs the Kotlin compiler to mark the annotated function or property as swift_private in the generated Objective-C API.

annotation class RefinesInSwift

Regex

Represents a compiled regular expression. Provides functions to match strings in text with a pattern, replace the found occurrences and split text around matches.

Common
JS
Native
1.0
class Regex
JVM
1.0
class Regex : Serializable
JS
1.1

RegExp

Exposes the JavaScript RegExp object to Kotlin.

class RegExp
JS
1.1

RegExpMatch

Represents the return value of RegExp.exec.

interface RegExpMatch
JS
1.1

RegistrationOptions

interface RegistrationOptions
JS
1.1

RelatedEventInit

interface RelatedEventInit : EventInit
JS
1.1

RenderingContext

interface RenderingContext
Common
JVM
JS
Native
1.0

Repeatable

This meta-annotation determines that an annotation is applicable twice or more on a single code element

annotation class Repeatable
Common
JVM
JS
Native
1.0

ReplaceWith

Specifies a code fragment that can be used to replace a deprecated function, property or class. Tools such as IDEs can automatically apply the replacements specified through this annotation.

annotation class ReplaceWith
JS
1.1

Request

Exposes the JavaScript Request to Kotlin

open class Request : Body
JS
1.1

RequestCache

interface RequestCache
JS
1.1

RequestCredentials

interface RequestCredentials
JS
1.1

RequestDestination

interface RequestDestination
JS
1.1

RequestInit

interface RequestInit
JS
1.1

RequestMode

interface RequestMode
JS
1.1

RequestRedirect

interface RequestRedirect
JS
1.1

RequestType

interface RequestType
Common
JVM
JS
Native
1.3

RequiresOptIn

Signals that the annotated annotation class is a marker of an API that requires an explicit opt-in.

annotation class RequiresOptIn
JS
1.1

ResizeQuality

interface ResizeQuality
JS
1.1

Response

Exposes the JavaScript Response to Kotlin

open class Response : Body
JS
1.1

ResponseInit

interface ResponseInit
JS
1.1

ResponseType

interface ResponseType
Common
JVM
JS
Native
1.3

RestrictsSuspension

Classes and interfaces marked with this annotation are restricted when used as receivers for extension suspend functions. These suspend extensions can only invoke other member or extension suspend functions on this particular receiver and are restricted from calling arbitrary suspension functions.

annotation class RestrictsSuspension
Common
JVM
JS
Native
1.3

Result

A discriminated union that encapsulates a successful outcome with a value of type T or a failure with an arbitrary Throwable exception.

class Result<out T> : Serializable
Common
JVM
JS
Native
1.0

Retention

This meta-annotation determines whether an annotation is stored in binary output and visible for reflection. By default, both are true.

annotation class Retention
Common
JVM
JS
Native
1.3

Returns

Describes a situation when a function returns normally with a given return value.

interface Returns : SimpleEffect
Common
JVM
JS
Native
1.3

ReturnsNotNull

Describes a situation when a function returns normally with any non-null return value.

interface ReturnsNotNull : SimpleEffect
Native
1.9

RootSetStatistics

This class represents statistics of the root set for garbage collector run, separated by root set pools. These nodes are assumed to be used, even if there are no references for them.

class RootSetStatistics
JS
1.1

Screen

Exposes the JavaScript Screen to Kotlin

abstract class Screen
JS
1.1

ScrollBehavior

interface ScrollBehavior
JS
1.1

ScrollIntoViewOptions

interface ScrollIntoViewOptions : ScrollOptions
JS
1.1

ScrollLogicalPosition

interface ScrollLogicalPosition
JS
1.1

ScrollOptions

interface ScrollOptions
JS
1.1

ScrollRestoration

interface ScrollRestoration
JS
1.1

ScrollToOptions

Exposes the JavaScript ScrollToOptions to Kotlin

interface ScrollToOptions : ScrollOptions
JS
1.1

SelectionMode

interface SelectionMode
Common
JVM
JS
Native
1.0

Sequence

A sequence that returns values through its iterator. The values are evaluated lazily, and the sequence is potentially infinite.

interface Sequence<out T>
Common
JVM
JS
Native
1.3

SequenceScope

The scope for yielding values of a Sequence or an Iterator, provides yield and yieldAll suspension functions.

abstract class SequenceScope<in T>
JS
1.1

ServiceWorkerMessageEventInit

interface ServiceWorkerMessageEventInit : EventInit
JS
1.1

ServiceWorkerState

interface ServiceWorkerState
Common
JVM
JS
Native
1.0

Set

A generic unordered collection of elements that does not support duplicate elements. Methods in this interface support only read-only access to the set; read/write access is supported through the MutableSet interface.

interface Set<out E> : Collection<E>
JVM
1.0

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<V> : KProperty.Accessor<V>, KFunction<Unit>
JVM
1.0

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<V> : KMutableProperty.Setter<V>, (V) -> Unit
JVM
1.0

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<T, V> : 
    KMutableProperty.Setter<V>,
    (T, V) -> Unit
JVM
1.0

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<D, E, V> : 
    KMutableProperty.Setter<V>,
    (D, E, V) -> Unit
JS
1.1

Settings

interface Settings
JS
1.1

ShadowAnimation

open class ShadowAnimation
JS
1.1

ShadowRootInit

interface ShadowRootInit
JS
1.1

ShadowRootMode

interface ShadowRootMode
Common
Native
1.0

SharedImmutable

Note: this annotation has effect only in Kotlin/Native with legacy memory manager.

annotation class SharedImmutable
Common
JVM
JS
Native
1.0

ShortArray

An array of shorts. When targeting the JVM, instances of this class are represented as short[].

class ShortArray
Common
JVM
JS
Native
1.0

ShortIterator

An iterator over a sequence of values of type Short.

abstract class ShortIterator : Iterator<Short>
Common
Native
1.8

ShouldRefineInSwift

Instructs the Kotlin compiler to mark this function or property as swift_private in the generated Objective-C API.

annotation class ShouldRefineInSwift
Common
JVM
JS
Native
1.3

SimpleEffect

An effect that can be observed after a function invocation.

interface SimpleEffect : Effect
Common
JVM
JS
Native
1.0

SinceKotlin

Specifies the first version of Kotlin where a declaration has appeared. Using the declaration and specifying an older API version (via the -api-version command line option) will result in an error.

annotation class SinceKotlin
Native
1.3

SkiaRefCnt

interface SkiaRefCnt
JS
1.1

Slotable

Exposes the JavaScript Slotable to Kotlin

interface Slotable
Native
1.3

StableRef

class StableRef<out T : Any>
JS
1.1

Storage

Exposes the JavaScript Storage to Kotlin

abstract class Storage
JS
1.1

StorageEventInit

interface StorageEventInit : EventInit
Common
JVM
1.0

Strictfp

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
Common
JVM
JS
Native
1.0

String

The String class represents character strings. All string literals in Kotlin programs, such as "abc", are implemented as instances of this class.

class String : Comparable<String>, CharSequence

StringBuilder

A mutable sequence of characters.

Common
JS
1.0
class StringBuilder : Appendable, CharSequence
JVM
1.1
typealias StringBuilder = StringBuilder
Native
1.3
class StringBuilder : CharSequence, Appendable
JS
1.1

StyleSheet

Exposes the JavaScript StyleSheet to Kotlin

abstract class StyleSheet
JS
1.1

StyleSheetList

Exposes the JavaScript StyleSheetList to Kotlin

abstract class StyleSheetList : ItemArrayLike<StyleSheet>
Common
JVM
JS
Native
1.8

SubclassOptInRequired

Annotation that marks open for subclassing classes and interfaces, and makes implementation and extension of such declarations as requiring an explicit opt-in.

annotation class SubclassOptInRequired
Common
JVM
JS
Native
1.0

Suppress

Suppresses the given compilation warnings in the annotated element.

annotation class Suppress
Native
1.3

SuspendFunction

Represents a value of a functional type, such as a lambda, an anonymous function or a function reference.

interface SuspendFunction<out R>
JS
1.1

SVGAngle

Exposes the JavaScript SVGAngle to Kotlin

abstract class SVGAngle
JS
1.1

SVGAnimatedAngle

Exposes the JavaScript SVGAnimatedAngle to Kotlin

abstract class SVGAnimatedAngle
JS
1.1

SVGAnimatedBoolean

Exposes the JavaScript SVGAnimatedBoolean to Kotlin

abstract class SVGAnimatedBoolean
JS
1.1

SVGAnimatedEnumeration

Exposes the JavaScript SVGAnimatedEnumeration to Kotlin

abstract class SVGAnimatedEnumeration
JS
1.1

SVGAnimatedInteger

Exposes the JavaScript SVGAnimatedInteger to Kotlin

abstract class SVGAnimatedInteger
JS
1.1

SVGAnimatedLength

Exposes the JavaScript SVGAnimatedLength to Kotlin

abstract class SVGAnimatedLength
JS
1.1

SVGAnimatedLengthList

Exposes the JavaScript SVGAnimatedLengthList to Kotlin

abstract class SVGAnimatedLengthList
JS
1.1

SVGAnimatedNumber

Exposes the JavaScript SVGAnimatedNumber to Kotlin

abstract class SVGAnimatedNumber
JS
1.1

SVGAnimatedNumberList

Exposes the JavaScript SVGAnimatedNumberList to Kotlin

abstract class SVGAnimatedNumberList
JS
1.1

SVGAnimatedPoints

Exposes the JavaScript SVGAnimatedPoints to Kotlin

interface SVGAnimatedPoints
JS
1.1

SVGAnimatedPreserveAspectRatio

Exposes the JavaScript SVGAnimatedPreserveAspectRatio to Kotlin

abstract class SVGAnimatedPreserveAspectRatio
JS
1.1

SVGAnimatedRect

Exposes the JavaScript SVGAnimatedRect to Kotlin

abstract class SVGAnimatedRect
JS
1.1

SVGAnimatedString

Exposes the JavaScript SVGAnimatedString to Kotlin

abstract class SVGAnimatedString
JS
1.1

SVGAnimatedTransformList

Exposes the JavaScript SVGAnimatedTransformList to Kotlin

abstract class SVGAnimatedTransformList
JS
1.1

SVGBoundingBoxOptions

interface SVGBoundingBoxOptions
JS
1.1

SVGElementInstance

interface SVGElementInstance
JS
1.1

SVGFitToViewBox

interface SVGFitToViewBox
JS
1.1

SVGLength

Exposes the JavaScript SVGLength to Kotlin

abstract class SVGLength
JS
1.1

SVGLengthList

Exposes the JavaScript SVGLengthList to Kotlin

abstract class SVGLengthList
JS
1.1

SVGNameList

abstract class SVGNameList
JS
1.1

SVGNumber

Exposes the JavaScript SVGNumber to Kotlin

abstract class SVGNumber
JS
1.1

SVGNumberList

Exposes the JavaScript SVGNumberList to Kotlin

abstract class SVGNumberList
JS
1.1

SVGPointList

abstract class SVGPointList
JS
1.1

SVGPreserveAspectRatio

Exposes the JavaScript SVGPreserveAspectRatio to Kotlin

abstract class SVGPreserveAspectRatio
JS
1.1

SVGStringList

Exposes the JavaScript SVGStringList to Kotlin

abstract class SVGStringList
JS
1.1

SVGTests

Exposes the JavaScript SVGTests to Kotlin

interface SVGTests
JS
1.1

SVGTransform

Exposes the JavaScript SVGTransform to Kotlin

abstract class SVGTransform
JS
1.1

SVGTransformList

Exposes the JavaScript SVGTransformList to Kotlin

abstract class SVGTransformList
JS
1.1

SVGUnitTypes

Exposes the JavaScript SVGUnitTypes to Kotlin

interface SVGUnitTypes
JS
1.1

SVGURIReference

Exposes the JavaScript SVGURIReference to Kotlin

interface SVGURIReference
JS
1.1

SVGZoomAndPan

Exposes the JavaScript SVGZoomAndPan to Kotlin

interface SVGZoomAndPan
Native
1.9

SweepStatistics

This class represents statistics of sweeping in one memory pool.

class SweepStatistics
Native
1.3

SymbolName

This is a dangerous deprecated and internal annotation. Please avoid using it.

annotation class SymbolName

Synchronized

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.

Common
JS
1.0
annotation class Synchronized
JVM
1.0
annotation class Synchronized
Common
JVM
JS
Native
1.0

Target

This meta-annotation indicates the kinds of code elements which are possible targets of an annotation.

annotation class Target
JS
1.1

TexImageSource

interface TexImageSource
JS
1.1

TextMetrics

Exposes the JavaScript TextMetrics to Kotlin

abstract class TextMetrics
JS
1.1

TextTrackCueList

abstract class TextTrackCueList
JS
1.1

TextTrackKind

interface TextTrackKind
JS
1.1

TextTrackMode

interface TextTrackMode
Common
Native
1.0

ThreadLocal

Marks a top level property with a backing field or an object as thread local. The object remains mutable and it is possible to change its state, but every thread will have a distinct copy of this object, so changes in one thread are not reflected in another.

annotation class ThreadLocal
Common
JVM
JS
Native
1.0

Throwable

The base class for all errors and exceptions. Only instances of this class can be thrown or caught.

open class Throwable

Throws

This annotation indicates what exceptions should be declared by a function when compiled to a platform method in Kotlin/JVM and Kotlin/Native.

Common
Native
1.4
annotation class Throws
JVM
1.4
typealias Throws = Throws
JVM
1.0

Throws

This annotation indicates what exceptions should be declared by a function when compiled to a JVM method.

annotation class Throws
Common
JVM
JS
Native
1.9

TimedValue

Data class representing a result of executing an action, along with the duration of elapsed time interval.

data class TimedValue<T>
Common
JVM
JS
Native
1.9

TimeMark

Represents a time point notched on a particular TimeSource. Remains bound to the time source it was taken from and allows querying for the duration of time elapsed from that point (see the function elapsedNow).

interface TimeMark
JS
1.1

TimeRanges

Exposes the JavaScript TimeRanges to Kotlin

abstract class TimeRanges
Common
JVM
JS
Native
1.9

TimeSource

A source of time for measuring time intervals.

interface TimeSource
JS
1.1

Touch

Exposes the JavaScript Touch to Kotlin

abstract class Touch
JS
1.1

TouchList

abstract class TouchList : ItemArrayLike<Touch>
JS
1.1

TrackEventInit

interface TrackEventInit : EventInit
Common
JVM
1.0

Transient

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
JS
1.1

TreeWalker

Exposes the JavaScript TreeWalker to Kotlin

abstract class TreeWalker
Common
JVM
JS
Native
1.0

Triple

Represents a triad of values

data class Triple<out A, out B, out C> : Serializable
Common
JVM
JS
Native
1.0

Typography

Defines names for Unicode symbols used in proper Typography.

object Typography
Common
JVM
JS
Native
1.5

UByte

class UByte : Comparable<UByte>
Common
JVM
JS
Native
1.3

UByteArray

class UByteArray : Collection<UByte>
JS
1.1

UIEventInit

interface UIEventInit : EventInit
Common
JVM
JS
Native
1.5

UInt

class UInt : Comparable<UInt>
JS
1.1

Uint16Array

Exposes the JavaScript Uint16Array to Kotlin

open class Uint16Array : ArrayBufferView
JS
1.1

Uint32Array

Exposes the JavaScript Uint32Array to Kotlin

open class Uint32Array : ArrayBufferView
JS
1.1

Uint8Array

Exposes the JavaScript Uint8Array to Kotlin

open class Uint8Array : ArrayBufferView
JS
1.1

Uint8ClampedArray

Exposes the JavaScript Uint8ClampedArray to Kotlin

open class Uint8ClampedArray : ArrayBufferView
Common
JVM
JS
Native
1.3

UIntArray

class UIntArray : Collection<UInt>
Common
JVM
JS
Native
1.5

UIntProgression

A progression of values of type UInt.

open class UIntProgression : Iterable<UInt>
Common
JVM
JS
Native
1.5

ULong

class ULong : Comparable<ULong>
Common
JVM
JS
Native
1.3

ULongArray

class ULongArray : Collection<ULong>
Common
JVM
JS
Native
1.5

ULongProgression

A progression of values of type ULong.

open class ULongProgression : Iterable<ULong>
JS
1.1

ULongRange

interface ULongRange
JS
1.1

UnionAudioTrackOrTextTrackOrVideoTrack

interface UnionAudioTrackOrTextTrackOrVideoTrack
JS
1.1

UnionClientOrMessagePortOrServiceWorker

interface UnionClientOrMessagePortOrServiceWorker
JS
1.1

UnionElementOrHTMLCollection

interface UnionElementOrHTMLCollection
JS
1.1

UnionElementOrMouseEvent

interface UnionElementOrMouseEvent
JS
1.1

UnionElementOrProcessingInstruction

interface UnionElementOrProcessingInstruction
JS
1.1

UnionElementOrRadioNodeList

interface UnionElementOrRadioNodeList
JS
1.1

UnionHTMLOptGroupElementOrHTMLOptionElement

interface UnionHTMLOptGroupElementOrHTMLOptionElement
JS
1.1

UnionMessagePortOrServiceWorker

interface UnionMessagePortOrServiceWorker
JS
1.1

UnionMessagePortOrWindowProxy

interface UnionMessagePortOrWindowProxy
Common
JVM
JS
Native
1.0

Unit

The type with only one value: the Unit object. This type corresponds to the void type in Java.

object Unit
Native
1.3

UnsafeNumber

Marker for declarations that depend on numeric types of different bit width on at least two platforms.

annotation class UnsafeNumber
Common
JVM
JS
Native
1.0

UnsafeVariance

Suppresses errors about variance conflict

annotation class UnsafeVariance
JS
1.1

URL

Exposes the JavaScript URL to Kotlin

open class URL
JS
1.1

URLSearchParams

Exposes the JavaScript URLSearchParams to Kotlin

open class URLSearchParams
Common
JVM
JS
Native
1.5

UShort

class UShort : Comparable<UShort>
Common
JVM
JS
Native
1.3

UShortArray

class UShortArray : Collection<UShort>
Common
JVM
JS
Native
2.0

Uuid

Represents a Universally Unique Identifier (UUID), also known as a Globally Unique Identifier (GUID).

class Uuid : Serializable
JS
1.1

ValidityState

Exposes the JavaScript ValidityState to Kotlin

abstract class ValidityState
Native
1.9

Vector128

class Vector128
JS
1.1

VideoFacingModeEnum

interface VideoFacingModeEnum
JS
1.1

VideoResizeModeEnum

interface VideoResizeModeEnum
JS
1.1

VideoTrack

Exposes the JavaScript VideoTrack to Kotlin

abstract class VideoTrack : 
    UnionAudioTrackOrTextTrackOrVideoTrack

Volatile

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.

Common
JS
1.0
annotation class Volatile
JVM
1.0
annotation class Volatile

Volatile

Marks the 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.

Common
Native
1.9
annotation class Volatile
JVM
1.9
typealias Volatile = Volatile
Native
1.3

WeakReference

Class WeakReference encapsulates weak reference to an object, which could be used to either retrieve a strong reference to an object, or return null, if object was already destroyed by the memory manager.

class WeakReference<T : Any>
JS
1.1

WebGLActiveInfo

Exposes the JavaScript WebGLActiveInfo to Kotlin

abstract class WebGLActiveInfo
JS
1.1

WebGLContextAttributes

interface WebGLContextAttributes
JS
1.1

WebGLContextEventInit

interface WebGLContextEventInit : EventInit
JS
1.1

WebGLObject

abstract class WebGLObject
JS
1.1

WebGLRenderingContext

Exposes the JavaScript WebGLRenderingContext to Kotlin

abstract class WebGLRenderingContext : 
    WebGLRenderingContextBase,
    RenderingContext
JS
1.1

WebGLRenderingContextBase

interface WebGLRenderingContextBase
JS
1.1

WebGLShaderPrecisionFormat

Exposes the JavaScript WebGLShaderPrecisionFormat to Kotlin

abstract class WebGLShaderPrecisionFormat
JS
1.1

WebGLUniformLocation

Exposes the JavaScript WebGLUniformLocation to Kotlin

abstract class WebGLUniformLocation
JS
1.1

WheelEventInit

interface WheelEventInit : MouseEventInit
JS
1.1

WindowEventHandlers

Exposes the JavaScript WindowEventHandlers to Kotlin

interface WindowEventHandlers
JS
1.1

WindowLocalStorage

Exposes the JavaScript WindowLocalStorage to Kotlin

interface WindowLocalStorage
JS
1.1

WindowOrWorkerGlobalScope

Exposes the JavaScript WindowOrWorkerGlobalScope to Kotlin

interface WindowOrWorkerGlobalScope
JS
1.1

WindowSessionStorage

Exposes the JavaScript WindowSessionStorage to Kotlin

interface WindowSessionStorage
Native
1.3

Worker

class Worker
Native
1.3

WorkerBoundReference

A shared reference to a Kotlin object that doesn't freeze the referred object when it gets frozen itself.

class WorkerBoundReference<out T : Any>
JS
1.1

WorkerLocation

Exposes the JavaScript WorkerLocation to Kotlin

abstract class WorkerLocation
JS
1.1

WorkerNavigator

Exposes the JavaScript WorkerNavigator to Kotlin

abstract class WorkerNavigator : 
    NavigatorID,
    NavigatorLanguage,
    NavigatorOnLine,
    NavigatorConcurrentHardware
JS
1.1

WorkerOptions

interface WorkerOptions
JS
1.1

WorkerType

interface WorkerType
JS
1.1

XMLHttpRequestResponseType

interface XMLHttpRequestResponseType
JS
1.1

XMLSerializer

Exposes the JavaScript XMLSerializer to Kotlin

open class XMLSerializer