Package kotlin

Core functions and types, available on all supported platforms.

Types

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

Any

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

open class Any
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>
Native
1.3

ArrayIndexOutOfBoundsException

open class ArrayIndexOutOfBoundsException : 
    IndexOutOfBoundsException
Common
JS
Native
1.8

AutoCloseable

A resource that can be closed or released.

interface AutoCloseable
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

Byte

Represents a 8-bit signed integer. On the JVM, non-nullable values of this type are represented as values of the primitive type byte.

class Byte : Number, Comparable<Byte>
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

Char

Represents a 16-bit Unicode character.

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

CharSequence

Represents a readable sequence of Char values.

interface CharSequence
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>

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

DeprecationLevel

Possible levels of a deprecation. The level specifies how the deprecated element usages are reported in code.

enum class DeprecationLevel
Common
JVM
JS
Native
1.0

Double

Represents a double-precision 64-bit IEEE 754 floating point number. On the JVM, non-nullable values of this type are represented as values of the primitive type double.

class Double : Number, Comparable<Double>
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

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.0

Float

Represents a single-precision 32-bit IEEE 754 floating point number. On the JVM, non-nullable values of this type are represented as values of the primitive type float.

class Float : Number, Comparable<Float>
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

Function

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

interface Function<out R>
Common
JVM
JS
Native
1.0

Int

Represents a 32-bit signed integer. On the JVM, non-nullable values of this type are represented as values of the primitive type int.

class Int : Number, Comparable<Int>
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
Common
JVM
JS
Native
1.1

KotlinVersion

Represents a version of the Kotlin standard library.

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

Lazy

Represents a value with lazy initialization.

interface Lazy<out T>
Common
JVM
JS
Native
1.0

LazyThreadSafetyMode

Specifies how a Lazy instance synchronizes initialization among multiple threads.

enum class LazyThreadSafetyMode
Common
JVM
JS
Native
1.0

Long

Represents a 64-bit signed integer. On the JVM, non-nullable values of this type are represented as values of the primitive type long.

class Long : Number, Comparable<Long>
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

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

Number

Superclass for all platform classes representing numeric values.

abstract class Number
Native
1.3

OutOfMemoryError

open class OutOfMemoryError : Error
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.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

Short

Represents a 16-bit signed integer. On the JVM, non-nullable values of this type are represented as values of the primitive type short.

class Short : Number, Comparable<Short>
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

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
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
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.5

UByte

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

UByteArray

class UByteArray : Collection<UByte>
Common
JVM
JS
Native
1.5

UInt

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

UIntArray

class UIntArray : Collection<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.0

Unit

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

object Unit
Common
JVM
JS
Native
1.5

UShort

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

UShortArray

class UShortArray : Collection<UShort>

Annotations

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.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.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
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.0

ExperimentalMultiplatform

The experimental multiplatform support API marker.

annotation class ExperimentalMultiplatform
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.0

ExperimentalUnsignedTypes

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

annotation class ExperimentalUnsignedTypes
Common
JVM
JS
Native
1.0

ExtensionFunctionType

Signifies that the annotated functional type represents an extension function.

annotation class ExtensionFunctionType
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
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
Common
JVM
JS
Native
1.4

OverloadResolutionByLambdaReturnType

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

annotation class OverloadResolutionByLambdaReturnType
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
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
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
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
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
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

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

UnsafeVariance

Suppresses errors about variance conflict

annotation class UnsafeVariance

Exceptions

ArithmeticException

Common
JS
Native
1.3
open class ArithmeticException : RuntimeException
JVM
1.3
typealias ArithmeticException = ArithmeticException

AssertionError

Common
JS
Native
1.0
open class AssertionError : Error
JVM
1.1
typealias AssertionError = AssertionError

ClassCastException

Common
JS
Native
1.0
open class ClassCastException : RuntimeException
JVM
1.1
typealias ClassCastException = ClassCastException

ConcurrentModificationException

Common
JS
Native
1.0
open class ConcurrentModificationException : RuntimeException
JVM
1.3
typealias ConcurrentModificationException = ConcurrentModificationException

Error

Common
JS
Native
1.0
open class Error : Throwable
JVM
1.1
typealias Error = Error

Exception

Common
JS
Native
1.0
open class Exception : Throwable
JVM
1.1
typealias Exception = Exception

IllegalArgumentException

Common
JS
Native
1.0
open class IllegalArgumentException : RuntimeException
JVM
1.1
typealias IllegalArgumentException = IllegalArgumentException

IllegalStateException

Common
JS
Native
1.0
open class IllegalStateException : RuntimeException
JVM
1.1
typealias IllegalStateException = IllegalStateException

IndexOutOfBoundsException

Common
JS
Native
1.0
open class IndexOutOfBoundsException : RuntimeException
JVM
1.1
typealias IndexOutOfBoundsException = IndexOutOfBoundsException
JVM
1.0

KotlinNullPointerException

open class KotlinNullPointerException : NullPointerException

NoSuchElementException

Common
JS
Native
1.0
open class NoSuchElementException : RuntimeException
JVM
1.1
typealias NoSuchElementException = NoSuchElementException
Common
JVM
JS
Native
1.0

NotImplementedError

An exception is thrown to indicate that a method body remains to be implemented.

class NotImplementedError : Error

NoWhenBranchMatchedException

Common
1.0
open class NoWhenBranchMatchedException : RuntimeException
JVM
JS
1.0
open class NoWhenBranchMatchedException : RuntimeException

NullPointerException

Common
JS
Native
1.0
open class NullPointerException : RuntimeException
JVM
1.1
typealias NullPointerException = NullPointerException

NumberFormatException

Common
JS
Native
1.0
open class NumberFormatException : IllegalArgumentException
JVM
1.1
typealias NumberFormatException = NumberFormatException

RuntimeException

Common
JS
Native
1.0
open class RuntimeException : Exception
JVM
1.1
typealias RuntimeException = RuntimeException
JVM
1.0

TypeCastException

open class TypeCastException : ClassCastException

UninitializedPropertyAccessException

Common
1.0
class UninitializedPropertyAccessException : RuntimeException
JVM
1.0
class UninitializedPropertyAccessException : RuntimeException
JS
1.1
open class UninitializedPropertyAccessException : 
    RuntimeException

UnsupportedOperationException

Common
JS
Native
1.0
open class UnsupportedOperationException : RuntimeException
JVM
1.1
typealias UnsupportedOperationException = UnsupportedOperationException

Extensions for External Classes

Properties

Common
JVM
JS
Native
1.5

code

Returns the code of this Char.

val Char.code: Int
Common
JVM
JS
Native
1.2

isInitialized

Returns true if this lateinit property has been assigned a value, and false otherwise.

val KProperty0<*>.isInitialized: Boolean
JVM
1.0

stackTrace

Returns an array of stack trace elements representing the stack trace pertaining to this throwable.

val Throwable.stackTrace: Array<StackTraceElement>
Common
JVM
JS
Native
1.4

suppressedExceptions

Returns a list of all exceptions that were suppressed in order to deliver this exception.

val Throwable.suppressedExceptions: List<Throwable>

Functions

Common
JVM
JS
Native
1.1

addSuppressed

When supported by the platform, adds the specified exception to the list of exceptions that were suppressed in order to deliver this exception.

fun Throwable.addSuppressed(exception: Throwable)
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
Common
JVM
JS
Native
1.0

arrayOf

Returns an array containing the specified elements.

fun <T> arrayOf(vararg elements: T): Array<T>
Common
JVM
JS
Native
1.0

arrayOfNulls

Returns an array of objects of the given type with the given size, initialized with null values.

fun <T> arrayOfNulls(size: Int): Array<T?>
JVM
Native
1.0

assert

Throws an AssertionError if the value is false and runtime assertions have been enabled on the JVM using the -ea JVM option.

fun assert(value: Boolean)

Throws an AssertionError calculated by lazyMessage if the value is false and runtime assertions have been enabled on the JVM using the -ea JVM option.

fun assert(value: Boolean, lazyMessage: () -> Any)
Common
JVM
JS
Native
1.0

booleanArrayOf

Returns an array containing the specified boolean values.

fun booleanArrayOf(vararg elements: Boolean): BooleanArray
Common
JVM
JS
Native
1.0

byteArrayOf

Returns an array containing the specified Byte numbers.

fun byteArrayOf(vararg elements: Byte): ByteArray

Char

Creates a Char with the specified code, or throws an exception if the code is out of Char.MIN_VALUE.code..Char.MAX_VALUE.code.

Common
JVM
JS
Native
1.5
fun Char(code: Int): Char

Creates a Char with the specified code.

JS
1.5
fun Char(code: <ERROR CLASS>): Char
Common
JVM
Native
1.5
fun Char(code: UShort): Char
Common
JVM
JS
Native
1.0

charArrayOf

Returns an array containing the specified characters.

fun charArrayOf(vararg elements: Char): CharArray
Common
JVM
JS
Native
1.0

check

Throws an IllegalStateException if the value is false.

fun check(value: Boolean)

Throws an IllegalStateException with the result of calling lazyMessage if the value is false.

fun check(value: Boolean, lazyMessage: () -> Any)
Common
JVM
JS
Native
1.0

checkNotNull

Throws an IllegalStateException if the value is null. Otherwise returns the not null value.

fun <T : Any> checkNotNull(value: T?): T

Throws an IllegalStateException with the result of calling lazyMessage if the value is null. Otherwise returns the not null value.

fun <T : Any> checkNotNull(
    value: T?,
    lazyMessage: () -> Any
): T
Common
JVM
JS
Native
1.6

compareTo

Compares this object with the specified object for order. Returns zero if this object is equal to the specified other object, a negative number if it's less than other, or a positive number if it's greater than other.

infix fun <T> Comparable<T>.compareTo(other: T): Int
Common
JVM
JS
Native
1.4

countLeadingZeroBits

Counts the number of consecutive most significant bits that are zero in the binary representation of this Byte number.

fun Byte.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this Short number.

fun Short.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this UInt number.

fun UInt.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this ULong number.

fun ULong.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this UByte number.

fun UByte.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this UShort number.

fun UShort.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this Int number.

fun Int.countLeadingZeroBits(): Int

Counts the number of consecutive most significant bits that are zero in the binary representation of this Long number.

fun Long.countLeadingZeroBits(): Int
Common
JVM
JS
Native
1.4

countOneBits

Counts the number of set bits in the binary representation of this Byte number.

fun Byte.countOneBits(): Int

Counts the number of set bits in the binary representation of this Short number.

fun Short.countOneBits(): Int

Counts the number of set bits in the binary representation of this UInt number.

fun UInt.countOneBits(): Int

Counts the number of set bits in the binary representation of this ULong number.

fun ULong.countOneBits(): Int

Counts the number of set bits in the binary representation of this UByte number.

fun UByte.countOneBits(): Int

Counts the number of set bits in the binary representation of this UShort number.

fun UShort.countOneBits(): Int

Counts the number of set bits in the binary representation of this Int number.

fun Int.countOneBits(): Int

Counts the number of set bits in the binary representation of this Long number.

fun Long.countOneBits(): Int
Common
JVM
JS
Native
1.4

countTrailingZeroBits

Counts the number of consecutive least significant bits that are zero in the binary representation of this Byte number.

fun Byte.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this Short number.

fun Short.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this UInt number.

fun UInt.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this ULong number.

fun ULong.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this UByte number.

fun UByte.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this UShort number.

fun UShort.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this Int number.

fun Int.countTrailingZeroBits(): Int

Counts the number of consecutive least significant bits that are zero in the binary representation of this Long number.

fun Long.countTrailingZeroBits(): Int
Common
JVM
JS
Native
1.0

doubleArrayOf

Returns an array containing the specified Double numbers.

fun doubleArrayOf(vararg elements: Double): DoubleArray
Common
JVM
JS
Native
1.0

emptyArray

Returns an empty array of the specified type T.

fun <T> emptyArray(): Array<T>
Common
JVM
JS
Native
1.1

enumValueOf

Returns an enum entry with specified name.

fun <T : Enum<T>> enumValueOf(name: String): T
Common
JVM
JS
Native
1.1

enumValues

Returns an array containing enum T entries.

fun <T : Enum<T>> enumValues(): Array<T>
Common
JVM
JS
Native
1.0

error

Throws an IllegalStateException with the given message.

fun error(message: Any): Nothing
Common
JVM
JS
Native
1.0

floatArrayOf

Returns an array containing the specified Float numbers.

fun floatArrayOf(vararg elements: Float): FloatArray
Common
JVM
JS
Native
1.5

floorDiv

Divides this value by the other value, flooring the result to an integer that is closer to negative infinity.

fun Byte.floorDiv(other: Byte): Int
fun Byte.floorDiv(other: Short): Int
fun Byte.floorDiv(other: Int): Int
fun Byte.floorDiv(other: Long): Long
fun Short.floorDiv(other: Byte): Int
fun Short.floorDiv(other: Short): Int
fun Short.floorDiv(other: Int): Int
fun Short.floorDiv(other: Long): Long
fun Int.floorDiv(other: Byte): Int
fun Int.floorDiv(other: Short): Int
fun Int.floorDiv(other: Int): Int
fun Int.floorDiv(other: Long): Long
fun Long.floorDiv(other: Byte): Long
fun Long.floorDiv(other: Short): Long
fun Long.floorDiv(other: Int): Long
fun Long.floorDiv(other: Long): Long
Common
JVM
JS
Native
1.3

fold

Returns the result of onSuccess for the encapsulated value if this instance represents success or the result of onFailure function for the encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.fold(
    onSuccess: (value: T) -> R,
    onFailure: (exception: Throwable) -> R
): R
Common
JVM
JS
Native
1.3

getOrDefault

Returns the encapsulated value if this instance represents success or the defaultValue if it is failure.

fun <R, T : R> Result<T>.getOrDefault(defaultValue: R): R
Common
JVM
JS
Native
1.3

getOrElse

Returns the encapsulated value if this instance represents success or the result of onFailure function for the encapsulated Throwable exception if it is failure.

fun <R, T : R> Result<T>.getOrElse(
    onFailure: (exception: Throwable) -> R
): R
Common
JVM
JS
Native
1.3

getOrThrow

Returns the encapsulated value if this instance represents success or throws the encapsulated Throwable exception if it is failure.

fun <T> Result<T>.getOrThrow(): T
Common
JVM
JS
Native
1.0

getValue

An extension operator that allows delegating a read-only property of type V to a property reference to a property of type V or its subtype.

operator fun <V> KProperty0<V>.getValue(
    thisRef: Any?,
    property: KProperty<*>
): V

An extension operator that allows delegating a read-only member or extension property of type V to a property reference to a member or extension property of type V or its subtype.

operator fun <T, V> KProperty1<T, V>.getValue(
    thisRef: T,
    property: KProperty<*>
): V

An extension to delegate a read-only property of type T to an instance of Lazy.

operator fun <T> Lazy<T>.getValue(
    thisRef: Any?,
    property: KProperty<*>
): 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
Common
JVM
JS
Native
1.0

intArrayOf

Returns an array containing the specified Int numbers.

fun intArrayOf(vararg elements: Int): IntArray
Common
JVM
JS
Native
1.7

invoke

Initiates a call to this deep recursive function, forming a root of the call tree.

operator fun <T, R> DeepRecursiveFunction<T, R>.invoke(
    value: T
): R
Common
JVM
JS
Native
1.0

isFinite

Returns true if the argument is a finite floating-point value; returns false otherwise (for NaN and infinity arguments).

fun Double.isFinite(): Boolean
fun Float.isFinite(): Boolean
Common
JVM
JS
Native
1.0

isInfinite

Returns true if this value is infinitely large in magnitude.

fun Double.isInfinite(): Boolean
fun Float.isInfinite(): Boolean
Common
JVM
JS
Native
1.0

isNaN

Returns true if the specified number is a Not-a-Number (NaN) value, false otherwise.

fun Double.isNaN(): Boolean
fun Float.isNaN(): Boolean

lazy

Creates a new instance of the Lazy that uses the specified initialization function initializer.

JS
1.1
fun <T> lazy(
    mode: <ERROR CLASS>,
    initializer: () -> T
): <ERROR CLASS><T>

Creates a new instance of the Lazy that uses the specified initialization function initializer and the default thread-safety mode LazyThreadSafetyMode.SYNCHRONIZED.

Common
JVM
Native
1.0
fun <T> lazy(initializer: () -> T): Lazy<T>
JS
1.1
fun <T> lazy(initializer: () -> T): <ERROR CLASS><T>

Creates a new instance of the Lazy that uses the specified initialization function initializer.

Common
JVM
Native
1.0
fun <T> lazy(
    mode: LazyThreadSafetyMode,
    initializer: () -> T
): Lazy<T>
Common
Native
1.0
fun <T> lazy(lock: Any?, initializer: () -> T): Lazy<T>
JVM
1.0
fun <T> lazy(lock: Any?, initializer: () -> T): Lazy<T>
JS
1.1
fun <T> lazy(
    lock: Any?,
    initializer: () -> T
): <ERROR CLASS><T>
Common
JVM
JS
Native
1.0

lazyOf

Creates a new instance of the Lazy that is already initialized with the specified value.

fun <T> lazyOf(value: T): Lazy<T>
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
Common
JVM
JS
Native
1.0

longArrayOf

Returns an array containing the specified Long numbers.

fun longArrayOf(vararg elements: Long): LongArray
Common
JVM
JS
Native
1.3

map

Returns the encapsulated result of the given transform function applied to the encapsulated value if this instance represents success or the original encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.map(
    transform: (value: T) -> R
): Result<R>
Common
JVM
JS
Native
1.3

mapCatching

Returns the encapsulated result of the given transform function applied to the encapsulated value if this instance represents success or the original encapsulated Throwable exception if it is failure.

fun <R, T> Result<T>.mapCatching(
    transform: (value: T) -> R
): Result<R>
Common
JVM
JS
Native
1.5

mod

Calculates the remainder of flooring division of this value (dividend) by the other value (divisor).

fun Byte.mod(other: Byte): Byte
fun Byte.mod(other: Short): Short
fun Byte.mod(other: Int): Int
fun Byte.mod(other: Long): Long
fun Short.mod(other: Byte): Byte
fun Short.mod(other: Short): Short
fun Short.mod(other: Int): Int
fun Short.mod(other: Long): Long
fun Int.mod(other: Byte): Byte
fun Int.mod(other: Short): Short
fun Int.mod(other: Int): Int
fun Int.mod(other: Long): Long
fun Long.mod(other: Byte): Byte
fun Long.mod(other: Short): Short
fun Long.mod(other: Int): Int
fun Long.mod(other: Long): Long
fun Float.mod(other: Float): Float
fun Float.mod(other: Double): Double
fun Double.mod(other: Float): Double
fun Double.mod(other: Double): Double
Common
JVM
JS
Native
1.3

onFailure

Performs the given action on the encapsulated Throwable exception if this instance represents failure. Returns the original Result unchanged.

fun <T> Result<T>.onFailure(
    action: (exception: Throwable) -> Unit
): Result<T>
Common
JVM
JS
Native
1.3

onSuccess

Performs the given action on the encapsulated value if this instance represents success. Returns the original Result unchanged.

fun <T> Result<T>.onSuccess(
    action: (value: T) -> Unit
): Result<T>
Common
JVM
JS
Native
1.0

plus

Concatenates this string with the string representation of the given other object. If either the receiver or the other object are null, they are represented as the string "null".

operator fun String?.plus(other: Any?): String

printStackTrace

JVM
1.0

Prints the detailed description of this throwable to the specified writer.

fun Throwable.printStackTrace(writer: PrintWriter)
JVM
1.0

Prints the detailed description of this throwable to the specified stream.

fun Throwable.printStackTrace(stream: PrintStream)
Common
JVM
JS
Native
1.0

Prints the detailed description of this throwable to the standard output or standard error output.

fun Throwable.printStackTrace()
Common
JVM
JS
Native
1.3

recover

Returns the encapsulated result of the given transform function applied to the encapsulated Throwable exception if this instance represents failure or the original encapsulated value if it is success.

fun <R, T : R> Result<T>.recover(
    transform: (exception: Throwable) -> R
): Result<R>
Common
JVM
JS
Native
1.3

recoverCatching

Returns the encapsulated result of the given transform function applied to the encapsulated Throwable exception if this instance represents failure or the original encapsulated value if it is success.

fun <R, T : R> Result<T>.recoverCatching(
    transform: (exception: Throwable) -> R
): Result<R>
Common
JVM
JS
Native
1.0

repeat

Executes the given function action specified number of times.

fun repeat(times: Int, action: (Int) -> Unit)
Common
JVM
JS
Native
1.0

require

Throws an IllegalArgumentException if the value is false.

fun require(value: Boolean)

Throws an IllegalArgumentException with the result of calling lazyMessage if the value is false.

fun require(value: Boolean, lazyMessage: () -> Any)
Common
JVM
JS
Native
1.0

requireNotNull

Throws an IllegalArgumentException if the value is null. Otherwise returns the not null value.

fun <T : Any> requireNotNull(value: T?): T

Throws an IllegalArgumentException with the result of calling lazyMessage if the value is null. Otherwise returns the not null value.

fun <T : Any> requireNotNull(
    value: T?,
    lazyMessage: () -> Any
): T
Common
JVM
JS
Native
1.6

rotateLeft

Rotates the binary representation of this Byte number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun Byte.rotateLeft(bitCount: Int): Byte

Rotates the binary representation of this Short number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun Short.rotateLeft(bitCount: Int): Short

Rotates the binary representation of this UInt number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun UInt.rotateLeft(bitCount: Int): UInt

Rotates the binary representation of this ULong number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun ULong.rotateLeft(bitCount: Int): ULong

Rotates the binary representation of this UByte number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun UByte.rotateLeft(bitCount: Int): UByte

Rotates the binary representation of this UShort number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun UShort.rotateLeft(bitCount: Int): UShort

Rotates the binary representation of this Int number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun Int.rotateLeft(bitCount: Int): Int

Rotates the binary representation of this Long number left by the specified bitCount number of bits. The most significant bits pushed out from the left side reenter the number as the least significant bits on the right side.

fun Long.rotateLeft(bitCount: Int): Long
Common
JVM
JS
Native
1.6

rotateRight

Rotates the binary representation of this Byte number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun Byte.rotateRight(bitCount: Int): Byte

Rotates the binary representation of this Short number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun Short.rotateRight(bitCount: Int): Short

Rotates the binary representation of this UInt number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun UInt.rotateRight(bitCount: Int): UInt

Rotates the binary representation of this ULong number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun ULong.rotateRight(bitCount: Int): ULong

Rotates the binary representation of this UByte number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun UByte.rotateRight(bitCount: Int): UByte

Rotates the binary representation of this UShort number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun UShort.rotateRight(bitCount: Int): UShort

Rotates the binary representation of this Int number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun Int.rotateRight(bitCount: Int): Int

Rotates the binary representation of this Long number right by the specified bitCount number of bits. The least significant bits pushed out from the right side reenter the number as the most significant bits on the left side.

fun Long.rotateRight(bitCount: Int): Long
Common
JVM
JS
Native
1.0

run

Calls the specified function block and returns its result.

fun <R> run(block: () -> R): R

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 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 <R> runCatching(block: () -> R): Result<R>

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.4

setValue

An extension operator that allows delegating a mutable property of type V to a property reference to a mutable property of the same type V.

operator fun <V> KMutableProperty0<V>.setValue(
    thisRef: Any?,
    property: KProperty<*>,
    value: V)

An extension operator that allows delegating a mutable member or extension property of type V to a property reference to a member or extension mutable property of the same type V.

operator fun <T, V> KMutableProperty1<T, V>.setValue(
    thisRef: T,
    property: KProperty<*>,
    value: V)
Common
JVM
JS
Native
1.0

shortArrayOf

Returns an array containing the specified Short numbers.

fun shortArrayOf(vararg elements: Short): ShortArray
Common
JVM
JS
Native
1.4

stackTraceToString

Returns the detailed description of this throwable with its stack trace.

fun Throwable.stackTraceToString(): String
Common
JVM
JS
Native
1.2

suspend

fun <R> suspend(block: suspend () -> R): suspend () -> R

synchronized

Executes the given function block while holding the monitor of the given object lock.

JVM
1.0
fun <R> synchronized(lock: Any, block: () -> R): R
JS
1.1
fun <R> synchronized(lock: Any, block: () -> R): R
Common
JVM
JS
Native
1.4

takeHighestOneBit

Returns a number having a single bit set in the position of the most significant set bit of this Byte number, or zero, if this number is zero.

fun Byte.takeHighestOneBit(): Byte

Returns a number having a single bit set in the position of the most significant set bit of this Short number, or zero, if this number is zero.

fun Short.takeHighestOneBit(): Short

Returns a number having a single bit set in the position of the most significant set bit of this UInt number, or zero, if this number is zero.

fun UInt.takeHighestOneBit(): UInt

Returns a number having a single bit set in the position of the most significant set bit of this ULong number, or zero, if this number is zero.

fun ULong.takeHighestOneBit(): ULong

Returns a number having a single bit set in the position of the most significant set bit of this UByte number, or zero, if this number is zero.

fun UByte.takeHighestOneBit(): UByte

Returns a number having a single bit set in the position of the most significant set bit of this UShort number, or zero, if this number is zero.

fun UShort.takeHighestOneBit(): UShort

Returns a number having a single bit set in the position of the most significant set bit of this Int number, or zero, if this number is zero.

fun Int.takeHighestOneBit(): Int

Returns a number having a single bit set in the position of the most significant set bit of this Long number, or zero, if this number is zero.

fun Long.takeHighestOneBit(): Long
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.4

takeLowestOneBit

Returns a number having a single bit set in the position of the least significant set bit of this Byte number, or zero, if this number is zero.

fun Byte.takeLowestOneBit(): Byte

Returns a number having a single bit set in the position of the least significant set bit of this Short number, or zero, if this number is zero.

fun Short.takeLowestOneBit(): Short

Returns a number having a single bit set in the position of the least significant set bit of this UInt number, or zero, if this number is zero.

fun UInt.takeLowestOneBit(): UInt

Returns a number having a single bit set in the position of the least significant set bit of this ULong number, or zero, if this number is zero.

fun ULong.takeLowestOneBit(): ULong

Returns a number having a single bit set in the position of the least significant set bit of this UByte number, or zero, if this number is zero.

fun UByte.takeLowestOneBit(): UByte

Returns a number having a single bit set in the position of the least significant set bit of this UShort number, or zero, if this number is zero.

fun UShort.takeLowestOneBit(): UShort

Returns a number having a single bit set in the position of the least significant set bit of this Int number, or zero, if this number is zero.

fun Int.takeLowestOneBit(): Int

Returns a number having a single bit set in the position of the least significant set bit of this Long number, or zero, if this number is zero.

fun Long.takeLowestOneBit(): Long
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>
JVM
1.2

toBigDecimal

Returns the value of this Int number as a BigDecimal.

fun Int.toBigDecimal(): BigDecimal
fun Int.toBigDecimal(mathContext: MathContext): BigDecimal

Returns the value of this Long number as a BigDecimal.

fun Long.toBigDecimal(): BigDecimal
fun Long.toBigDecimal(mathContext: MathContext): BigDecimal

Returns the value of this Float number as a BigDecimal.

fun Float.toBigDecimal(): BigDecimal
fun Float.toBigDecimal(mathContext: MathContext): BigDecimal

Returns the value of this Double number as a BigDecimal.

fun Double.toBigDecimal(): BigDecimal
fun Double.toBigDecimal(mathContext: MathContext): BigDecimal
JVM
1.2

toBigInteger

Returns the value of this Int number as a BigInteger.

fun Int.toBigInteger(): BigInteger

Returns the value of this Long number as a BigInteger.

fun Long.toBigInteger(): BigInteger
Common
JVM
JS
Native
1.2

toBits

Returns a bit representation of the specified floating-point value as Long according to the IEEE 754 floating-point "double format" bit layout.

fun Double.toBits(): Long

Returns a bit representation of the specified floating-point value as Int according to the IEEE 754 floating-point "single format" bit layout.

fun Float.toBits(): Int
Common
JVM
JS
Native
1.0

TODO

Always throws NotImplementedError stating that operation is not implemented.

fun TODO(): Nothing
fun TODO(reason: String): Nothing
Common
JVM
JS
Native
1.0

toList

Converts this pair into a list.

fun <T> Pair<T, T>.toList(): List<T>

Converts this triple into a list.

fun <T> Triple<T, T, T>.toList(): List<T>
Common
JVM
JS
Native
1.2

toRawBits

Returns a bit representation of the specified floating-point value as Long according to the IEEE 754 floating-point "double format" bit layout, preserving NaN values exact layout.

fun Double.toRawBits(): Long

Returns a bit representation of the specified floating-point value as Int according to the IEEE 754 floating-point "single format" bit layout, preserving NaN values exact layout.

fun Float.toRawBits(): Int
Common
JVM
JS
Native
1.0

toString

Returns a string representation of the object. Can be called with a null receiver, in which case it returns the string "null".

fun Any?.toString(): String
Common
JVM
JS
Native
1.5

toUByte

Converts this Byte value to UByte.

fun Byte.toUByte(): UByte

Converts this Short value to UByte.

fun Short.toUByte(): UByte

Converts this Int value to UByte.

fun Int.toUByte(): UByte

Converts this Long value to UByte.

fun Long.toUByte(): UByte
Common
JVM
JS
Native
1.5

toUInt

Converts this Byte value to UInt.

fun Byte.toUInt(): UInt

Converts this Short value to UInt.

fun Short.toUInt(): UInt

Converts this Int value to UInt.

fun Int.toUInt(): UInt

Converts this Long value to UInt.

fun Long.toUInt(): UInt

Converts this Float value to UInt.

fun Float.toUInt(): UInt

Converts this Double value to UInt.

fun Double.toUInt(): UInt
Common
JVM
JS
Native
1.5

toULong

Converts this Byte value to ULong.

fun Byte.toULong(): ULong

Converts this Short value to ULong.

fun Short.toULong(): ULong

Converts this Int value to ULong.

fun Int.toULong(): ULong

Converts this Long value to ULong.

fun Long.toULong(): ULong

Converts this Float value to ULong.

fun Float.toULong(): ULong

Converts this Double value to ULong.

fun Double.toULong(): ULong
Common
JVM
JS
Native
1.5

toUShort

Converts this Byte value to UShort.

fun Byte.toUShort(): UShort

Converts this Short value to UShort.

fun Short.toUShort(): UShort

Converts this Int value to UShort.

fun Int.toUShort(): UShort

Converts this Long value to UShort.

fun Long.toUShort(): UShort
Common
JVM
JS
Native
1.3

UByteArray

Creates a new array of the specified size, where each element is calculated by calling the specified init function.

fun UByteArray(size: Int, init: (Int) -> UByte): UByteArray
Common
JVM
JS
Native
1.3

ubyteArrayOf

fun ubyteArrayOf(vararg elements: UByte): UByteArray
Common
JVM
JS
Native
1.3

UIntArray

Creates a new array of the specified size, where each element is calculated by calling the specified init function.

fun UIntArray(size: Int, init: (Int) -> UInt): UIntArray
Common
JVM
JS
Native
1.3

uintArrayOf

fun uintArrayOf(vararg elements: UInt): UIntArray
Common
JVM
JS
Native
1.3

ULongArray

Creates a new array of the specified size, where each element is calculated by calling the specified init function.

fun ULongArray(size: Int, init: (Int) -> ULong): ULongArray
Common
JVM
JS
Native
1.3

ulongArrayOf

fun ulongArrayOf(vararg elements: ULong): ULongArray

use

Executes the given block function on this resource and then closes it down correctly whether an exception is thrown or not.

Common
JS
Native
1.8
fun <T : AutoCloseable?, R> T.use(block: (T) -> R): R
JVM
JRE7
1.2
fun <T : AutoCloseable?, R> T.use(block: (T) -> R): R
Common
JVM
JS
Native
1.3

UShortArray

Creates a new array of the specified size, where each element is calculated by calling the specified init function.

fun UShortArray(
    size: Int,
    init: (Int) -> UShort
): UShortArray
Common
JVM
JS
Native
1.3

ushortArrayOf

fun ushortArrayOf(vararg elements: UShort): UShortArray
Common
JVM
JS
Native
1.0

with

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

fun <T, R> with(receiver: T, block: T.() -> R): R

Companion Object Functions

Common
JVM
JS
Native
1.2

fromBits

Returns the Double value corresponding to a given bit representation.

fun Double.Companion.fromBits(bits: Long): Double

Returns the Float value corresponding to a given bit representation.

fun Float.Companion.fromBits(bits: Int): Float