Skip to content

Commit 6c4dbdf

Browse files
fzhinkinwhyoleg
andauthored
Update Kotlin to 2.0 (#327)
* Update Kotlin to 2.0.0 * Cleanup build scripts * Get rid of unnecessary opt-ins * Remove no longer needed AutoCloseableAlias * Fixed a path to directory with binaries to publish --------- Co-authored-by: Oleg Yukhnevich <[email protected]>
1 parent 5acce16 commit 6c4dbdf

26 files changed

+111
-171
lines changed

build-logic/src/main/kotlin/kotlinx/io/conventions/kotlinx-io-dokka.gradle.kts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/*
2-
* Copyright 2017-2023 JetBrains s.r.o. and respective authors and developers.
2+
* Copyright 2017-2024 JetBrains s.r.o. and respective authors and developers.
33
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENCE file.
44
*/
55

6-
import org.jetbrains.dokka.gradle.*
7-
import java.net.*
6+
import org.jetbrains.dokka.gradle.DokkaTaskPartial
7+
import java.net.URL
88

99
plugins {
1010
id("org.jetbrains.dokka")

build-logic/src/main/kotlin/kotlinx/io/conventions/kotlinx-io-multiplatform.gradle.kts

+3-29
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
/*
2-
* Copyright 2017-2023 JetBrains s.r.o. and respective authors and developers.
2+
* Copyright 2017-2024 JetBrains s.r.o. and respective authors and developers.
33
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENCE file.
44
*/
55

66
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
77
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
8-
import org.jetbrains.kotlin.gradle.plugin.KotlinHierarchyBuilder
9-
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
108
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
11-
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
129
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
13-
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
14-
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
1510
import kotlin.jvm.optionals.getOrNull
1611

1712
plugins {
@@ -50,9 +45,9 @@ kotlin {
5045

5146
js {
5247
browser {
53-
testTask(Action {
48+
testTask {
5449
filter.setExcludePatterns("*SmokeFileTest*")
55-
})
50+
}
5651
}
5752
}
5853

@@ -111,23 +106,6 @@ kotlin {
111106
}
112107
}
113108

114-
// will be available in KGP 2.0
115-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
116-
fun KotlinHierarchyBuilder.withWasmJs(): Unit = withCompilations {
117-
val target = it.target
118-
target.platformType == KotlinPlatformType.wasm &&
119-
target is KotlinJsIrTarget &&
120-
target.wasmTargetType == KotlinWasmTargetType.JS
121-
}
122-
123-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
124-
fun KotlinHierarchyBuilder.withWasmWasi(): Unit = withCompilations {
125-
val target = it.target
126-
target.platformType == KotlinPlatformType.wasm &&
127-
target is KotlinJsIrTarget &&
128-
target.wasmTargetType == KotlinWasmTargetType.WASI
129-
}
130-
131109
fun KotlinSourceSet.configureSourceSet() {
132110
val srcDir = if (name.endsWith("Main")) "src" else "test"
133111
val platform = name.dropLast(4)
@@ -172,7 +150,3 @@ private fun KotlinMultiplatformExtension.nativeTargets() {
172150

173151
mingwX64()
174152
}
175-
176-
rootProject.the<NodeJsRootExtension>().apply {
177-
nodeVersion = "22.1.0"
178-
}

build-logic/src/main/kotlin/kotlinx/io/conventions/kotlinx-io-publish.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ fun RepositoryHandler.configureMavenPublication( project: Project) {
9292
}
9393
}
9494

95-
// Something that's easy to "clean" for development, not mavenLocal
96-
maven("${project.rootProject.buildDir}/repo") {
95+
// Something that's easy to "clean" for development not mavenLocal
96+
maven(project.rootProject.layout.buildDirectory.dir("repo")) {
9797
name = "buildRepo"
9898
}
9999
}

build.gradle.kts

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@
33
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
44
*/
55

6-
import kotlinx.validation.ExperimentalBCVApi
76
import kotlinx.kover.gradle.plugin.dsl.CoverageUnit
8-
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile
9-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
10-
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
7+
import kotlinx.validation.ExperimentalBCVApi
118

129
plugins {
1310
id("kotlinx-io-publish") apply false

bytestring/api/kotlinx-io-bytestring.klib.api

+25-25
Large diffs are not rendered by default.

bytestring/native/src/-PlatformNative.kt

-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ package kotlinx.io.bytestring
66

77
import kotlin.concurrent.*
88

9-
@Suppress("ACTUAL_WITHOUT_EXPECT") // This suppress can be removed in 2.0: KT-59355
109
internal actual typealias BenignDataRace = Volatile

core/androidNative/src/files/FileSystemAndroid.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ internal actual fun basenameImpl(path: String): String {
2727

2828
internal actual fun isAbsoluteImpl(path: String): Boolean = path.startsWith('/')
2929

30-
@OptIn(ExperimentalForeignApi::class, ExperimentalStdlibApi::class)
31-
internal actual class OpaqueDirEntry constructor(private val dir: CPointer<cnames.structs.DIR>) : AutoCloseable {
30+
@OptIn(ExperimentalForeignApi::class)
31+
internal actual class OpaqueDirEntry(private val dir: CPointer<cnames.structs.DIR>) : AutoCloseable {
3232
actual fun readdir(): String? {
3333
val entry = platform.posix.readdir(dir) ?: return null
3434
return entry[0].d_name.toKString()
3535
}
3636

37-
override fun close() {
37+
actual override fun close() {
3838
closedir(dir)
3939
}
4040
}

core/api/kotlinx-io-core.klib.api

+17-17
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ abstract interface kotlinx.io/RawSource : kotlin/AutoCloseable { // kotlinx.io/R
1717
abstract fun readAtMostTo(kotlinx.io/Buffer, kotlin/Long): kotlin/Long // kotlinx.io/RawSource.readAtMostTo|readAtMostTo(kotlinx.io.Buffer;kotlin.Long){}[0]
1818
}
1919
final class kotlinx.io.files/FileMetadata { // kotlinx.io.files/FileMetadata|null[0]
20-
constructor <init>(kotlin/Boolean =..., kotlin/Boolean =..., kotlin/Long =...) // kotlinx.io.files/FileMetadata.<init>|<init>(kotlin.Boolean;kotlin.Boolean;kotlin.Long){}[0]
20+
constructor <init>(kotlin/Boolean = ..., kotlin/Boolean = ..., kotlin/Long = ...) // kotlinx.io.files/FileMetadata.<init>|<init>(kotlin.Boolean;kotlin.Boolean;kotlin.Long){}[0]
2121
final val isDirectory // kotlinx.io.files/FileMetadata.isDirectory|{}isDirectory[0]
2222
final fun <get-isDirectory>(): kotlin/Boolean // kotlinx.io.files/FileMetadata.isDirectory.<get-isDirectory>|<get-isDirectory>(){}[0]
2323
final val isRegularFile // kotlinx.io.files/FileMetadata.isRegularFile|{}isRegularFile[0]
@@ -41,7 +41,7 @@ final class kotlinx.io/Buffer : kotlinx.io/Sink, kotlinx.io/Source { // kotlinx.
4141
final fun clear() // kotlinx.io/Buffer.clear|clear(){}[0]
4242
final fun close() // kotlinx.io/Buffer.close|close(){}[0]
4343
final fun copy(): kotlinx.io/Buffer // kotlinx.io/Buffer.copy|copy(){}[0]
44-
final fun copyTo(kotlinx.io/Buffer, kotlin/Long =..., kotlin/Long =...) // kotlinx.io/Buffer.copyTo|copyTo(kotlinx.io.Buffer;kotlin.Long;kotlin.Long){}[0]
44+
final fun copyTo(kotlinx.io/Buffer, kotlin/Long = ..., kotlin/Long = ...) // kotlinx.io/Buffer.copyTo|copyTo(kotlinx.io.Buffer;kotlin.Long;kotlin.Long){}[0]
4545
final fun emit() // kotlinx.io/Buffer.emit|emit(){}[0]
4646
final fun exhausted(): kotlin/Boolean // kotlinx.io/Buffer.exhausted|exhausted(){}[0]
4747
final fun flush() // kotlinx.io/Buffer.flush|flush(){}[0]
@@ -75,13 +75,13 @@ final class kotlinx.io/Buffer : kotlinx.io/Sink, kotlinx.io/Source { // kotlinx.
7575
}
7676
final fun (kotlinx.io.files/Path).kotlinx.io.files/sink(): kotlinx.io/Sink // kotlinx.io.files/sink|[email protected](){}[0]
7777
final fun (kotlinx.io.files/Path).kotlinx.io.files/source(): kotlinx.io/Source // kotlinx.io.files/source|[email protected](){}[0]
78-
final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long =..., kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlin.Byte;kotlin.Long;kotlin.Long){}[0]
79-
final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Long){}[0]
78+
final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long = ..., kotlin/Long = ...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlin.Byte;kotlin.Long;kotlin.Long){}[0]
79+
final fun (kotlinx.io/Buffer).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long = ...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Long){}[0]
8080
final fun (kotlinx.io/Buffer).kotlinx.io/readString(): kotlin/String // kotlinx.io/readString|[email protected](){}[0]
8181
final fun (kotlinx.io/Buffer).kotlinx.io/snapshot(): kotlinx.io.bytestring/ByteString // kotlinx.io/snapshot|[email protected](){}[0]
8282
final fun (kotlinx.io/RawSink).kotlinx.io/buffered(): kotlinx.io/Sink // kotlinx.io/buffered|[email protected](){}[0]
8383
final fun (kotlinx.io/RawSource).kotlinx.io/buffered(): kotlinx.io/Source // kotlinx.io/buffered|[email protected](){}[0]
84-
final fun (kotlinx.io/Sink).kotlinx.io/write(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/write|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0]
84+
final fun (kotlinx.io/Sink).kotlinx.io/write(kotlinx.io.bytestring/ByteString, kotlin/Int = ..., kotlin/Int = ...) // kotlinx.io/write|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0]
8585
final fun (kotlinx.io/Sink).kotlinx.io/writeCodePointValue(kotlin/Int) // kotlinx.io/writeCodePointValue|[email protected](kotlin.Int){}[0]
8686
final fun (kotlinx.io/Sink).kotlinx.io/writeDecimalLong(kotlin/Long) // kotlinx.io/writeDecimalLong|[email protected](kotlin.Long){}[0]
8787
final fun (kotlinx.io/Sink).kotlinx.io/writeDouble(kotlin/Double) // kotlinx.io/writeDouble|[email protected](kotlin.Double){}[0]
@@ -92,17 +92,17 @@ final fun (kotlinx.io/Sink).kotlinx.io/writeHexadecimalUnsignedLong(kotlin/Long)
9292
final fun (kotlinx.io/Sink).kotlinx.io/writeIntLe(kotlin/Int) // kotlinx.io/writeIntLe|[email protected](kotlin.Int){}[0]
9393
final fun (kotlinx.io/Sink).kotlinx.io/writeLongLe(kotlin/Long) // kotlinx.io/writeLongLe|[email protected](kotlin.Long){}[0]
9494
final fun (kotlinx.io/Sink).kotlinx.io/writeShortLe(kotlin/Short) // kotlinx.io/writeShortLe|[email protected](kotlin.Short){}[0]
95-
final fun (kotlinx.io/Sink).kotlinx.io/writeString(kotlin/CharSequence, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/writeString|[email protected](kotlin.CharSequence;kotlin.Int;kotlin.Int){}[0]
96-
final fun (kotlinx.io/Sink).kotlinx.io/writeString(kotlin/String, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/writeString|[email protected](kotlin.String;kotlin.Int;kotlin.Int){}[0]
95+
final fun (kotlinx.io/Sink).kotlinx.io/writeString(kotlin/CharSequence, kotlin/Int = ..., kotlin/Int = ...) // kotlinx.io/writeString|[email protected](kotlin.CharSequence;kotlin.Int;kotlin.Int){}[0]
96+
final fun (kotlinx.io/Sink).kotlinx.io/writeString(kotlin/String, kotlin/Int = ..., kotlin/Int = ...) // kotlinx.io/writeString|[email protected](kotlin.String;kotlin.Int;kotlin.Int){}[0]
9797
final fun (kotlinx.io/Sink).kotlinx.io/writeUByte(kotlin/UByte) // kotlinx.io/writeUByte|[email protected](kotlin.UByte){}[0]
9898
final fun (kotlinx.io/Sink).kotlinx.io/writeUInt(kotlin/UInt) // kotlinx.io/writeUInt|[email protected](kotlin.UInt){}[0]
9999
final fun (kotlinx.io/Sink).kotlinx.io/writeUIntLe(kotlin/UInt) // kotlinx.io/writeUIntLe|[email protected](kotlin.UInt){}[0]
100100
final fun (kotlinx.io/Sink).kotlinx.io/writeULong(kotlin/ULong) // kotlinx.io/writeULong|[email protected](kotlin.ULong){}[0]
101101
final fun (kotlinx.io/Sink).kotlinx.io/writeULongLe(kotlin/ULong) // kotlinx.io/writeULongLe|[email protected](kotlin.ULong){}[0]
102102
final fun (kotlinx.io/Sink).kotlinx.io/writeUShort(kotlin/UShort) // kotlinx.io/writeUShort|[email protected](kotlin.UShort){}[0]
103103
final fun (kotlinx.io/Sink).kotlinx.io/writeUShortLe(kotlin/UShort) // kotlinx.io/writeUShortLe|[email protected](kotlin.UShort){}[0]
104-
final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long =..., kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlin.Byte;kotlin.Long;kotlin.Long){}[0]
105-
final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long =...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Long){}[0]
104+
final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlin/Byte, kotlin/Long = ..., kotlin/Long = ...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlin.Byte;kotlin.Long;kotlin.Long){}[0]
105+
final fun (kotlinx.io/Source).kotlinx.io/indexOf(kotlinx.io.bytestring/ByteString, kotlin/Long = ...): kotlin/Long // kotlinx.io/indexOf|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Long){}[0]
106106
final fun (kotlinx.io/Source).kotlinx.io/readByteArray(): kotlin/ByteArray // kotlinx.io/readByteArray|[email protected](){}[0]
107107
final fun (kotlinx.io/Source).kotlinx.io/readByteArray(kotlin/Int): kotlin/ByteArray // kotlinx.io/readByteArray|[email protected](kotlin.Int){}[0]
108108
final fun (kotlinx.io/Source).kotlinx.io/readByteString(): kotlinx.io.bytestring/ByteString // kotlinx.io/readByteString|[email protected](){}[0]
@@ -116,12 +116,12 @@ final fun (kotlinx.io/Source).kotlinx.io/readFloatLe(): kotlin/Float // kotlinx.
116116
final fun (kotlinx.io/Source).kotlinx.io/readHexadecimalUnsignedLong(): kotlin/Long // kotlinx.io/readHexadecimalUnsignedLong|[email protected](){}[0]
117117
final fun (kotlinx.io/Source).kotlinx.io/readIntLe(): kotlin/Int // kotlinx.io/readIntLe|[email protected](){}[0]
118118
final fun (kotlinx.io/Source).kotlinx.io/readLine(): kotlin/String? // kotlinx.io/readLine|[email protected](){}[0]
119-
final fun (kotlinx.io/Source).kotlinx.io/readLineStrict(kotlin/Long =...): kotlin/String // kotlinx.io/readLineStrict|[email protected](kotlin.Long){}[0]
119+
final fun (kotlinx.io/Source).kotlinx.io/readLineStrict(kotlin/Long = ...): kotlin/String // kotlinx.io/readLineStrict|[email protected](kotlin.Long){}[0]
120120
final fun (kotlinx.io/Source).kotlinx.io/readLongLe(): kotlin/Long // kotlinx.io/readLongLe|[email protected](){}[0]
121121
final fun (kotlinx.io/Source).kotlinx.io/readShortLe(): kotlin/Short // kotlinx.io/readShortLe|[email protected](){}[0]
122122
final fun (kotlinx.io/Source).kotlinx.io/readString(): kotlin/String // kotlinx.io/readString|[email protected](){}[0]
123123
final fun (kotlinx.io/Source).kotlinx.io/readString(kotlin/Long): kotlin/String // kotlinx.io/readString|[email protected](kotlin.Long){}[0]
124-
final fun (kotlinx.io/Source).kotlinx.io/readTo(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/readTo|[email protected](kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
124+
final fun (kotlinx.io/Source).kotlinx.io/readTo(kotlin/ByteArray, kotlin/Int = ..., kotlin/Int = ...) // kotlinx.io/readTo|[email protected](kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
125125
final fun (kotlinx.io/Source).kotlinx.io/readUByte(): kotlin/UByte // kotlinx.io/readUByte|[email protected](){}[0]
126126
final fun (kotlinx.io/Source).kotlinx.io/readUInt(): kotlin/UInt // kotlinx.io/readUInt|[email protected](){}[0]
127127
final fun (kotlinx.io/Source).kotlinx.io/readUIntLe(): kotlin/UInt // kotlinx.io/readUIntLe|[email protected](){}[0]
@@ -137,7 +137,7 @@ final fun kotlinx.io/discardingSink(): kotlinx.io/RawSink // kotlinx.io/discardi
137137
final inline fun (kotlinx.io/Sink).kotlinx.io/writeToInternalBuffer(kotlin/Function1<kotlinx.io/Buffer, kotlin/Unit>) // kotlinx.io/writeToInternalBuffer|[email protected](kotlin.Function1<kotlinx.io.Buffer,kotlin.Unit>){}[0]
138138
final val kotlinx.io.files/SystemFileSystem // kotlinx.io.files/SystemFileSystem|{}SystemFileSystem[0]
139139
final fun <get-SystemFileSystem>(): kotlinx.io.files/FileSystem // kotlinx.io.files/SystemFileSystem.<get-SystemFileSystem>|<get-SystemFileSystem>(){}[0]
140-
final val kotlinx.io.files/SystemPathSeparator // kotlinx.io.files/SystemPathSeparator|<get-SystemPathSeparator>(){}[0]
140+
final val kotlinx.io.files/SystemPathSeparator // kotlinx.io.files/SystemPathSeparator|{}SystemPathSeparator[0]
141141
final fun <get-SystemPathSeparator>(): kotlin/Char // kotlinx.io.files/SystemPathSeparator.<get-SystemPathSeparator>|<get-SystemPathSeparator>(){}[0]
142142
final val kotlinx.io.files/SystemTemporaryDirectory // kotlinx.io.files/SystemTemporaryDirectory|{}SystemTemporaryDirectory[0]
143143
final fun <get-SystemTemporaryDirectory>(): kotlinx.io.files/Path // kotlinx.io.files/SystemTemporaryDirectory.<get-SystemTemporaryDirectory>|<get-SystemTemporaryDirectory>(){}[0]
@@ -162,21 +162,21 @@ open class kotlinx.io/IOException : kotlin/Exception { // kotlinx.io/IOException
162162
}
163163
sealed interface kotlinx.io.files/FileSystem { // kotlinx.io.files/FileSystem|null[0]
164164
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]
165-
abstract fun createDirectories(kotlinx.io.files/Path, kotlin/Boolean =...) // kotlinx.io.files/FileSystem.createDirectories|createDirectories(kotlinx.io.files.Path;kotlin.Boolean){}[0]
166-
abstract fun delete(kotlinx.io.files/Path, kotlin/Boolean =...) // kotlinx.io.files/FileSystem.delete|delete(kotlinx.io.files.Path;kotlin.Boolean){}[0]
165+
abstract fun createDirectories(kotlinx.io.files/Path, kotlin/Boolean = ...) // kotlinx.io.files/FileSystem.createDirectories|createDirectories(kotlinx.io.files.Path;kotlin.Boolean){}[0]
166+
abstract fun delete(kotlinx.io.files/Path, kotlin/Boolean = ...) // kotlinx.io.files/FileSystem.delete|delete(kotlinx.io.files.Path;kotlin.Boolean){}[0]
167167
abstract fun exists(kotlinx.io.files/Path): kotlin/Boolean // kotlinx.io.files/FileSystem.exists|exists(kotlinx.io.files.Path){}[0]
168168
abstract fun list(kotlinx.io.files/Path): kotlin.collections/Collection<kotlinx.io.files/Path> // kotlinx.io.files/FileSystem.list|list(kotlinx.io.files.Path){}[0]
169169
abstract fun metadataOrNull(kotlinx.io.files/Path): kotlinx.io.files/FileMetadata? // kotlinx.io.files/FileSystem.metadataOrNull|metadataOrNull(kotlinx.io.files.Path){}[0]
170170
abstract fun resolve(kotlinx.io.files/Path): kotlinx.io.files/Path // kotlinx.io.files/FileSystem.resolve|resolve(kotlinx.io.files.Path){}[0]
171-
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]
171+
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]
172172
abstract fun source(kotlinx.io.files/Path): kotlinx.io/RawSource // kotlinx.io.files/FileSystem.source|source(kotlinx.io.files.Path){}[0]
173173
}
174174
sealed interface kotlinx.io/Sink : kotlinx.io/RawSink { // kotlinx.io/Sink|null[0]
175175
abstract fun emit() // kotlinx.io/Sink.emit|emit(){}[0]
176176
abstract fun flush() // kotlinx.io/Sink.flush|flush(){}[0]
177177
abstract fun hintEmit() // kotlinx.io/Sink.hintEmit|hintEmit(){}[0]
178178
abstract fun transferFrom(kotlinx.io/RawSource): kotlin/Long // kotlinx.io/Sink.transferFrom|transferFrom(kotlinx.io.RawSource){}[0]
179-
abstract fun write(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/Sink.write|write(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
179+
abstract fun write(kotlin/ByteArray, kotlin/Int = ..., kotlin/Int = ...) // kotlinx.io/Sink.write|write(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
180180
abstract fun write(kotlinx.io/RawSource, kotlin/Long) // kotlinx.io/Sink.write|write(kotlinx.io.RawSource;kotlin.Long){}[0]
181181
abstract fun writeByte(kotlin/Byte) // kotlinx.io/Sink.writeByte|writeByte(kotlin.Byte){}[0]
182182
abstract fun writeInt(kotlin/Int) // kotlinx.io/Sink.writeInt|writeInt(kotlin.Int){}[0]
@@ -188,7 +188,7 @@ sealed interface kotlinx.io/Sink : kotlinx.io/RawSink { // kotlinx.io/Sink|null[
188188
sealed interface kotlinx.io/Source : kotlinx.io/RawSource { // kotlinx.io/Source|null[0]
189189
abstract fun exhausted(): kotlin/Boolean // kotlinx.io/Source.exhausted|exhausted(){}[0]
190190
abstract fun peek(): kotlinx.io/Source // kotlinx.io/Source.peek|peek(){}[0]
191-
abstract fun readAtMostTo(kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...): kotlin/Int // kotlinx.io/Source.readAtMostTo|readAtMostTo(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
191+
abstract fun readAtMostTo(kotlin/ByteArray, kotlin/Int = ..., kotlin/Int = ...): kotlin/Int // kotlinx.io/Source.readAtMostTo|readAtMostTo(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
192192
abstract fun readByte(): kotlin/Byte // kotlinx.io/Source.readByte|readByte(){}[0]
193193
abstract fun readInt(): kotlin/Int // kotlinx.io/Source.readInt|readInt(){}[0]
194194
abstract fun readLong(): kotlin/Long // kotlinx.io/Source.readLong|readLong(){}[0]

0 commit comments

Comments
 (0)