diff --git a/build.gradle.kts b/build.gradle.kts index 6b5a18820..f3e6e5a73 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. */ +import kotlinx.validation.ExperimentalBCVApi import kotlinx.kover.gradle.plugin.dsl.CoverageUnit import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile @@ -45,8 +46,10 @@ subprojects { } } +@OptIn(ExperimentalBCVApi::class) apiValidation { ignoredProjects.add("kotlinx-io-benchmarks") + klib.enabled = true } dependencies { diff --git a/bytestring/api/kotlinx-io-bytestring.klib.api b/bytestring/api/kotlinx-io-bytestring.klib.api new file mode 100644 index 000000000..f3ed71ffa --- /dev/null +++ b/bytestring/api/kotlinx-io-bytestring.klib.api @@ -0,0 +1,74 @@ +// Klib ABI Dump +// Targets: [androidNativeArm32, androidNativeArm64, androidNativeX64, androidNativeX86, iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final class kotlinx.io.bytestring/ByteString : kotlin/Comparable { // kotlinx.io.bytestring/ByteString|null[0] + constructor (kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io.bytestring/ByteString.|(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + final fun compareTo(kotlinx.io.bytestring/ByteString): kotlin/Int // kotlinx.io.bytestring/ByteString.compareTo|compareTo(kotlinx.io.bytestring.ByteString){}[0] + final fun copyInto(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =..., kotlin/Int =...) // kotlinx.io.bytestring/ByteString.copyInto|copyInto(kotlin.ByteArray;kotlin.Int;kotlin.Int;kotlin.Int){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // kotlinx.io.bytestring/ByteString.equals|equals(kotlin.Any?){}[0] + final fun get(kotlin/Int): kotlin/Byte // kotlinx.io.bytestring/ByteString.get|get(kotlin.Int){}[0] + final fun getBackingArrayReference(): kotlin/ByteArray // kotlinx.io.bytestring/ByteString.getBackingArrayReference|getBackingArrayReference(){}[0] + final fun hashCode(): kotlin/Int // kotlinx.io.bytestring/ByteString.hashCode|hashCode(){}[0] + final fun substring(kotlin/Int, kotlin/Int =...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/ByteString.substring|substring(kotlin.Int;kotlin.Int){}[0] + final fun toByteArray(kotlin/Int =..., kotlin/Int =...): kotlin/ByteArray // kotlinx.io.bytestring/ByteString.toByteArray|toByteArray(kotlin.Int;kotlin.Int){}[0] + final fun toString(): kotlin/String // kotlinx.io.bytestring/ByteString.toString|toString(){}[0] + final object Companion // kotlinx.io.bytestring/ByteString.Companion|null[0] + final val size // kotlinx.io.bytestring/ByteString.size|{}size[0] + final fun (): kotlin/Int // kotlinx.io.bytestring/ByteString.size.|(){}[0] +} +final class kotlinx.io.bytestring/ByteStringBuilder { // kotlinx.io.bytestring/ByteStringBuilder|null[0] + constructor (kotlin/Int =...) // kotlinx.io.bytestring/ByteStringBuilder.|(kotlin.Int){}[0] + final fun append(kotlin/Byte) // kotlinx.io.bytestring/ByteStringBuilder.append|append(kotlin.Byte){}[0] + final fun append(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io.bytestring/ByteStringBuilder.append|append(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + final fun toByteString(): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/ByteStringBuilder.toByteString|toByteString(){}[0] + final val capacity // kotlinx.io.bytestring/ByteStringBuilder.capacity|{}capacity[0] + final fun (): kotlin/Int // kotlinx.io.bytestring/ByteStringBuilder.capacity.|(){}[0] + final val size // kotlinx.io.bytestring/ByteStringBuilder.size|{}size[0] + final fun (): kotlin/Int // kotlinx.io.bytestring/ByteStringBuilder.size.|(){}[0] +} +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/decode(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...): kotlin/ByteArray // kotlinx.io.bytestring/decode|decode@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/decodeIntoByteArray(kotlinx.io.bytestring/ByteString, kotlin/ByteArray, kotlin/Int =..., kotlin/Int =..., kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/decodeIntoByteArray|decodeIntoByteArray@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.ByteArray;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/decodeToByteString(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/decodeToByteString|decodeToByteString@kotlin.io.encoding.Base64(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/decodeToByteString(kotlin/CharSequence, kotlin/Int =..., kotlin/Int =...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/decodeToByteString|decodeToByteString@kotlin.io.encoding.Base64(kotlin.CharSequence;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/decodeToByteString(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/decodeToByteString|decodeToByteString@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/encode(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...): kotlin/String // kotlinx.io.bytestring/encode|encode@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/encodeIntoByteArray(kotlinx.io.bytestring/ByteString, kotlin/ByteArray, kotlin/Int =..., kotlin/Int =..., kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/encodeIntoByteArray|encodeIntoByteArray@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.ByteArray;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin.io.encoding/Base64).kotlinx.io.bytestring/encodeToByteArray(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...): kotlin/ByteArray // kotlinx.io.bytestring/encodeToByteArray|encodeToByteArray@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0] +final fun (kotlin/String).kotlinx.io.bytestring/encodeToByteString(): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/encodeToByteString|encodeToByteString@kotlin.String(){}[0] +final fun (kotlin/String).kotlinx.io.bytestring/hexToByteString(kotlin.text/HexFormat =...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/hexToByteString|hexToByteString@kotlin.String(kotlin.text.HexFormat){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/contentEquals(kotlin/ByteArray): kotlin/Boolean // kotlinx.io.bytestring/contentEquals|contentEquals@kotlinx.io.bytestring.ByteString(kotlin.ByteArray){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/decodeToString(): kotlin/String // kotlinx.io.bytestring/decodeToString|decodeToString@kotlinx.io.bytestring.ByteString(){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/endsWith(kotlin/ByteArray): kotlin/Boolean // kotlinx.io.bytestring/endsWith|endsWith@kotlinx.io.bytestring.ByteString(kotlin.ByteArray){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/endsWith(kotlinx.io.bytestring/ByteString): kotlin/Boolean // kotlinx.io.bytestring/endsWith|endsWith@kotlinx.io.bytestring.ByteString(kotlinx.io.bytestring.ByteString){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/indexOf(kotlin/Byte, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/indexOf|indexOf@kotlinx.io.bytestring.ByteString(kotlin.Byte;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/indexOf(kotlin/ByteArray, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/indexOf|indexOf@kotlinx.io.bytestring.ByteString(kotlin.ByteArray;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/indexOf|indexOf@kotlinx.io.bytestring.ByteString(kotlinx.io.bytestring.ByteString;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/isEmpty(): kotlin/Boolean // kotlinx.io.bytestring/isEmpty|isEmpty@kotlinx.io.bytestring.ByteString(){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/isNotEmpty(): kotlin/Boolean // kotlinx.io.bytestring/isNotEmpty|isNotEmpty@kotlinx.io.bytestring.ByteString(){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/lastIndexOf(kotlin/Byte, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/lastIndexOf|lastIndexOf@kotlinx.io.bytestring.ByteString(kotlin.Byte;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/lastIndexOf(kotlin/ByteArray, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/lastIndexOf|lastIndexOf@kotlinx.io.bytestring.ByteString(kotlin.ByteArray;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/lastIndexOf(kotlinx.io.bytestring/ByteString, kotlin/Int =...): kotlin/Int // kotlinx.io.bytestring/lastIndexOf|lastIndexOf@kotlinx.io.bytestring.ByteString(kotlinx.io.bytestring.ByteString;kotlin.Int){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/startsWith(kotlin/ByteArray): kotlin/Boolean // kotlinx.io.bytestring/startsWith|startsWith@kotlinx.io.bytestring.ByteString(kotlin.ByteArray){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/startsWith(kotlinx.io.bytestring/ByteString): kotlin/Boolean // kotlinx.io.bytestring/startsWith|startsWith@kotlinx.io.bytestring.ByteString(kotlinx.io.bytestring.ByteString){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/toHexString(kotlin.text/HexFormat =...): kotlin/String // kotlinx.io.bytestring/toHexString|toHexString@kotlinx.io.bytestring.ByteString(kotlin.text.HexFormat){}[0] +final fun (kotlinx.io.bytestring/ByteString).kotlinx.io.bytestring/toHexString(kotlin/Int =..., kotlin/Int =..., kotlin.text/HexFormat =...): kotlin/String // kotlinx.io.bytestring/toHexString|toHexString@kotlinx.io.bytestring.ByteString(kotlin.Int;kotlin.Int;kotlin.text.HexFormat){}[0] +final fun (kotlinx.io.bytestring/ByteStringBuilder).kotlinx.io.bytestring/append(kotlin/ByteArray...) // kotlinx.io.bytestring/append|append@kotlinx.io.bytestring.ByteStringBuilder(kotlin.ByteArray...){}[0] +final fun (kotlinx.io.bytestring/ByteStringBuilder).kotlinx.io.bytestring/append(kotlin/UByte) // kotlinx.io.bytestring/append|append@kotlinx.io.bytestring.ByteStringBuilder(kotlin.UByte){}[0] +final fun (kotlinx.io.bytestring/ByteStringBuilder).kotlinx.io.bytestring/append(kotlinx.io.bytestring/ByteString) // kotlinx.io.bytestring/append|append@kotlinx.io.bytestring.ByteStringBuilder(kotlinx.io.bytestring.ByteString){}[0] +final fun <#A: kotlin.text/Appendable> (kotlin.io.encoding/Base64).kotlinx.io.bytestring/encodeToAppendable(kotlinx.io.bytestring/ByteString, #A, kotlin/Int =..., kotlin/Int =...): #A // kotlinx.io.bytestring/encodeToAppendable|encodeToAppendable@kotlin.io.encoding.Base64(kotlinx.io.bytestring.ByteString;0:0;kotlin.Int;kotlin.Int){0ยง}[0] +final fun kotlinx.io.bytestring/ByteString(kotlin/ByteArray...): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/ByteString|ByteString(kotlin.ByteArray...){}[0] +final inline fun kotlinx.io.bytestring/buildByteString(kotlin/Int =..., kotlin/Function1): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring/buildByteString|buildByteString(kotlin.Int;kotlin.Function1){}[0] +final object kotlinx.io.bytestring.unsafe/UnsafeByteStringOperations { // kotlinx.io.bytestring.unsafe/UnsafeByteStringOperations|null[0] + final fun wrapUnsafe(kotlin/ByteArray): kotlinx.io.bytestring/ByteString // kotlinx.io.bytestring.unsafe/UnsafeByteStringOperations.wrapUnsafe|wrapUnsafe(kotlin.ByteArray){}[0] + final inline fun withByteArrayUnsafe(kotlinx.io.bytestring/ByteString, kotlin/Function1) // kotlinx.io.bytestring.unsafe/UnsafeByteStringOperations.withByteArrayUnsafe|withByteArrayUnsafe(kotlinx.io.bytestring.ByteString;kotlin.Function1){}[0] +} +final val kotlinx.io.bytestring/indices // kotlinx.io.bytestring/indices|@kotlinx.io.bytestring.ByteString{}indices[0] + final fun (kotlinx.io.bytestring/ByteString).(): kotlin.ranges/IntRange // kotlinx.io.bytestring/indices.|@kotlinx.io.bytestring.ByteString(){}[0] +open annotation class kotlinx.io.bytestring.unsafe/UnsafeByteStringApi : kotlin/Annotation { // kotlinx.io.bytestring.unsafe/UnsafeByteStringApi|null[0] + constructor () // kotlinx.io.bytestring.unsafe/UnsafeByteStringApi.|(){}[0] +} diff --git a/core/api/kotlinx-io-core.klib.api b/core/api/kotlinx-io-core.klib.api new file mode 100644 index 000000000..cca10fdb2 --- /dev/null +++ b/core/api/kotlinx-io-core.klib.api @@ -0,0 +1,207 @@ +// Klib ABI Dump +// Targets: [androidNativeArm32, androidNativeArm64, androidNativeX64, androidNativeX86, iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Alias: apple => [iosArm64, iosSimulatorArm64, iosX64, macosArm64, macosX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +abstract interface kotlinx.io/RawSink : kotlin/AutoCloseable { // kotlinx.io/RawSink|null[0] + abstract fun close() // kotlinx.io/RawSink.close|close(){}[0] + abstract fun flush() // kotlinx.io/RawSink.flush|flush(){}[0] + abstract fun write(kotlinx.io/Buffer, kotlin/Long) // kotlinx.io/RawSink.write|write(kotlinx.io.Buffer;kotlin.Long){}[0] +} +abstract interface kotlinx.io/RawSource : kotlin/AutoCloseable { // kotlinx.io/RawSource|null[0] + abstract fun close() // kotlinx.io/RawSource.close|close(){}[0] + abstract fun readAtMostTo(kotlinx.io/Buffer, kotlin/Long): kotlin/Long // kotlinx.io/RawSource.readAtMostTo|readAtMostTo(kotlinx.io.Buffer;kotlin.Long){}[0] +} +final class kotlinx.io.files/FileMetadata { // kotlinx.io.files/FileMetadata|null[0] + constructor (kotlin/Boolean =..., kotlin/Boolean =..., kotlin/Long =...) // kotlinx.io.files/FileMetadata.|(kotlin.Boolean;kotlin.Boolean;kotlin.Long){}[0] + final val isDirectory // kotlinx.io.files/FileMetadata.isDirectory|{}isDirectory[0] + final fun (): kotlin/Boolean // kotlinx.io.files/FileMetadata.isDirectory.|(){}[0] + final val isRegularFile // kotlinx.io.files/FileMetadata.isRegularFile|{}isRegularFile[0] + final fun (): kotlin/Boolean // kotlinx.io.files/FileMetadata.isRegularFile.|(){}[0] + final val size // kotlinx.io.files/FileMetadata.size|{}size[0] + final fun (): kotlin/Long // kotlinx.io.files/FileMetadata.size.|(){}[0] +} +final class kotlinx.io.files/Path { // kotlinx.io.files/Path|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // kotlinx.io.files/Path.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // kotlinx.io.files/Path.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // kotlinx.io.files/Path.toString|toString(){}[0] + final val isAbsolute // kotlinx.io.files/Path.isAbsolute|{}isAbsolute[0] + final fun (): kotlin/Boolean // kotlinx.io.files/Path.isAbsolute.|(){}[0] + final val name // kotlinx.io.files/Path.name|{}name[0] + final fun (): kotlin/String // kotlinx.io.files/Path.name.|(){}[0] + final val parent // kotlinx.io.files/Path.parent|{}parent[0] + final fun (): kotlinx.io.files/Path? // kotlinx.io.files/Path.parent.|(){}[0] +} +final class kotlinx.io/Buffer : kotlinx.io/Sink, kotlinx.io/Source { // kotlinx.io/Buffer|null[0] + constructor () // kotlinx.io/Buffer.|(){}[0] + final fun clear() // kotlinx.io/Buffer.clear|clear(){}[0] + final fun close() // kotlinx.io/Buffer.close|close(){}[0] + final fun copy(): kotlinx.io/Buffer // kotlinx.io/Buffer.copy|copy(){}[0] + final fun copyTo(kotlinx.io/Buffer, kotlin/Long =..., kotlin/Long =...) // kotlinx.io/Buffer.copyTo|copyTo(kotlinx.io.Buffer;kotlin.Long;kotlin.Long){}[0] + final fun emit() // kotlinx.io/Buffer.emit|emit(){}[0] + final fun exhausted(): kotlin/Boolean // kotlinx.io/Buffer.exhausted|exhausted(){}[0] + final fun flush() // kotlinx.io/Buffer.flush|flush(){}[0] + final fun get(kotlin/Long): kotlin/Byte // kotlinx.io/Buffer.get|get(kotlin.Long){}[0] + final fun hintEmit() // kotlinx.io/Buffer.hintEmit|hintEmit(){}[0] + final fun peek(): kotlinx.io/Source // kotlinx.io/Buffer.peek|peek(){}[0] + final fun readAtMostTo(kotlin/ByteArray, kotlin/Int, kotlin/Int): kotlin/Int // kotlinx.io/Buffer.readAtMostTo|readAtMostTo(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + final fun readAtMostTo(kotlinx.io/Buffer, kotlin/Long): kotlin/Long // kotlinx.io/Buffer.readAtMostTo|readAtMostTo(kotlinx.io.Buffer;kotlin.Long){}[0] + final fun readByte(): kotlin/Byte // kotlinx.io/Buffer.readByte|readByte(){}[0] + final fun readInt(): kotlin/Int // kotlinx.io/Buffer.readInt|readInt(){}[0] + final fun readLong(): kotlin/Long // kotlinx.io/Buffer.readLong|readLong(){}[0] + final fun readShort(): kotlin/Short // kotlinx.io/Buffer.readShort|readShort(){}[0] + final fun readTo(kotlinx.io/RawSink, kotlin/Long) // kotlinx.io/Buffer.readTo|readTo(kotlinx.io.RawSink;kotlin.Long){}[0] + final fun request(kotlin/Long): kotlin/Boolean // kotlinx.io/Buffer.request|request(kotlin.Long){}[0] + final fun require(kotlin/Long) // kotlinx.io/Buffer.require|require(kotlin.Long){}[0] + final fun skip(kotlin/Long) // kotlinx.io/Buffer.skip|skip(kotlin.Long){}[0] + final fun toString(): kotlin/String // kotlinx.io/Buffer.toString|toString(){}[0] + final fun transferFrom(kotlinx.io/RawSource): kotlin/Long // kotlinx.io/Buffer.transferFrom|transferFrom(kotlinx.io.RawSource){}[0] + final fun transferTo(kotlinx.io/RawSink): kotlin/Long // kotlinx.io/Buffer.transferTo|transferTo(kotlinx.io.RawSink){}[0] + final fun write(kotlin/ByteArray, kotlin/Int, kotlin/Int) // kotlinx.io/Buffer.write|write(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + final fun write(kotlinx.io/Buffer, kotlin/Long) // kotlinx.io/Buffer.write|write(kotlinx.io.Buffer;kotlin.Long){}[0] + final fun write(kotlinx.io/RawSource, kotlin/Long) // kotlinx.io/Buffer.write|write(kotlinx.io.RawSource;kotlin.Long){}[0] + final fun writeByte(kotlin/Byte) // kotlinx.io/Buffer.writeByte|writeByte(kotlin.Byte){}[0] + final fun writeInt(kotlin/Int) // kotlinx.io/Buffer.writeInt|writeInt(kotlin.Int){}[0] + final fun writeLong(kotlin/Long) // kotlinx.io/Buffer.writeLong|writeLong(kotlin.Long){}[0] + final fun writeShort(kotlin/Short) // kotlinx.io/Buffer.writeShort|writeShort(kotlin.Short){}[0] + final val buffer // kotlinx.io/Buffer.buffer|{}buffer[0] + final fun (): kotlinx.io/Buffer // kotlinx.io/Buffer.buffer.|(){}[0] + final var size // kotlinx.io/Buffer.size|{}size[0] + final fun (): kotlin/Long // kotlinx.io/Buffer.size.|(){}[0] +} +final fun (kotlinx.io.files/Path).kotlinx.io.files/sink(): kotlinx.io/Sink // kotlinx.io.files/sink|sink@kotlinx.io.files.Path(){}[0] +final fun (kotlinx.io.files/Path).kotlinx.io.files/source(): kotlinx.io/Source // kotlinx.io.files/source|source@kotlinx.io.files.Path(){}[0] +final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long =..., kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|indexOf@kotlinx.io.Buffer(kotlin.Byte;kotlin.Long;kotlin.Long){}[0] +final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|indexOf@kotlinx.io.Buffer(kotlinx.io.bytestring.ByteString;kotlin.Long){}[0] +final fun (kotlinx.io/Buffer).kotlinx.io/readString(): kotlin/String // kotlinx.io/readString|readString@kotlinx.io.Buffer(){}[0] +final fun (kotlinx.io/Buffer).kotlinx.io/snapshot(): kotlinx.io.bytestring/ByteString // kotlinx.io/snapshot|snapshot@kotlinx.io.Buffer(){}[0] +final fun (kotlinx.io/RawSink).kotlinx.io/buffered(): kotlinx.io/Sink // kotlinx.io/buffered|buffered@kotlinx.io.RawSink(){}[0] +final fun (kotlinx.io/RawSource).kotlinx.io/buffered(): kotlinx.io/Source // kotlinx.io/buffered|buffered@kotlinx.io.RawSource(){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/write(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/write|write@kotlinx.io.Sink(kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeDecimalLong(kotlin/Long) // kotlinx.io/writeDecimalLong|writeDecimalLong@kotlinx.io.Sink(kotlin.Long){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeDouble(kotlin/Double) // kotlinx.io/writeDouble|writeDouble@kotlinx.io.Sink(kotlin.Double){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeDoubleLe(kotlin/Double) // kotlinx.io/writeDoubleLe|writeDoubleLe@kotlinx.io.Sink(kotlin.Double){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeFloat(kotlin/Float) // kotlinx.io/writeFloat|writeFloat@kotlinx.io.Sink(kotlin.Float){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeFloatLe(kotlin/Float) // kotlinx.io/writeFloatLe|writeFloatLe@kotlinx.io.Sink(kotlin.Float){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeHexadecimalUnsignedLong(kotlin/Long) // kotlinx.io/writeHexadecimalUnsignedLong|writeHexadecimalUnsignedLong@kotlinx.io.Sink(kotlin.Long){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeIntLe(kotlin/Int) // kotlinx.io/writeIntLe|writeIntLe@kotlinx.io.Sink(kotlin.Int){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeLongLe(kotlin/Long) // kotlinx.io/writeLongLe|writeLongLe@kotlinx.io.Sink(kotlin.Long){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeShortLe(kotlin/Short) // kotlinx.io/writeShortLe|writeShortLe@kotlinx.io.Sink(kotlin.Short){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeString(kotlin/String, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/writeString|writeString@kotlinx.io.Sink(kotlin.String;kotlin.Int;kotlin.Int){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeUByte(kotlin/UByte) // kotlinx.io/writeUByte|writeUByte@kotlinx.io.Sink(kotlin.UByte){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeUInt(kotlin/UInt) // kotlinx.io/writeUInt|writeUInt@kotlinx.io.Sink(kotlin.UInt){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeUIntLe(kotlin/UInt) // kotlinx.io/writeUIntLe|writeUIntLe@kotlinx.io.Sink(kotlin.UInt){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeULong(kotlin/ULong) // kotlinx.io/writeULong|writeULong@kotlinx.io.Sink(kotlin.ULong){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeULongLe(kotlin/ULong) // kotlinx.io/writeULongLe|writeULongLe@kotlinx.io.Sink(kotlin.ULong){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeUShort(kotlin/UShort) // kotlinx.io/writeUShort|writeUShort@kotlinx.io.Sink(kotlin.UShort){}[0] +final fun (kotlinx.io/Sink).kotlinx.io/writeUShortLe(kotlin/UShort) // kotlinx.io/writeUShortLe|writeUShortLe@kotlinx.io.Sink(kotlin.UShort){}[0] +final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long =..., kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|indexOf@kotlinx.io.Source(kotlin.Byte;kotlin.Long;kotlin.Long){}[0] +final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|indexOf@kotlinx.io.Source(kotlinx.io.bytestring.ByteString;kotlin.Long){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readByteArray(): kotlin/ByteArray // kotlinx.io/readByteArray|readByteArray@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readByteArray(kotlin/Int): kotlin/ByteArray // kotlinx.io/readByteArray|readByteArray@kotlinx.io.Source(kotlin.Int){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readByteString(): kotlinx.io.bytestring/ByteString // kotlinx.io/readByteString|readByteString@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readByteString(kotlin/Int): kotlinx.io.bytestring/ByteString // kotlinx.io/readByteString|readByteString@kotlinx.io.Source(kotlin.Int){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readDecimalLong(): kotlin/Long // kotlinx.io/readDecimalLong|readDecimalLong@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readDouble(): kotlin/Double // kotlinx.io/readDouble|readDouble@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readDoubleLe(): kotlin/Double // kotlinx.io/readDoubleLe|readDoubleLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readFloat(): kotlin/Float // kotlinx.io/readFloat|readFloat@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readFloatLe(): kotlin/Float // kotlinx.io/readFloatLe|readFloatLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readHexadecimalUnsignedLong(): kotlin/Long // kotlinx.io/readHexadecimalUnsignedLong|readHexadecimalUnsignedLong@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readIntLe(): kotlin/Int // kotlinx.io/readIntLe|readIntLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readLine(): kotlin/String? // kotlinx.io/readLine|readLine@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readLineStrict(kotlin/Long =...): kotlin/String // kotlinx.io/readLineStrict|readLineStrict@kotlinx.io.Source(kotlin.Long){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readLongLe(): kotlin/Long // kotlinx.io/readLongLe|readLongLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readShortLe(): kotlin/Short // kotlinx.io/readShortLe|readShortLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readString(): kotlin/String // kotlinx.io/readString|readString@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readString(kotlin/Long): kotlin/String // kotlinx.io/readString|readString@kotlinx.io.Source(kotlin.Long){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readTo(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/readTo|readTo@kotlinx.io.Source(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readUByte(): kotlin/UByte // kotlinx.io/readUByte|readUByte@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readUInt(): kotlin/UInt // kotlinx.io/readUInt|readUInt@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readUIntLe(): kotlin/UInt // kotlinx.io/readUIntLe|readUIntLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readULong(): kotlin/ULong // kotlinx.io/readULong|readULong@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readULongLe(): kotlin/ULong // kotlinx.io/readULongLe|readULongLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readUShort(): kotlin/UShort // kotlinx.io/readUShort|readUShort@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/readUShortLe(): kotlin/UShort // kotlinx.io/readUShortLe|readUShortLe@kotlinx.io.Source(){}[0] +final fun (kotlinx.io/Source).kotlinx.io/startsWith(kotlin/Byte): kotlin/Boolean // kotlinx.io/startsWith|startsWith@kotlinx.io.Source(kotlin.Byte){}[0] +final fun kotlinx.io.files/Path(kotlin/String): kotlinx.io.files/Path // kotlinx.io.files/Path|Path(kotlin.String){}[0] +final fun kotlinx.io.files/Path(kotlin/String, kotlin/Array...): kotlinx.io.files/Path // kotlinx.io.files/Path|Path(kotlin.String;kotlin.Array...){}[0] +final fun kotlinx.io.files/Path(kotlinx.io.files/Path, kotlin/Array...): kotlinx.io.files/Path // kotlinx.io.files/Path|Path(kotlinx.io.files.Path;kotlin.Array...){}[0] +final fun kotlinx.io/discardingSink(): kotlinx.io/RawSink // kotlinx.io/discardingSink|discardingSink(){}[0] +final inline fun (kotlinx.io/Sink).kotlinx.io/writeToInternalBuffer(kotlin/Function1) // kotlinx.io/writeToInternalBuffer|writeToInternalBuffer@kotlinx.io.Sink(kotlin.Function1){}[0] +final val kotlinx.io.files/SystemFileSystem // kotlinx.io.files/SystemFileSystem|{}SystemFileSystem[0] + final fun (): kotlinx.io.files/FileSystem // kotlinx.io.files/SystemFileSystem.|(){}[0] +final val kotlinx.io.files/SystemPathSeparator // kotlinx.io.files/SystemPathSeparator|(){}[0] + final fun (): kotlin/Char // kotlinx.io.files/SystemPathSeparator.|(){}[0] +final val kotlinx.io.files/SystemTemporaryDirectory // kotlinx.io.files/SystemTemporaryDirectory|{}SystemTemporaryDirectory[0] + final fun (): kotlinx.io.files/Path // kotlinx.io.files/SystemTemporaryDirectory.|(){}[0] +open annotation class kotlinx.io/DelicateIoApi : kotlin/Annotation { // kotlinx.io/DelicateIoApi|null[0] + constructor () // kotlinx.io/DelicateIoApi.|(){}[0] +} +open annotation class kotlinx.io/InternalIoApi : kotlin/Annotation { // kotlinx.io/InternalIoApi|null[0] + constructor () // kotlinx.io/InternalIoApi.|(){}[0] +} +open class kotlinx.io.files/FileNotFoundException : kotlinx.io/IOException { // kotlinx.io.files/FileNotFoundException|null[0] + constructor (kotlin/String?) // kotlinx.io.files/FileNotFoundException.|(kotlin.String?){}[0] +} +open class kotlinx.io/EOFException : kotlinx.io/IOException { // kotlinx.io/EOFException|null[0] + constructor () // kotlinx.io/EOFException.|(){}[0] + constructor (kotlin/String?) // kotlinx.io/EOFException.|(kotlin.String?){}[0] +} +open class kotlinx.io/IOException : kotlin/Exception { // kotlinx.io/IOException|null[0] + constructor () // kotlinx.io/IOException.|(){}[0] + constructor (kotlin/String?) // kotlinx.io/IOException.|(kotlin.String?){}[0] + constructor (kotlin/String?, kotlin/Throwable?) // kotlinx.io/IOException.|(kotlin.String?;kotlin.Throwable?){}[0] + constructor (kotlin/Throwable?) // kotlinx.io/IOException.|(kotlin.Throwable?){}[0] +} +sealed interface kotlinx.io.files/FileSystem { // kotlinx.io.files/FileSystem|null[0] + abstract fun atomicMove(kotlinx.io.files/Path, kotlinx.io.files/Path) // kotlinx.io.files/FileSystem.atomicMove|atomicMove(kotlinx.io.files.Path;kotlinx.io.files.Path){}[0] + abstract fun createDirectories(kotlinx.io.files/Path, kotlin/Boolean =...) // kotlinx.io.files/FileSystem.createDirectories|createDirectories(kotlinx.io.files.Path;kotlin.Boolean){}[0] + abstract fun delete(kotlinx.io.files/Path, kotlin/Boolean =...) // kotlinx.io.files/FileSystem.delete|delete(kotlinx.io.files.Path;kotlin.Boolean){}[0] + abstract fun exists(kotlinx.io.files/Path): kotlin/Boolean // kotlinx.io.files/FileSystem.exists|exists(kotlinx.io.files.Path){}[0] + abstract fun metadataOrNull(kotlinx.io.files/Path): kotlinx.io.files/FileMetadata? // kotlinx.io.files/FileSystem.metadataOrNull|metadataOrNull(kotlinx.io.files.Path){}[0] + abstract fun resolve(kotlinx.io.files/Path): kotlinx.io.files/Path // kotlinx.io.files/FileSystem.resolve|resolve(kotlinx.io.files.Path){}[0] + abstract fun sink(kotlinx.io.files/Path, kotlin/Boolean =...): kotlinx.io/RawSink // kotlinx.io.files/FileSystem.sink|sink(kotlinx.io.files.Path;kotlin.Boolean){}[0] + abstract fun source(kotlinx.io.files/Path): kotlinx.io/RawSource // kotlinx.io.files/FileSystem.source|source(kotlinx.io.files.Path){}[0] +} +sealed interface kotlinx.io/Sink : kotlinx.io/RawSink { // kotlinx.io/Sink|null[0] + abstract fun emit() // kotlinx.io/Sink.emit|emit(){}[0] + abstract fun flush() // kotlinx.io/Sink.flush|flush(){}[0] + abstract fun hintEmit() // kotlinx.io/Sink.hintEmit|hintEmit(){}[0] + abstract fun transferFrom(kotlinx.io/RawSource): kotlin/Long // kotlinx.io/Sink.transferFrom|transferFrom(kotlinx.io.RawSource){}[0] + abstract fun write(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/Sink.write|write(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + abstract fun write(kotlinx.io/RawSource, kotlin/Long) // kotlinx.io/Sink.write|write(kotlinx.io.RawSource;kotlin.Long){}[0] + abstract fun writeByte(kotlin/Byte) // kotlinx.io/Sink.writeByte|writeByte(kotlin.Byte){}[0] + abstract fun writeInt(kotlin/Int) // kotlinx.io/Sink.writeInt|writeInt(kotlin.Int){}[0] + abstract fun writeLong(kotlin/Long) // kotlinx.io/Sink.writeLong|writeLong(kotlin.Long){}[0] + abstract fun writeShort(kotlin/Short) // kotlinx.io/Sink.writeShort|writeShort(kotlin.Short){}[0] + abstract val buffer // kotlinx.io/Sink.buffer|{}buffer[0] + abstract fun (): kotlinx.io/Buffer // kotlinx.io/Sink.buffer.|(){}[0] +} +sealed interface kotlinx.io/Source : kotlinx.io/RawSource { // kotlinx.io/Source|null[0] + abstract fun exhausted(): kotlin/Boolean // kotlinx.io/Source.exhausted|exhausted(){}[0] + abstract fun peek(): kotlinx.io/Source // kotlinx.io/Source.peek|peek(){}[0] + abstract fun readAtMostTo(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...): kotlin/Int // kotlinx.io/Source.readAtMostTo|readAtMostTo(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0] + abstract fun readByte(): kotlin/Byte // kotlinx.io/Source.readByte|readByte(){}[0] + abstract fun readInt(): kotlin/Int // kotlinx.io/Source.readInt|readInt(){}[0] + abstract fun readLong(): kotlin/Long // kotlinx.io/Source.readLong|readLong(){}[0] + abstract fun readShort(): kotlin/Short // kotlinx.io/Source.readShort|readShort(){}[0] + abstract fun readTo(kotlinx.io/RawSink, kotlin/Long) // kotlinx.io/Source.readTo|readTo(kotlinx.io.RawSink;kotlin.Long){}[0] + abstract fun request(kotlin/Long): kotlin/Boolean // kotlinx.io/Source.request|request(kotlin.Long){}[0] + abstract fun require(kotlin/Long) // kotlinx.io/Source.require|require(kotlin.Long){}[0] + abstract fun skip(kotlin/Long) // kotlinx.io/Source.skip|skip(kotlin.Long){}[0] + abstract fun transferTo(kotlinx.io/RawSink): kotlin/Long // kotlinx.io/Source.transferTo|transferTo(kotlinx.io.RawSink){}[0] + abstract val buffer // kotlinx.io/Source.buffer|{}buffer[0] + abstract fun (): kotlinx.io/Buffer // kotlinx.io/Source.buffer.|(){}[0] +} +// Targets: [apple] +final fun (kotlinx.io/Sink).kotlinx.io/asNSOutputStream(): platform.Foundation/NSOutputStream // kotlinx.io/asNSOutputStream|asNSOutputStream@kotlinx.io.Sink(){}[0] +// Targets: [apple] +final fun (kotlinx.io/Source).kotlinx.io/asNSInputStream(): platform.Foundation/NSInputStream // kotlinx.io/asNSInputStream|asNSInputStream@kotlinx.io.Source(){}[0] +// Targets: [apple] +final fun (platform.Foundation/NSInputStream).kotlinx.io/asSource(): kotlinx.io/RawSource // kotlinx.io/asSource|asSource@platform.Foundation.NSInputStream(){}[0] +// Targets: [apple] +final fun (platform.Foundation/NSOutputStream).kotlinx.io/asSink(): kotlinx.io/RawSink // kotlinx.io/asSink|asSink@platform.Foundation.NSOutputStream(){}[0] diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6936be673..f767a3a61 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ kotlin = "1.9.22" java = "8" dokka = "1.9.20" kover = "0.8.0-Beta2" -bcv = "0.13.2" +bcv = "0.15.0-Beta.2" benchmark = "0.4.10" jmh = "1.37" coroutines = "1.7.3"