diff options
author | Leonid Startsev <sandwwraith@gmail.com> | 2023-08-02 15:43:47 +0200 |
---|---|---|
committer | Leonid Startsev <sandwwraith@gmail.com> | 2023-08-02 15:43:47 +0200 |
commit | adf350b55dacc876a8aa3574d4ed77063d1084e0 (patch) | |
tree | 801ff2bc1381373237072d7025a8c6843cf86a75 | |
parent | b0189e7b25f3571fba9e81868eb172e8454fedd3 (diff) | |
parent | 4af0f30b11ef2cdddc6d01f444783702f493d0a2 (diff) | |
download | kotlinx.serialization-adf350b55dacc876a8aa3574d4ed77063d1084e0.tar.gz |
Merge remote-tracking branch 'origin/master' into dev
-rw-r--r-- | CONTRIBUTING.md | 8 | ||||
-rw-r--r-- | docs/value-classes.md | 8 | ||||
-rw-r--r-- | dokka/moduledoc.md | 14 | ||||
-rw-r--r-- | formats/README.md | 15 | ||||
-rw-r--r-- | formats/json-okio/build.gradle.kts | 15 | ||||
-rw-r--r-- | formats/json-okio/dokka/okio.package.list | 550 | ||||
-rw-r--r-- | formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoBuf.kt | 41 | ||||
-rw-r--r-- | formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoTypes.kt | 9 | ||||
-rw-r--r-- | gradle/dokka.gradle | 7 |
9 files changed, 628 insertions, 39 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6cd235d3..34621f7b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,7 +22,7 @@ Submit issues [here](https://github.com/Kotlin/kotlinx.serialization/issues). * Use a 'feature request' template when creating a new issue. * Explain why you need the feature — what's your use-case, what's your domain. * Explaining the problem you face is more important than suggesting a solution. - Report your problem even if you don't have any proposed solution. + Even if you don't have a proposed solution, please report your problem. * If there is an alternative way to do what you need, then show the code of the alternative. ## Submitting PRs @@ -40,7 +40,7 @@ so do familiarize yourself with the following guidelines. * If you fix documentation: * After fixing/changing code examples in the [`docs`](docs) folder or updating any references in the markdown files run the [Knit tool](#running-the-knit-tool) and commit the resulting changes as well. - It will not pass the tests otherwise. + Your changes will not pass the tests otherwise. * If you plan extensive rewrites/additions to the docs, then please [contact the maintainers](#contacting-maintainers) to coordinate the work in advance. * If you make any code changes: @@ -49,7 +49,7 @@ so do familiarize yourself with the following guidelines. * Use imports with '*'. * [Build the project](#building) to make sure it all works and passes the tests. * If you fix a bug: - * Write the test the reproduces the bug. + * Write the test that reproduces the bug. * Fixes without tests are accepted only in exceptional circumstances if it can be shown that writing the corresponding test is too hard or otherwise impractical. * Follow the style of writing tests that is used in this project: @@ -69,7 +69,7 @@ so do familiarize yourself with the following guidelines. * You can submit a PR to the [list of community-supported formats](formats/README.md#other-community-supported-formats) with a description of your library. * Comment on the existing issue if you want to work on it. Ensure that the issue not only describes a problem, - but also describes a solution that had received a positive feedback. Propose a solution if there isn't any. + but also describes a solution that has received positive feedback. Propose a solution if there isn't any. ## Building diff --git a/docs/value-classes.md b/docs/value-classes.md index 97b41892..fed90f6a 100644 --- a/docs/value-classes.md +++ b/docs/value-classes.md @@ -98,7 +98,7 @@ in `serialize` method: ```kotlin override fun serialize(encoder: Encoder, value: NamedColor) { - encoder.beginStructure(descriptor) { + encoder.encodeStructure(descriptor) { encodeSerializableElement(descriptor, 0, Color.serializer(), value.color) encodeStringElement(descriptor, 1, value.name) } @@ -113,7 +113,7 @@ unboxed value: ```kotlin override fun serialize(encoder: Encoder, value: NamedColor) { - encoder.beginStructure(descriptor) { + encoder.encodeStructure(descriptor) { encodeInlineElement(descriptor, 0).encodeInt(value.color) encodeStringElement(descriptor, 1, value.name) } @@ -123,7 +123,7 @@ override fun serialize(encoder: Encoder, value: NamedColor) { The same principle goes also with [CompositeDecoder]: it has [decodeInlineElement][CompositeDecoder.decodeInlineElement] function that returns [Decoder]. If your class should be represented as a primitive (as shown in [Primitive serializer](serializers.md#primitive-serializer) section), -and you cannot use [beginStructure][Encoder.beginStructure] function, there is a complementary function in [Encoder] called [encodeInline][Encoder.encodeInline]. +and you cannot use [encodeStructure][Encoder.encodeStructure] function, there is a complementary function in [Encoder] called [encodeInline][Encoder.encodeInline]. We will use it to show an example how one can represent a class as an unsigned integer. Let's start with a UID class: @@ -187,7 +187,7 @@ override fun deserialize(decoder: Decoder): UID { [CompositeDecoder]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-composite-decoder/index.html [CompositeDecoder.decodeInlineElement]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-composite-decoder/decode-inline-element.html [Decoder]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-decoder/index.html -[Encoder.beginStructure]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/begin-structure.html +[Encoder.encodeStructure]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/encode-structure.html [Encoder.encodeInline]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/encode-inline.html [Encoder.encodeInt]: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/encode-int.html diff --git a/dokka/moduledoc.md b/dokka/moduledoc.md index e3c12610..cd0462d4 100644 --- a/dokka/moduledoc.md +++ b/dokka/moduledoc.md @@ -5,6 +5,10 @@ format implementation. # Module kotlinx-serialization-json Stable and ready to use JSON format implementation, `JsonElement` API to operate with JSON trees and JSON-specific serializers. +# Module kotlinx-serialization-json-okio +Extensions for kotlinx.serialization.json.Json for integration with the popular [Okio](https://square.github.io/okio/) library. +Currently experimental. + # Module kotlinx-serialization-cbor Concise Binary Object Representation (CBOR) format implementation, as per [RFC 7049](https://tools.ietf.org/html/rfc7049). @@ -17,7 +21,7 @@ You can learn about "Human-Optimized Config Object Notation" or HOCON from libra Allows converting arbitrary hierarchy of Kotlin classes to a flat key-value structure à la Java Properties. # Module kotlinx-serialization-protobuf -Protocol buffers serialization format implementation, mostly compliant to [proto2](https://developers.google.com/protocol-buffers/docs/proto) specification. +[Protocol buffers](https://protobuf.dev/) serialization format implementation. # Package kotlinx.serialization Basic core concepts and annotations that set up serialization process. @@ -42,8 +46,14 @@ HOCON serialization format implementation for converting Kotlin classes from and JSON serialization format implementation, JSON tree data structures with builders for them, and JSON-specific serializers. +# Package kotlinx.serialization.json.okio +Extensions for kotlinx.serialization.json.Json for integration with the popular [Okio](https://square.github.io/okio/) library. + # Package kotlinx.serialization.protobuf -Protocol buffers serialization format implementation, mostly compliant to [proto2](https://developers.google.com/protocol-buffers/docs/proto) specification. +[Protocol buffers](https://protobuf.dev/) serialization format implementation. + +# Package kotlinx.serialization.protobuf.schema +Experimental generator of ProtoBuf schema from Kotlin classes. # Package kotlinx.serialization.properties Properties serialization format implementation that represents the input data as a plain map of properties. diff --git a/formats/README.md b/formats/README.md index d1acd818..c3e7a5c4 100644 --- a/formats/README.md +++ b/formats/README.md @@ -5,13 +5,14 @@ were not included in the core library. For convenience, they have same `groupId`, versioning and release cycle as core library. -| Format | Artifact id | Platform | Status | Notes | -|------------|------------------------------------|-------------------------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| JSON | `kotlinx-serialization-json` | all supported platforms | stable | -| HOCON | `kotlinx-serialization-hocon` | JVM only | experimental | Allows deserialization of `Config` object from popular [lightbend/config](https://github.com/lightbend/config) library into Kotlin objects.You can learn about "Human-Optimized Config Object Notation" or HOCON from library's [readme](https://github.com/lightbend/config#using-hocon-the-json-superset). | -| ProtoBuf | `kotlinx-serialization-protobuf` | all supported platforms | experimental | -| CBOR | `kotlinx-serialization-cbor` | all supported platforms | experimental | -| Properties | `kotlinx-serialization-properties` | all supported platforms | experimental | Allows converting arbitrary hierarchy of Kotlin classes to a flat key-value structure à la Java Properties. | +| Format | Artifact id | Platform | Status | Notes | +|------------|------------------------------------|---------------------------------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| JSON | `kotlinx-serialization-json` | all supported platforms | stable | | +| JSON-Okio | `kotlinx-serialization-json-okio` | all supported by Okio platforms | experimental | Extensions on Json for integration with [Okio](https://square.github.io/okio/) library. | +| HOCON | `kotlinx-serialization-hocon` | JVM only | experimental | Allows deserialization of `Config` object from popular [lightbend/config](https://github.com/lightbend/config) library into Kotlin objects.You can learn about "Human-Optimized Config Object Notation" or HOCON from library's [readme](https://github.com/lightbend/config#using-hocon-the-json-superset). | +| ProtoBuf | `kotlinx-serialization-protobuf` | all supported platforms | experimental | | +| CBOR | `kotlinx-serialization-cbor` | all supported platforms | experimental | | +| Properties | `kotlinx-serialization-properties` | all supported platforms | experimental | Allows converting arbitrary hierarchy of Kotlin classes to a flat key-value structure à la Java Properties. | ## Other community-supported formats diff --git a/formats/json-okio/build.gradle.kts b/formats/json-okio/build.gradle.kts index 3e6565e9..8d29e2e0 100644 --- a/formats/json-okio/build.gradle.kts +++ b/formats/json-okio/build.gradle.kts @@ -2,6 +2,8 @@ * Copyright 2017-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ import Java9Modularity.configureJava9ModuleInfo +import org.jetbrains.dokka.gradle.* +import java.net.* plugins { kotlin("multiplatform") @@ -29,3 +31,16 @@ kotlin { } project.configureJava9ModuleInfo() + +tasks.named<DokkaTaskPartial>("dokkaHtmlPartial") { + dokkaSourceSets { + configureEach { + externalDocumentationLink { + url.set(URL("https://square.github.io/okio/3.x/okio/")) + packageListUrl.set( + file("dokka/okio.package.list").toURI().toURL() + ) + } + } + } +} diff --git a/formats/json-okio/dokka/okio.package.list b/formats/json-okio/dokka/okio.package.list new file mode 100644 index 00000000..96713f52 --- /dev/null +++ b/formats/json-okio/dokka/okio.package.list @@ -0,0 +1,550 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:okio////PointingToDeclaration/okio/okio/index.html +$dokka.location:okio//Okio/#/PointingToDeclaration/okio/okio/-okio.html +$dokka.location:okio//Utf8/#/PointingToDeclaration/okio/okio/-utf8.html +$dokka.location:okio//appendingSink/java.io.File#/PointingToDeclaration/okio/okio/appending-sink.html +$dokka.location:okio//asResourceFileSystem/java.lang.ClassLoader#/PointingToDeclaration/okio/okio/as-resource-file-system.html +$dokka.location:okio//blackholeSink/#/PointingToDeclaration/okio/okio/blackhole-sink.html +$dokka.location:okio//buffer/okio.Sink#/PointingToDeclaration/okio/okio/buffer.html +$dokka.location:okio//buffer/okio.Source#/PointingToDeclaration/okio/okio/buffer.html +$dokka.location:okio//cipherSink/okio.Sink#javax.crypto.Cipher/PointingToDeclaration/okio/okio/cipher-sink.html +$dokka.location:okio//cipherSource/okio.Source#javax.crypto.Cipher/PointingToDeclaration/okio/okio/cipher-source.html +$dokka.location:okio//deflate/okio.Sink#java.util.zip.Deflater/PointingToDeclaration/okio/okio/deflate.html +$dokka.location:okio//gzip/okio.Sink#/PointingToDeclaration/okio/okio/gzip.html +$dokka.location:okio//gzip/okio.Source#/PointingToDeclaration/okio/okio/gzip.html +$dokka.location:okio//hashingSink/okio.Sink#java.security.MessageDigest/PointingToDeclaration/okio/okio/hashing-sink.html +$dokka.location:okio//hashingSink/okio.Sink#javax.crypto.Mac/PointingToDeclaration/okio/okio/hashing-sink.html +$dokka.location:okio//hashingSource/okio.Source#java.security.MessageDigest/PointingToDeclaration/okio/okio/hashing-source.html +$dokka.location:okio//hashingSource/okio.Source#javax.crypto.Mac/PointingToDeclaration/okio/okio/hashing-source.html +$dokka.location:okio//inflate/okio.Source#java.util.zip.Inflater/PointingToDeclaration/okio/okio/inflate.html +$dokka.location:okio//openZip/okio.FileSystem#okio.Path/PointingToDeclaration/okio/okio/open-zip.html +$dokka.location:okio//sink/java.io.File#kotlin.Boolean/PointingToDeclaration/okio/okio/sink.html +$dokka.location:okio//sink/java.io.OutputStream#/PointingToDeclaration/okio/okio/sink.html +$dokka.location:okio//sink/java.net.Socket#/PointingToDeclaration/okio/okio/sink.html +$dokka.location:okio//sink/java.nio.file.Path#kotlin.Array[java.nio.file.OpenOption]/PointingToDeclaration/okio/okio/sink.html +$dokka.location:okio//source/java.io.File#/PointingToDeclaration/okio/okio/source.html +$dokka.location:okio//source/java.io.InputStream#/PointingToDeclaration/okio/okio/source.html +$dokka.location:okio//source/java.net.Socket#/PointingToDeclaration/okio/okio/source.html +$dokka.location:okio//source/java.nio.file.Path#kotlin.Array[java.nio.file.OpenOption]/PointingToDeclaration/okio/okio/source.html +$dokka.location:okio//use/TypeParam(bounds=[okio.Closeable?])#kotlin.Function1[TypeParam(bounds=[okio.Closeable?]),TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/use.html +$dokka.location:okio//utf8Size/kotlin.String#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/utf8-size.html +$dokka.location:okio//withLock/okio.Lock#kotlin.Function0[TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/with-lock.html +$dokka.location:okio/ArrayIndexOutOfBoundsException///PointingToDeclaration/okio/okio/-array-index-out-of-bounds-exception/index.html +$dokka.location:okio/ArrayIndexOutOfBoundsException/ArrayIndexOutOfBoundsException/#kotlin.String?/PointingToDeclaration/okio/okio/-array-index-out-of-bounds-exception/-array-index-out-of-bounds-exception.html +$dokka.location:okio/AsyncTimeout.Companion///PointingToDeclaration/okio/okio/-async-timeout/-companion/index.html +$dokka.location:okio/AsyncTimeout.Companion/condition/#/PointingToDeclaration/okio/okio/-async-timeout/-companion/condition.html +$dokka.location:okio/AsyncTimeout.Companion/lock/#/PointingToDeclaration/okio/okio/-async-timeout/-companion/lock.html +$dokka.location:okio/AsyncTimeout///PointingToDeclaration/okio/okio/-async-timeout/index.html +$dokka.location:okio/AsyncTimeout/AsyncTimeout/#/PointingToDeclaration/okio/okio/-async-timeout/-async-timeout.html +$dokka.location:okio/AsyncTimeout/enter/#/PointingToDeclaration/okio/okio/-async-timeout/enter.html +$dokka.location:okio/AsyncTimeout/exit/#/PointingToDeclaration/okio/okio/-async-timeout/exit.html +$dokka.location:okio/AsyncTimeout/sink/#okio.Sink/PointingToDeclaration/okio/okio/-async-timeout/sink.html +$dokka.location:okio/AsyncTimeout/source/#okio.Source/PointingToDeclaration/okio/okio/-async-timeout/source.html +$dokka.location:okio/AsyncTimeout/withTimeout/#kotlin.Function0[TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/-async-timeout/with-timeout.html +$dokka.location:okio/Buffer.UnsafeCursor///PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/index.html +$dokka.location:okio/Buffer.UnsafeCursor/UnsafeCursor/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/-unsafe-cursor.html +$dokka.location:okio/Buffer.UnsafeCursor/buffer/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/buffer.html +$dokka.location:okio/Buffer.UnsafeCursor/close/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/close.html +$dokka.location:okio/Buffer.UnsafeCursor/data/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/data.html +$dokka.location:okio/Buffer.UnsafeCursor/end/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/end.html +$dokka.location:okio/Buffer.UnsafeCursor/expandBuffer/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/expand-buffer.html +$dokka.location:okio/Buffer.UnsafeCursor/next/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/next.html +$dokka.location:okio/Buffer.UnsafeCursor/offset/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/offset.html +$dokka.location:okio/Buffer.UnsafeCursor/readWrite/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/read-write.html +$dokka.location:okio/Buffer.UnsafeCursor/resizeBuffer/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/resize-buffer.html +$dokka.location:okio/Buffer.UnsafeCursor/seek/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/seek.html +$dokka.location:okio/Buffer.UnsafeCursor/start/#/PointingToDeclaration/okio/okio/-buffer/-unsafe-cursor/start.html +$dokka.location:okio/Buffer///PointingToDeclaration/okio/okio/-buffer/index.html +$dokka.location:okio/Buffer/Buffer/#/PointingToDeclaration/okio/okio/-buffer/-buffer.html +$dokka.location:okio/Buffer/buffer/#/PointingToDeclaration/okio/okio/-buffer/buffer.html +$dokka.location:okio/Buffer/clear/#/PointingToDeclaration/okio/okio/-buffer/clear.html +$dokka.location:okio/Buffer/clone/#/PointingToDeclaration/okio/okio/-buffer/clone.html +$dokka.location:okio/Buffer/close/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]close.html +$dokka.location:okio/Buffer/completeSegmentByteCount/#/PointingToDeclaration/okio/okio/-buffer/complete-segment-byte-count.html +$dokka.location:okio/Buffer/copy/#/PointingToDeclaration/okio/okio/-buffer/copy.html +$dokka.location:okio/Buffer/copyTo/#java.io.OutputStream#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/copy-to.html +$dokka.location:okio/Buffer/copyTo/#okio.Buffer#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/copy-to.html +$dokka.location:okio/Buffer/copyTo/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/copy-to.html +$dokka.location:okio/Buffer/emit/#/PointingToDeclaration/okio/okio/-buffer/emit.html +$dokka.location:okio/Buffer/emitCompleteSegments/#/PointingToDeclaration/okio/okio/-buffer/emit-complete-segments.html +$dokka.location:okio/Buffer/equals/#kotlin.Any?/PointingToDeclaration/okio/okio/-buffer/[non-jvm]equals.html +$dokka.location:okio/Buffer/exhausted/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]exhausted.html +$dokka.location:okio/Buffer/flush/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]flush.html +$dokka.location:okio/Buffer/get/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/get.html +$dokka.location:okio/Buffer/hashCode/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]hash-code.html +$dokka.location:okio/Buffer/hmacSha1/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/hmac-sha1.html +$dokka.location:okio/Buffer/hmacSha256/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/hmac-sha256.html +$dokka.location:okio/Buffer/hmacSha512/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/hmac-sha512.html +$dokka.location:okio/Buffer/indexOf/#kotlin.Byte#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of.html +$dokka.location:okio/Buffer/indexOf/#kotlin.Byte#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of.html +$dokka.location:okio/Buffer/indexOf/#kotlin.Byte/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of.html +$dokka.location:okio/Buffer/indexOf/#okio.ByteString#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of.html +$dokka.location:okio/Buffer/indexOf/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of.html +$dokka.location:okio/Buffer/indexOfElement/#okio.ByteString#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of-element.html +$dokka.location:okio/Buffer/indexOfElement/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/[non-jvm]index-of-element.html +$dokka.location:okio/Buffer/inputStream/#/PointingToDeclaration/okio/okio/-buffer/input-stream.html +$dokka.location:okio/Buffer/isOpen/#/PointingToDeclaration/okio/okio/-buffer/is-open.html +$dokka.location:okio/Buffer/md5/#/PointingToDeclaration/okio/okio/-buffer/md5.html +$dokka.location:okio/Buffer/outputStream/#/PointingToDeclaration/okio/okio/-buffer/output-stream.html +$dokka.location:okio/Buffer/peek/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]peek.html +$dokka.location:okio/Buffer/rangeEquals/#kotlin.Long#okio.ByteString#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/[non-jvm]range-equals.html +$dokka.location:okio/Buffer/rangeEquals/#kotlin.Long#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/[non-jvm]range-equals.html +$dokka.location:okio/Buffer/read/#java.nio.ByteBuffer/PointingToDeclaration/okio/okio/-buffer/read.html +$dokka.location:okio/Buffer/read/#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read.html +$dokka.location:okio/Buffer/read/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read.html +$dokka.location:okio/Buffer/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read.html +$dokka.location:okio/Buffer/readAll/#okio.Sink/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-all.html +$dokka.location:okio/Buffer/readAndWriteUnsafe/#okio.Buffer.UnsafeCursor/PointingToDeclaration/okio/okio/-buffer/read-and-write-unsafe.html +$dokka.location:okio/Buffer/readByte/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-byte.html +$dokka.location:okio/Buffer/readByteArray/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-byte-array.html +$dokka.location:okio/Buffer/readByteArray/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-byte-array.html +$dokka.location:okio/Buffer/readByteString/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-byte-string.html +$dokka.location:okio/Buffer/readByteString/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-byte-string.html +$dokka.location:okio/Buffer/readDecimalLong/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-decimal-long.html +$dokka.location:okio/Buffer/readFrom/#java.io.InputStream#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/read-from.html +$dokka.location:okio/Buffer/readFrom/#java.io.InputStream/PointingToDeclaration/okio/okio/-buffer/read-from.html +$dokka.location:okio/Buffer/readFully/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-fully.html +$dokka.location:okio/Buffer/readFully/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-fully.html +$dokka.location:okio/Buffer/readHexadecimalUnsignedLong/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-hexadecimal-unsigned-long.html +$dokka.location:okio/Buffer/readInt/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-int.html +$dokka.location:okio/Buffer/readIntLe/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-int-le.html +$dokka.location:okio/Buffer/readLong/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-long.html +$dokka.location:okio/Buffer/readLongLe/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-long-le.html +$dokka.location:okio/Buffer/readShort/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-short.html +$dokka.location:okio/Buffer/readShortLe/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-short-le.html +$dokka.location:okio/Buffer/readString/#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffer/read-string.html +$dokka.location:okio/Buffer/readString/#kotlin.Long#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffer/read-string.html +$dokka.location:okio/Buffer/readUnsafe/#okio.Buffer.UnsafeCursor/PointingToDeclaration/okio/okio/-buffer/read-unsafe.html +$dokka.location:okio/Buffer/readUtf8/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8.html +$dokka.location:okio/Buffer/readUtf8/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8.html +$dokka.location:okio/Buffer/readUtf8CodePoint/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8-code-point.html +$dokka.location:okio/Buffer/readUtf8Line/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8-line.html +$dokka.location:okio/Buffer/readUtf8LineStrict/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8-line-strict.html +$dokka.location:okio/Buffer/readUtf8LineStrict/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]read-utf8-line-strict.html +$dokka.location:okio/Buffer/request/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]request.html +$dokka.location:okio/Buffer/require/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]require.html +$dokka.location:okio/Buffer/select/#okio.Options/PointingToDeclaration/okio/okio/-buffer/[non-jvm]select.html +$dokka.location:okio/Buffer/sha1/#/PointingToDeclaration/okio/okio/-buffer/sha1.html +$dokka.location:okio/Buffer/sha256/#/PointingToDeclaration/okio/okio/-buffer/sha256.html +$dokka.location:okio/Buffer/sha512/#/PointingToDeclaration/okio/okio/-buffer/sha512.html +$dokka.location:okio/Buffer/size/#/PointingToDeclaration/okio/okio/-buffer/size.html +$dokka.location:okio/Buffer/skip/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/skip.html +$dokka.location:okio/Buffer/snapshot/#/PointingToDeclaration/okio/okio/-buffer/snapshot.html +$dokka.location:okio/Buffer/snapshot/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/snapshot.html +$dokka.location:okio/Buffer/timeout/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]timeout.html +$dokka.location:okio/Buffer/toString/#/PointingToDeclaration/okio/okio/-buffer/[non-jvm]to-string.html +$dokka.location:okio/Buffer/write/#java.nio.ByteBuffer/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/write/#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/write/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/[non-jvm]write.html +$dokka.location:okio/Buffer/write/#okio.ByteString#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/write/#okio.ByteString/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/write/#okio.Source#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write.html +$dokka.location:okio/Buffer/writeAll/#okio.Source/PointingToDeclaration/okio/okio/-buffer/[non-jvm]write-all.html +$dokka.location:okio/Buffer/writeByte/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-byte.html +$dokka.location:okio/Buffer/writeDecimalLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write-decimal-long.html +$dokka.location:okio/Buffer/writeHexadecimalUnsignedLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write-hexadecimal-unsigned-long.html +$dokka.location:okio/Buffer/writeInt/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-int.html +$dokka.location:okio/Buffer/writeIntLe/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-int-le.html +$dokka.location:okio/Buffer/writeLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write-long.html +$dokka.location:okio/Buffer/writeLongLe/#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write-long-le.html +$dokka.location:okio/Buffer/writeShort/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-short.html +$dokka.location:okio/Buffer/writeShortLe/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-short-le.html +$dokka.location:okio/Buffer/writeString/#kotlin.String#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffer/write-string.html +$dokka.location:okio/Buffer/writeString/#kotlin.String#kotlin.Int#kotlin.Int#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffer/write-string.html +$dokka.location:okio/Buffer/writeTo/#java.io.OutputStream#kotlin.Long/PointingToDeclaration/okio/okio/-buffer/write-to.html +$dokka.location:okio/Buffer/writeUtf8/#kotlin.String#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-utf8.html +$dokka.location:okio/Buffer/writeUtf8/#kotlin.String/PointingToDeclaration/okio/okio/-buffer/write-utf8.html +$dokka.location:okio/Buffer/writeUtf8CodePoint/#kotlin.Int/PointingToDeclaration/okio/okio/-buffer/write-utf8-code-point.html +$dokka.location:okio/BufferedSink///PointingToDeclaration/okio/okio/-buffered-sink/index.html +$dokka.location:okio/BufferedSink/buffer/#/PointingToDeclaration/okio/okio/-buffered-sink/buffer.html +$dokka.location:okio/BufferedSink/emit/#/PointingToDeclaration/okio/okio/-buffered-sink/emit.html +$dokka.location:okio/BufferedSink/emitCompleteSegments/#/PointingToDeclaration/okio/okio/-buffered-sink/emit-complete-segments.html +$dokka.location:okio/BufferedSink/flush/#/PointingToDeclaration/okio/okio/-buffered-sink/flush.html +$dokka.location:okio/BufferedSink/outputStream/#/PointingToDeclaration/okio/okio/-buffered-sink/output-stream.html +$dokka.location:okio/BufferedSink/write/#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write.html +$dokka.location:okio/BufferedSink/write/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffered-sink/write.html +$dokka.location:okio/BufferedSink/write/#okio.ByteString#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write.html +$dokka.location:okio/BufferedSink/write/#okio.ByteString/PointingToDeclaration/okio/okio/-buffered-sink/write.html +$dokka.location:okio/BufferedSink/write/#okio.Source#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-sink/write.html +$dokka.location:okio/BufferedSink/writeAll/#okio.Source/PointingToDeclaration/okio/okio/-buffered-sink/write-all.html +$dokka.location:okio/BufferedSink/writeByte/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-byte.html +$dokka.location:okio/BufferedSink/writeDecimalLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-sink/write-decimal-long.html +$dokka.location:okio/BufferedSink/writeHexadecimalUnsignedLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-sink/write-hexadecimal-unsigned-long.html +$dokka.location:okio/BufferedSink/writeInt/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-int.html +$dokka.location:okio/BufferedSink/writeIntLe/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-int-le.html +$dokka.location:okio/BufferedSink/writeLong/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-sink/write-long.html +$dokka.location:okio/BufferedSink/writeLongLe/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-sink/write-long-le.html +$dokka.location:okio/BufferedSink/writeShort/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-short.html +$dokka.location:okio/BufferedSink/writeShortLe/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-short-le.html +$dokka.location:okio/BufferedSink/writeString/#kotlin.String#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffered-sink/write-string.html +$dokka.location:okio/BufferedSink/writeString/#kotlin.String#kotlin.Int#kotlin.Int#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffered-sink/write-string.html +$dokka.location:okio/BufferedSink/writeUtf8/#kotlin.String#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-utf8.html +$dokka.location:okio/BufferedSink/writeUtf8/#kotlin.String/PointingToDeclaration/okio/okio/-buffered-sink/write-utf8.html +$dokka.location:okio/BufferedSink/writeUtf8CodePoint/#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-sink/write-utf8-code-point.html +$dokka.location:okio/BufferedSource///PointingToDeclaration/okio/okio/-buffered-source/index.html +$dokka.location:okio/BufferedSource/buffer/#/PointingToDeclaration/okio/okio/-buffered-source/buffer.html +$dokka.location:okio/BufferedSource/exhausted/#/PointingToDeclaration/okio/okio/-buffered-source/exhausted.html +$dokka.location:okio/BufferedSource/indexOf/#kotlin.Byte#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/index-of.html +$dokka.location:okio/BufferedSource/indexOf/#kotlin.Byte#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/index-of.html +$dokka.location:okio/BufferedSource/indexOf/#kotlin.Byte/PointingToDeclaration/okio/okio/-buffered-source/index-of.html +$dokka.location:okio/BufferedSource/indexOf/#okio.ByteString#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/index-of.html +$dokka.location:okio/BufferedSource/indexOf/#okio.ByteString/PointingToDeclaration/okio/okio/-buffered-source/index-of.html +$dokka.location:okio/BufferedSource/indexOfElement/#okio.ByteString#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/index-of-element.html +$dokka.location:okio/BufferedSource/indexOfElement/#okio.ByteString/PointingToDeclaration/okio/okio/-buffered-source/index-of-element.html +$dokka.location:okio/BufferedSource/inputStream/#/PointingToDeclaration/okio/okio/-buffered-source/input-stream.html +$dokka.location:okio/BufferedSource/peek/#/PointingToDeclaration/okio/okio/-buffered-source/peek.html +$dokka.location:okio/BufferedSource/rangeEquals/#kotlin.Long#okio.ByteString#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-source/range-equals.html +$dokka.location:okio/BufferedSource/rangeEquals/#kotlin.Long#okio.ByteString/PointingToDeclaration/okio/okio/-buffered-source/range-equals.html +$dokka.location:okio/BufferedSource/read/#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-buffered-source/read.html +$dokka.location:okio/BufferedSource/read/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffered-source/read.html +$dokka.location:okio/BufferedSource/readAll/#okio.Sink/PointingToDeclaration/okio/okio/-buffered-source/read-all.html +$dokka.location:okio/BufferedSource/readByte/#/PointingToDeclaration/okio/okio/-buffered-source/read-byte.html +$dokka.location:okio/BufferedSource/readByteArray/#/PointingToDeclaration/okio/okio/-buffered-source/read-byte-array.html +$dokka.location:okio/BufferedSource/readByteArray/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/read-byte-array.html +$dokka.location:okio/BufferedSource/readByteString/#/PointingToDeclaration/okio/okio/-buffered-source/read-byte-string.html +$dokka.location:okio/BufferedSource/readByteString/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/read-byte-string.html +$dokka.location:okio/BufferedSource/readDecimalLong/#/PointingToDeclaration/okio/okio/-buffered-source/read-decimal-long.html +$dokka.location:okio/BufferedSource/readFully/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-buffered-source/read-fully.html +$dokka.location:okio/BufferedSource/readFully/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/read-fully.html +$dokka.location:okio/BufferedSource/readHexadecimalUnsignedLong/#/PointingToDeclaration/okio/okio/-buffered-source/read-hexadecimal-unsigned-long.html +$dokka.location:okio/BufferedSource/readInt/#/PointingToDeclaration/okio/okio/-buffered-source/read-int.html +$dokka.location:okio/BufferedSource/readIntLe/#/PointingToDeclaration/okio/okio/-buffered-source/read-int-le.html +$dokka.location:okio/BufferedSource/readLong/#/PointingToDeclaration/okio/okio/-buffered-source/read-long.html +$dokka.location:okio/BufferedSource/readLongLe/#/PointingToDeclaration/okio/okio/-buffered-source/read-long-le.html +$dokka.location:okio/BufferedSource/readShort/#/PointingToDeclaration/okio/okio/-buffered-source/read-short.html +$dokka.location:okio/BufferedSource/readShortLe/#/PointingToDeclaration/okio/okio/-buffered-source/read-short-le.html +$dokka.location:okio/BufferedSource/readString/#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffered-source/read-string.html +$dokka.location:okio/BufferedSource/readString/#kotlin.Long#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-buffered-source/read-string.html +$dokka.location:okio/BufferedSource/readUtf8/#/PointingToDeclaration/okio/okio/-buffered-source/read-utf8.html +$dokka.location:okio/BufferedSource/readUtf8/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/read-utf8.html +$dokka.location:okio/BufferedSource/readUtf8CodePoint/#/PointingToDeclaration/okio/okio/-buffered-source/read-utf8-code-point.html +$dokka.location:okio/BufferedSource/readUtf8Line/#/PointingToDeclaration/okio/okio/-buffered-source/read-utf8-line.html +$dokka.location:okio/BufferedSource/readUtf8LineStrict/#/PointingToDeclaration/okio/okio/-buffered-source/read-utf8-line-strict.html +$dokka.location:okio/BufferedSource/readUtf8LineStrict/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/read-utf8-line-strict.html +$dokka.location:okio/BufferedSource/request/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/request.html +$dokka.location:okio/BufferedSource/require/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/require.html +$dokka.location:okio/BufferedSource/select/#okio.Options/PointingToDeclaration/okio/okio/-buffered-source/select.html +$dokka.location:okio/BufferedSource/skip/#kotlin.Long/PointingToDeclaration/okio/okio/-buffered-source/skip.html +$dokka.location:okio/ByteString.Companion///PointingToDeclaration/okio/okio/-byte-string/-companion/index.html +$dokka.location:okio/ByteString.Companion/EMPTY/#/PointingToDeclaration/okio/okio/-byte-string/-companion/-e-m-p-t-y.html +$dokka.location:okio/ByteString.Companion/decodeBase64/kotlin.String#/PointingToDeclaration/okio/okio/-byte-string/-companion/decode-base64.html +$dokka.location:okio/ByteString.Companion/decodeHex/kotlin.String#/PointingToDeclaration/okio/okio/-byte-string/-companion/decode-hex.html +$dokka.location:okio/ByteString.Companion/encode/kotlin.String#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-byte-string/-companion/encode.html +$dokka.location:okio/ByteString.Companion/encodeUtf8/kotlin.String#/PointingToDeclaration/okio/okio/-byte-string/-companion/encode-utf8.html +$dokka.location:okio/ByteString.Companion/of/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-byte-string/-companion/of.html +$dokka.location:okio/ByteString.Companion/readByteString/java.io.InputStream#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/-companion/read-byte-string.html +$dokka.location:okio/ByteString.Companion/toByteString/[Error type: Unresolved type for NSData]#/PointingToDeclaration/okio/okio/-byte-string/-companion/to-byte-string.html +$dokka.location:okio/ByteString.Companion/toByteString/java.nio.ByteBuffer#/PointingToDeclaration/okio/okio/-byte-string/-companion/to-byte-string.html +$dokka.location:okio/ByteString.Companion/toByteString/kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/-companion/to-byte-string.html +$dokka.location:okio/ByteString///PointingToDeclaration/okio/okio/-byte-string/index.html +$dokka.location:okio/ByteString/asByteBuffer/#/PointingToDeclaration/okio/okio/-byte-string/as-byte-buffer.html +$dokka.location:okio/ByteString/base64/#/PointingToDeclaration/okio/okio/-byte-string/base64.html +$dokka.location:okio/ByteString/base64Url/#/PointingToDeclaration/okio/okio/-byte-string/base64-url.html +$dokka.location:okio/ByteString/compareTo/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/compare-to.html +$dokka.location:okio/ByteString/copyInto/#kotlin.Int#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/copy-into.html +$dokka.location:okio/ByteString/endsWith/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-byte-string/ends-with.html +$dokka.location:okio/ByteString/endsWith/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/ends-with.html +$dokka.location:okio/ByteString/equals/#kotlin.Any?/PointingToDeclaration/okio/okio/-byte-string/equals.html +$dokka.location:okio/ByteString/get/#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/get.html +$dokka.location:okio/ByteString/hashCode/#/PointingToDeclaration/okio/okio/-byte-string/hash-code.html +$dokka.location:okio/ByteString/hex/#/PointingToDeclaration/okio/okio/-byte-string/hex.html +$dokka.location:okio/ByteString/hmacSha1/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/hmac-sha1.html +$dokka.location:okio/ByteString/hmacSha256/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/hmac-sha256.html +$dokka.location:okio/ByteString/hmacSha512/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/hmac-sha512.html +$dokka.location:okio/ByteString/indexOf/#kotlin.ByteArray#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/index-of.html +$dokka.location:okio/ByteString/indexOf/#okio.ByteString#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/index-of.html +$dokka.location:okio/ByteString/lastIndexOf/#kotlin.ByteArray#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/last-index-of.html +$dokka.location:okio/ByteString/lastIndexOf/#okio.ByteString#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/last-index-of.html +$dokka.location:okio/ByteString/md5/#/PointingToDeclaration/okio/okio/-byte-string/md5.html +$dokka.location:okio/ByteString/rangeEquals/#kotlin.Int#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/range-equals.html +$dokka.location:okio/ByteString/rangeEquals/#kotlin.Int#okio.ByteString#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/range-equals.html +$dokka.location:okio/ByteString/sha1/#/PointingToDeclaration/okio/okio/-byte-string/sha1.html +$dokka.location:okio/ByteString/sha256/#/PointingToDeclaration/okio/okio/-byte-string/sha256.html +$dokka.location:okio/ByteString/sha512/#/PointingToDeclaration/okio/okio/-byte-string/sha512.html +$dokka.location:okio/ByteString/size/#/PointingToDeclaration/okio/okio/-byte-string/size.html +$dokka.location:okio/ByteString/startsWith/#kotlin.ByteArray/PointingToDeclaration/okio/okio/-byte-string/starts-with.html +$dokka.location:okio/ByteString/startsWith/#okio.ByteString/PointingToDeclaration/okio/okio/-byte-string/starts-with.html +$dokka.location:okio/ByteString/string/#java.nio.charset.Charset/PointingToDeclaration/okio/okio/-byte-string/string.html +$dokka.location:okio/ByteString/substring/#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-byte-string/substring.html +$dokka.location:okio/ByteString/toAsciiLowercase/#/PointingToDeclaration/okio/okio/-byte-string/to-ascii-lowercase.html +$dokka.location:okio/ByteString/toAsciiUppercase/#/PointingToDeclaration/okio/okio/-byte-string/to-ascii-uppercase.html +$dokka.location:okio/ByteString/toByteArray/#/PointingToDeclaration/okio/okio/-byte-string/to-byte-array.html +$dokka.location:okio/ByteString/toString/#/PointingToDeclaration/okio/okio/-byte-string/to-string.html +$dokka.location:okio/ByteString/utf8/#/PointingToDeclaration/okio/okio/-byte-string/utf8.html +$dokka.location:okio/ByteString/write/#java.io.OutputStream/PointingToDeclaration/okio/okio/-byte-string/write.html +$dokka.location:okio/CipherSink///PointingToDeclaration/okio/okio/-cipher-sink/index.html +$dokka.location:okio/CipherSink/CipherSink/#okio.BufferedSink#javax.crypto.Cipher/PointingToDeclaration/okio/okio/-cipher-sink/-cipher-sink.html +$dokka.location:okio/CipherSink/cipher/#/PointingToDeclaration/okio/okio/-cipher-sink/cipher.html +$dokka.location:okio/CipherSink/close/#/PointingToDeclaration/okio/okio/-cipher-sink/close.html +$dokka.location:okio/CipherSink/flush/#/PointingToDeclaration/okio/okio/-cipher-sink/flush.html +$dokka.location:okio/CipherSink/timeout/#/PointingToDeclaration/okio/okio/-cipher-sink/timeout.html +$dokka.location:okio/CipherSink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-cipher-sink/write.html +$dokka.location:okio/CipherSource///PointingToDeclaration/okio/okio/-cipher-source/index.html +$dokka.location:okio/CipherSource/CipherSource/#okio.BufferedSource#javax.crypto.Cipher/PointingToDeclaration/okio/okio/-cipher-source/-cipher-source.html +$dokka.location:okio/CipherSource/cipher/#/PointingToDeclaration/okio/okio/-cipher-source/cipher.html +$dokka.location:okio/CipherSource/close/#/PointingToDeclaration/okio/okio/-cipher-source/close.html +$dokka.location:okio/CipherSource/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-cipher-source/read.html +$dokka.location:okio/CipherSource/timeout/#/PointingToDeclaration/okio/okio/-cipher-source/timeout.html +$dokka.location:okio/Closeable///PointingToDeclaration/okio/okio/-closeable/index.html +$dokka.location:okio/Closeable/close/#/PointingToDeclaration/okio/okio/-closeable/close.html +$dokka.location:okio/DeflaterSink///PointingToDeclaration/okio/okio/-deflater-sink/index.html +$dokka.location:okio/DeflaterSink/DeflaterSink/#okio.Sink#java.util.zip.Deflater/PointingToDeclaration/okio/okio/-deflater-sink/-deflater-sink.html +$dokka.location:okio/DeflaterSink/close/#/PointingToDeclaration/okio/okio/-deflater-sink/close.html +$dokka.location:okio/DeflaterSink/flush/#/PointingToDeclaration/okio/okio/-deflater-sink/flush.html +$dokka.location:okio/DeflaterSink/timeout/#/PointingToDeclaration/okio/okio/-deflater-sink/timeout.html +$dokka.location:okio/DeflaterSink/toString/#/PointingToDeclaration/okio/okio/-deflater-sink/to-string.html +$dokka.location:okio/DeflaterSink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-deflater-sink/write.html +$dokka.location:okio/EOFException///PointingToDeclaration/okio/okio/-e-o-f-exception/index.html +$dokka.location:okio/EOFException/EOFException/#kotlin.String?/PointingToDeclaration/okio/okio/-e-o-f-exception/-e-o-f-exception.html +$dokka.location:okio/FileHandle///PointingToDeclaration/okio/okio/-file-handle/index.html +$dokka.location:okio/FileHandle/FileHandle/#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-handle/-file-handle.html +$dokka.location:okio/FileHandle/appendingSink/#/PointingToDeclaration/okio/okio/-file-handle/appending-sink.html +$dokka.location:okio/FileHandle/close/#/PointingToDeclaration/okio/okio/-file-handle/close.html +$dokka.location:okio/FileHandle/flush/#/PointingToDeclaration/okio/okio/-file-handle/flush.html +$dokka.location:okio/FileHandle/lock/#/PointingToDeclaration/okio/okio/-file-handle/lock.html +$dokka.location:okio/FileHandle/position/#okio.Sink/PointingToDeclaration/okio/okio/-file-handle/position.html +$dokka.location:okio/FileHandle/position/#okio.Source/PointingToDeclaration/okio/okio/-file-handle/position.html +$dokka.location:okio/FileHandle/read/#kotlin.Long#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-file-handle/read.html +$dokka.location:okio/FileHandle/read/#kotlin.Long#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/read.html +$dokka.location:okio/FileHandle/readWrite/#/PointingToDeclaration/okio/okio/-file-handle/read-write.html +$dokka.location:okio/FileHandle/reposition/#okio.Sink#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/reposition.html +$dokka.location:okio/FileHandle/reposition/#okio.Source#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/reposition.html +$dokka.location:okio/FileHandle/resize/#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/resize.html +$dokka.location:okio/FileHandle/sink/#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/sink.html +$dokka.location:okio/FileHandle/size/#/PointingToDeclaration/okio/okio/-file-handle/size.html +$dokka.location:okio/FileHandle/source/#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/source.html +$dokka.location:okio/FileHandle/write/#kotlin.Long#kotlin.ByteArray#kotlin.Int#kotlin.Int/PointingToDeclaration/okio/okio/-file-handle/write.html +$dokka.location:okio/FileHandle/write/#kotlin.Long#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-file-handle/write.html +$dokka.location:okio/FileMetadata///PointingToDeclaration/okio/okio/-file-metadata/index.html +$dokka.location:okio/FileMetadata/FileMetadata/#kotlin.Boolean#kotlin.Boolean#okio.Path?#kotlin.Long?#kotlin.Long?#kotlin.Long?#kotlin.Long?#kotlin.collections.Map[kotlin.reflect.KClass[*],kotlin.Any]/PointingToDeclaration/okio/okio/-file-metadata/-file-metadata.html +$dokka.location:okio/FileMetadata/copy/#kotlin.Boolean#kotlin.Boolean#okio.Path?#kotlin.Long?#kotlin.Long?#kotlin.Long?#kotlin.Long?#kotlin.collections.Map[kotlin.reflect.KClass[*],kotlin.Any]/PointingToDeclaration/okio/okio/-file-metadata/copy.html +$dokka.location:okio/FileMetadata/createdAtMillis/#/PointingToDeclaration/okio/okio/-file-metadata/created-at-millis.html +$dokka.location:okio/FileMetadata/extra/#kotlin.reflect.KClass[TypeParam(bounds=[kotlin.Any])]/PointingToDeclaration/okio/okio/-file-metadata/extra.html +$dokka.location:okio/FileMetadata/extras/#/PointingToDeclaration/okio/okio/-file-metadata/extras.html +$dokka.location:okio/FileMetadata/isDirectory/#/PointingToDeclaration/okio/okio/-file-metadata/is-directory.html +$dokka.location:okio/FileMetadata/isRegularFile/#/PointingToDeclaration/okio/okio/-file-metadata/is-regular-file.html +$dokka.location:okio/FileMetadata/lastAccessedAtMillis/#/PointingToDeclaration/okio/okio/-file-metadata/last-accessed-at-millis.html +$dokka.location:okio/FileMetadata/lastModifiedAtMillis/#/PointingToDeclaration/okio/okio/-file-metadata/last-modified-at-millis.html +$dokka.location:okio/FileMetadata/size/#/PointingToDeclaration/okio/okio/-file-metadata/size.html +$dokka.location:okio/FileMetadata/symlinkTarget/#/PointingToDeclaration/okio/okio/-file-metadata/symlink-target.html +$dokka.location:okio/FileMetadata/toString/#/PointingToDeclaration/okio/okio/-file-metadata/to-string.html +$dokka.location:okio/FileNotFoundException///PointingToDeclaration/okio/okio/-file-not-found-exception/index.html +$dokka.location:okio/FileNotFoundException/FileNotFoundException/#kotlin.String?/PointingToDeclaration/okio/okio/-file-not-found-exception/-file-not-found-exception.html +$dokka.location:okio/FileSystem.Companion///PointingToDeclaration/okio/okio/-file-system/-companion/index.html +$dokka.location:okio/FileSystem.Companion/RESOURCES/#/PointingToDeclaration/okio/okio/-file-system/-companion/-r-e-s-o-u-r-c-e-s.html +$dokka.location:okio/FileSystem.Companion/SYSTEM/#/PointingToDeclaration/okio/okio/-file-system/-companion/[native]-s-y-s-t-e-m.html +$dokka.location:okio/FileSystem.Companion/SYSTEM_TEMPORARY_DIRECTORY/#/PointingToDeclaration/okio/okio/-file-system/-companion/-s-y-s-t-e-m_-t-e-m-p-o-r-a-r-y_-d-i-r-e-c-t-o-r-y.html +$dokka.location:okio/FileSystem.Companion/asOkioFileSystem/java.nio.file.FileSystem#/PointingToDeclaration/okio/okio/-file-system/-companion/as-okio-file-system.html +$dokka.location:okio/FileSystem///PointingToDeclaration/okio/okio/-file-system/index.html +$dokka.location:okio/FileSystem/FileSystem/#/PointingToDeclaration/okio/okio/-file-system/-file-system.html +$dokka.location:okio/FileSystem/appendingSink/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/appending-sink.html +$dokka.location:okio/FileSystem/appendingSink/#okio.Path/PointingToDeclaration/okio/okio/-file-system/appending-sink.html +$dokka.location:okio/FileSystem/atomicMove/#okio.Path#okio.Path/PointingToDeclaration/okio/okio/-file-system/atomic-move.html +$dokka.location:okio/FileSystem/canonicalize/#okio.Path/PointingToDeclaration/okio/okio/-file-system/canonicalize.html +$dokka.location:okio/FileSystem/copy/#okio.Path#okio.Path/PointingToDeclaration/okio/okio/-file-system/copy.html +$dokka.location:okio/FileSystem/createDirectories/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/create-directories.html +$dokka.location:okio/FileSystem/createDirectories/#okio.Path/PointingToDeclaration/okio/okio/-file-system/create-directories.html +$dokka.location:okio/FileSystem/createDirectory/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/create-directory.html +$dokka.location:okio/FileSystem/createDirectory/#okio.Path/PointingToDeclaration/okio/okio/-file-system/create-directory.html +$dokka.location:okio/FileSystem/createSymlink/#okio.Path#okio.Path/PointingToDeclaration/okio/okio/-file-system/create-symlink.html +$dokka.location:okio/FileSystem/delete/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/delete.html +$dokka.location:okio/FileSystem/delete/#okio.Path/PointingToDeclaration/okio/okio/-file-system/delete.html +$dokka.location:okio/FileSystem/deleteRecursively/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/delete-recursively.html +$dokka.location:okio/FileSystem/deleteRecursively/#okio.Path/PointingToDeclaration/okio/okio/-file-system/delete-recursively.html +$dokka.location:okio/FileSystem/exists/#okio.Path/PointingToDeclaration/okio/okio/-file-system/exists.html +$dokka.location:okio/FileSystem/list/#okio.Path/PointingToDeclaration/okio/okio/-file-system/list.html +$dokka.location:okio/FileSystem/listOrNull/#okio.Path/PointingToDeclaration/okio/okio/-file-system/list-or-null.html +$dokka.location:okio/FileSystem/listRecursively/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/list-recursively.html +$dokka.location:okio/FileSystem/listRecursively/#okio.Path/PointingToDeclaration/okio/okio/-file-system/list-recursively.html +$dokka.location:okio/FileSystem/metadata/#okio.Path/PointingToDeclaration/okio/okio/-file-system/metadata.html +$dokka.location:okio/FileSystem/metadataOrNull/#okio.Path/PointingToDeclaration/okio/okio/-file-system/metadata-or-null.html +$dokka.location:okio/FileSystem/openReadOnly/#okio.Path/PointingToDeclaration/okio/okio/-file-system/open-read-only.html +$dokka.location:okio/FileSystem/openReadWrite/#okio.Path#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/open-read-write.html +$dokka.location:okio/FileSystem/openReadWrite/#okio.Path/PointingToDeclaration/okio/okio/-file-system/open-read-write.html +$dokka.location:okio/FileSystem/read/#okio.Path#kotlin.Function1[okio.BufferedSource,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/-file-system/read.html +$dokka.location:okio/FileSystem/sink/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-file-system/sink.html +$dokka.location:okio/FileSystem/sink/#okio.Path/PointingToDeclaration/okio/okio/-file-system/sink.html +$dokka.location:okio/FileSystem/source/#okio.Path/PointingToDeclaration/okio/okio/-file-system/source.html +$dokka.location:okio/FileSystem/write/#okio.Path#kotlin.Boolean#kotlin.Function1[okio.BufferedSink,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/-file-system/write.html +$dokka.location:okio/ForwardingFileSystem///PointingToDeclaration/okio/okio/-forwarding-file-system/index.html +$dokka.location:okio/ForwardingFileSystem/ForwardingFileSystem/#okio.FileSystem/PointingToDeclaration/okio/okio/-forwarding-file-system/-forwarding-file-system.html +$dokka.location:okio/ForwardingFileSystem/appendingSink/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/appending-sink.html +$dokka.location:okio/ForwardingFileSystem/atomicMove/#okio.Path#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/atomic-move.html +$dokka.location:okio/ForwardingFileSystem/canonicalize/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/canonicalize.html +$dokka.location:okio/ForwardingFileSystem/createDirectory/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/create-directory.html +$dokka.location:okio/ForwardingFileSystem/createSymlink/#okio.Path#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/create-symlink.html +$dokka.location:okio/ForwardingFileSystem/delegate/#/PointingToDeclaration/okio/okio/-forwarding-file-system/delegate.html +$dokka.location:okio/ForwardingFileSystem/delete/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/delete.html +$dokka.location:okio/ForwardingFileSystem/list/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/list.html +$dokka.location:okio/ForwardingFileSystem/listOrNull/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/list-or-null.html +$dokka.location:okio/ForwardingFileSystem/listRecursively/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/list-recursively.html +$dokka.location:okio/ForwardingFileSystem/metadataOrNull/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/metadata-or-null.html +$dokka.location:okio/ForwardingFileSystem/onPathParameter/#okio.Path#kotlin.String#kotlin.String/PointingToDeclaration/okio/okio/-forwarding-file-system/on-path-parameter.html +$dokka.location:okio/ForwardingFileSystem/onPathResult/#okio.Path#kotlin.String/PointingToDeclaration/okio/okio/-forwarding-file-system/on-path-result.html +$dokka.location:okio/ForwardingFileSystem/openReadOnly/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/open-read-only.html +$dokka.location:okio/ForwardingFileSystem/openReadWrite/#okio.Path#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/open-read-write.html +$dokka.location:okio/ForwardingFileSystem/sink/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-forwarding-file-system/sink.html +$dokka.location:okio/ForwardingFileSystem/source/#okio.Path/PointingToDeclaration/okio/okio/-forwarding-file-system/source.html +$dokka.location:okio/ForwardingFileSystem/toString/#/PointingToDeclaration/okio/okio/-forwarding-file-system/to-string.html +$dokka.location:okio/ForwardingSink///PointingToDeclaration/okio/okio/-forwarding-sink/index.html +$dokka.location:okio/ForwardingSink/ForwardingSink/#okio.Sink/PointingToDeclaration/okio/okio/-forwarding-sink/-forwarding-sink.html +$dokka.location:okio/ForwardingSink/close/#/PointingToDeclaration/okio/okio/-forwarding-sink/close.html +$dokka.location:okio/ForwardingSink/delegate/#/PointingToDeclaration/okio/okio/-forwarding-sink/delegate.html +$dokka.location:okio/ForwardingSink/flush/#/PointingToDeclaration/okio/okio/-forwarding-sink/flush.html +$dokka.location:okio/ForwardingSink/timeout/#/PointingToDeclaration/okio/okio/-forwarding-sink/timeout.html +$dokka.location:okio/ForwardingSink/toString/#/PointingToDeclaration/okio/okio/-forwarding-sink/to-string.html +$dokka.location:okio/ForwardingSink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-forwarding-sink/write.html +$dokka.location:okio/ForwardingSource///PointingToDeclaration/okio/okio/-forwarding-source/index.html +$dokka.location:okio/ForwardingSource/ForwardingSource/#okio.Source/PointingToDeclaration/okio/okio/-forwarding-source/-forwarding-source.html +$dokka.location:okio/ForwardingSource/close/#/PointingToDeclaration/okio/okio/-forwarding-source/close.html +$dokka.location:okio/ForwardingSource/delegate/#/PointingToDeclaration/okio/okio/-forwarding-source/delegate.html +$dokka.location:okio/ForwardingSource/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-forwarding-source/read.html +$dokka.location:okio/ForwardingSource/timeout/#/PointingToDeclaration/okio/okio/-forwarding-source/timeout.html +$dokka.location:okio/ForwardingSource/toString/#/PointingToDeclaration/okio/okio/-forwarding-source/to-string.html +$dokka.location:okio/ForwardingTimeout///PointingToDeclaration/okio/okio/-forwarding-timeout/index.html +$dokka.location:okio/ForwardingTimeout/ForwardingTimeout/#okio.Timeout/PointingToDeclaration/okio/okio/-forwarding-timeout/-forwarding-timeout.html +$dokka.location:okio/ForwardingTimeout/clearDeadline/#/PointingToDeclaration/okio/okio/-forwarding-timeout/clear-deadline.html +$dokka.location:okio/ForwardingTimeout/clearTimeout/#/PointingToDeclaration/okio/okio/-forwarding-timeout/clear-timeout.html +$dokka.location:okio/ForwardingTimeout/deadlineNanoTime/#/PointingToDeclaration/okio/okio/-forwarding-timeout/deadline-nano-time.html +$dokka.location:okio/ForwardingTimeout/deadlineNanoTime/#kotlin.Long/PointingToDeclaration/okio/okio/-forwarding-timeout/deadline-nano-time.html +$dokka.location:okio/ForwardingTimeout/delegate/#/PointingToDeclaration/okio/okio/-forwarding-timeout/delegate.html +$dokka.location:okio/ForwardingTimeout/hasDeadline/#/PointingToDeclaration/okio/okio/-forwarding-timeout/has-deadline.html +$dokka.location:okio/ForwardingTimeout/setDelegate/#okio.Timeout/PointingToDeclaration/okio/okio/-forwarding-timeout/set-delegate.html +$dokka.location:okio/ForwardingTimeout/throwIfReached/#/PointingToDeclaration/okio/okio/-forwarding-timeout/throw-if-reached.html +$dokka.location:okio/ForwardingTimeout/timeout/#kotlin.Long#java.util.concurrent.TimeUnit/PointingToDeclaration/okio/okio/-forwarding-timeout/timeout.html +$dokka.location:okio/ForwardingTimeout/timeoutNanos/#/PointingToDeclaration/okio/okio/-forwarding-timeout/timeout-nanos.html +$dokka.location:okio/GzipSink///PointingToDeclaration/okio/okio/-gzip-sink/index.html +$dokka.location:okio/GzipSink/GzipSink/#okio.Sink/PointingToDeclaration/okio/okio/-gzip-sink/-gzip-sink.html +$dokka.location:okio/GzipSink/close/#/PointingToDeclaration/okio/okio/-gzip-sink/close.html +$dokka.location:okio/GzipSink/deflater/#/PointingToDeclaration/okio/okio/-gzip-sink/deflater.html +$dokka.location:okio/GzipSink/flush/#/PointingToDeclaration/okio/okio/-gzip-sink/flush.html +$dokka.location:okio/GzipSink/timeout/#/PointingToDeclaration/okio/okio/-gzip-sink/timeout.html +$dokka.location:okio/GzipSink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-gzip-sink/write.html +$dokka.location:okio/GzipSource///PointingToDeclaration/okio/okio/-gzip-source/index.html +$dokka.location:okio/GzipSource/GzipSource/#okio.Source/PointingToDeclaration/okio/okio/-gzip-source/-gzip-source.html +$dokka.location:okio/GzipSource/close/#/PointingToDeclaration/okio/okio/-gzip-source/close.html +$dokka.location:okio/GzipSource/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-gzip-source/read.html +$dokka.location:okio/GzipSource/timeout/#/PointingToDeclaration/okio/okio/-gzip-source/timeout.html +$dokka.location:okio/HashingSink.Companion///PointingToDeclaration/okio/okio/-hashing-sink/-companion/index.html +$dokka.location:okio/HashingSink.Companion/hmacSha1/#okio.Sink#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-sink/-companion/hmac-sha1.html +$dokka.location:okio/HashingSink.Companion/hmacSha256/#okio.Sink#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-sink/-companion/hmac-sha256.html +$dokka.location:okio/HashingSink.Companion/hmacSha512/#okio.Sink#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-sink/-companion/hmac-sha512.html +$dokka.location:okio/HashingSink.Companion/md5/#okio.Sink/PointingToDeclaration/okio/okio/-hashing-sink/-companion/md5.html +$dokka.location:okio/HashingSink.Companion/sha1/#okio.Sink/PointingToDeclaration/okio/okio/-hashing-sink/-companion/sha1.html +$dokka.location:okio/HashingSink.Companion/sha256/#okio.Sink/PointingToDeclaration/okio/okio/-hashing-sink/-companion/sha256.html +$dokka.location:okio/HashingSink.Companion/sha512/#okio.Sink/PointingToDeclaration/okio/okio/-hashing-sink/-companion/sha512.html +$dokka.location:okio/HashingSink///PointingToDeclaration/okio/okio/-hashing-sink/index.html +$dokka.location:okio/HashingSink/close/#/PointingToDeclaration/okio/okio/-hashing-sink/close.html +$dokka.location:okio/HashingSink/flush/#/PointingToDeclaration/okio/okio/-hashing-sink/flush.html +$dokka.location:okio/HashingSink/hash/#/PointingToDeclaration/okio/okio/-hashing-sink/hash.html +$dokka.location:okio/HashingSink/timeout/#/PointingToDeclaration/okio/okio/-hashing-sink/timeout.html +$dokka.location:okio/HashingSink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-hashing-sink/[non-jvm]write.html +$dokka.location:okio/HashingSource.Companion///PointingToDeclaration/okio/okio/-hashing-source/-companion/index.html +$dokka.location:okio/HashingSource.Companion/hmacSha1/#okio.Source#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-source/-companion/hmac-sha1.html +$dokka.location:okio/HashingSource.Companion/hmacSha256/#okio.Source#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-source/-companion/hmac-sha256.html +$dokka.location:okio/HashingSource.Companion/hmacSha512/#okio.Source#okio.ByteString/PointingToDeclaration/okio/okio/-hashing-source/-companion/hmac-sha512.html +$dokka.location:okio/HashingSource.Companion/md5/#okio.Source/PointingToDeclaration/okio/okio/-hashing-source/-companion/md5.html +$dokka.location:okio/HashingSource.Companion/sha1/#okio.Source/PointingToDeclaration/okio/okio/-hashing-source/-companion/sha1.html +$dokka.location:okio/HashingSource.Companion/sha256/#okio.Source/PointingToDeclaration/okio/okio/-hashing-source/-companion/sha256.html +$dokka.location:okio/HashingSource.Companion/sha512/#okio.Source/PointingToDeclaration/okio/okio/-hashing-source/-companion/sha512.html +$dokka.location:okio/HashingSource///PointingToDeclaration/okio/okio/-hashing-source/index.html +$dokka.location:okio/HashingSource/close/#/PointingToDeclaration/okio/okio/-hashing-source/close.html +$dokka.location:okio/HashingSource/hash/#/PointingToDeclaration/okio/okio/-hashing-source/hash.html +$dokka.location:okio/HashingSource/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-hashing-source/[non-jvm]read.html +$dokka.location:okio/HashingSource/timeout/#/PointingToDeclaration/okio/okio/-hashing-source/timeout.html +$dokka.location:okio/IOException///PointingToDeclaration/okio/okio/-i-o-exception/index.html +$dokka.location:okio/IOException/IOException/#kotlin.String?#kotlin.Throwable?/PointingToDeclaration/okio/okio/-i-o-exception/-i-o-exception.html +$dokka.location:okio/IOException/IOException/#kotlin.String?/PointingToDeclaration/okio/okio/-i-o-exception/-i-o-exception.html +$dokka.location:okio/InflaterSource///PointingToDeclaration/okio/okio/-inflater-source/index.html +$dokka.location:okio/InflaterSource/InflaterSource/#okio.Source#java.util.zip.Inflater/PointingToDeclaration/okio/okio/-inflater-source/-inflater-source.html +$dokka.location:okio/InflaterSource/close/#/PointingToDeclaration/okio/okio/-inflater-source/close.html +$dokka.location:okio/InflaterSource/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-inflater-source/read.html +$dokka.location:okio/InflaterSource/readOrInflate/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-inflater-source/read-or-inflate.html +$dokka.location:okio/InflaterSource/refill/#/PointingToDeclaration/okio/okio/-inflater-source/refill.html +$dokka.location:okio/InflaterSource/timeout/#/PointingToDeclaration/okio/okio/-inflater-source/timeout.html +$dokka.location:okio/Lock.Companion///PointingToDeclaration/okio/okio/-lock/-companion/index.html +$dokka.location:okio/Lock.Companion/instance/#/PointingToDeclaration/okio/okio/-lock/-companion/instance.html +$dokka.location:okio/Lock///PointingToDeclaration/okio/okio/-lock/index.html +$dokka.location:okio/Lock/Lock/#/PointingToDeclaration/okio/okio/-lock/-lock.html +$dokka.location:okio/Options.Companion///PointingToDeclaration/okio/okio/-options/-companion/index.html +$dokka.location:okio/Options.Companion/of/#kotlin.Array[okio.ByteString]/PointingToDeclaration/okio/okio/-options/-companion/of.html +$dokka.location:okio/Options///PointingToDeclaration/okio/okio/-options/index.html +$dokka.location:okio/Options/get/#kotlin.Int/PointingToDeclaration/okio/okio/-options/get.html +$dokka.location:okio/Options/size/#/PointingToDeclaration/okio/okio/-options/size.html +$dokka.location:okio/Path.Companion///PointingToDeclaration/okio/okio/-path/-companion/index.html +$dokka.location:okio/Path.Companion/DIRECTORY_SEPARATOR/#/PointingToDeclaration/okio/okio/-path/-companion/-d-i-r-e-c-t-o-r-y_-s-e-p-a-r-a-t-o-r.html +$dokka.location:okio/Path.Companion/toOkioPath/java.io.File#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/-companion/to-okio-path.html +$dokka.location:okio/Path.Companion/toOkioPath/java.nio.file.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/-companion/to-okio-path.html +$dokka.location:okio/Path.Companion/toPath/kotlin.String#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/-companion/to-path.html +$dokka.location:okio/Path///PointingToDeclaration/okio/okio/-path/index.html +$dokka.location:okio/Path/compareTo/#okio.Path/PointingToDeclaration/okio/okio/-path/compare-to.html +$dokka.location:okio/Path/div/#kotlin.String/PointingToDeclaration/okio/okio/-path/div.html +$dokka.location:okio/Path/div/#okio.ByteString/PointingToDeclaration/okio/okio/-path/div.html +$dokka.location:okio/Path/div/#okio.Path/PointingToDeclaration/okio/okio/-path/div.html +$dokka.location:okio/Path/equals/#kotlin.Any?/PointingToDeclaration/okio/okio/-path/equals.html +$dokka.location:okio/Path/hashCode/#/PointingToDeclaration/okio/okio/-path/hash-code.html +$dokka.location:okio/Path/isAbsolute/#/PointingToDeclaration/okio/okio/-path/is-absolute.html +$dokka.location:okio/Path/isRelative/#/PointingToDeclaration/okio/okio/-path/is-relative.html +$dokka.location:okio/Path/isRoot/#/PointingToDeclaration/okio/okio/-path/is-root.html +$dokka.location:okio/Path/name/#/PointingToDeclaration/okio/okio/-path/name.html +$dokka.location:okio/Path/nameBytes/#/PointingToDeclaration/okio/okio/-path/name-bytes.html +$dokka.location:okio/Path/normalized/#/PointingToDeclaration/okio/okio/-path/normalized.html +$dokka.location:okio/Path/parent/#/PointingToDeclaration/okio/okio/-path/parent.html +$dokka.location:okio/Path/relativeTo/#okio.Path/PointingToDeclaration/okio/okio/-path/relative-to.html +$dokka.location:okio/Path/resolve/#kotlin.String#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/resolve.html +$dokka.location:okio/Path/resolve/#okio.ByteString#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/resolve.html +$dokka.location:okio/Path/resolve/#okio.Path#kotlin.Boolean/PointingToDeclaration/okio/okio/-path/resolve.html +$dokka.location:okio/Path/root/#/PointingToDeclaration/okio/okio/-path/root.html +$dokka.location:okio/Path/segments/#/PointingToDeclaration/okio/okio/-path/segments.html +$dokka.location:okio/Path/segmentsBytes/#/PointingToDeclaration/okio/okio/-path/segments-bytes.html +$dokka.location:okio/Path/toFile/#/PointingToDeclaration/okio/okio/-path/to-file.html +$dokka.location:okio/Path/toNioPath/#/PointingToDeclaration/okio/okio/-path/to-nio-path.html +$dokka.location:okio/Path/toString/#/PointingToDeclaration/okio/okio/-path/to-string.html +$dokka.location:okio/Path/volumeLetter/#/PointingToDeclaration/okio/okio/-path/volume-letter.html +$dokka.location:okio/Pipe///PointingToDeclaration/okio/okio/-pipe/index.html +$dokka.location:okio/Pipe/Pipe/#kotlin.Long/PointingToDeclaration/okio/okio/-pipe/-pipe.html +$dokka.location:okio/Pipe/cancel/#/PointingToDeclaration/okio/okio/-pipe/cancel.html +$dokka.location:okio/Pipe/condition/#/PointingToDeclaration/okio/okio/-pipe/condition.html +$dokka.location:okio/Pipe/fold/#okio.Sink/PointingToDeclaration/okio/okio/-pipe/fold.html +$dokka.location:okio/Pipe/lock/#/PointingToDeclaration/okio/okio/-pipe/lock.html +$dokka.location:okio/Pipe/sink/#/PointingToDeclaration/okio/okio/-pipe/sink.html +$dokka.location:okio/Pipe/source/#/PointingToDeclaration/okio/okio/-pipe/source.html +$dokka.location:okio/ProtocolException///PointingToDeclaration/okio/okio/-protocol-exception/index.html +$dokka.location:okio/ProtocolException/ProtocolException/#kotlin.String/PointingToDeclaration/okio/okio/-protocol-exception/-protocol-exception.html +$dokka.location:okio/Sink///PointingToDeclaration/okio/okio/-sink/index.html +$dokka.location:okio/Sink/close/#/PointingToDeclaration/okio/okio/-sink/close.html +$dokka.location:okio/Sink/flush/#/PointingToDeclaration/okio/okio/-sink/flush.html +$dokka.location:okio/Sink/timeout/#/PointingToDeclaration/okio/okio/-sink/timeout.html +$dokka.location:okio/Sink/write/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-sink/write.html +$dokka.location:okio/Source///PointingToDeclaration/okio/okio/-source/index.html +$dokka.location:okio/Source/close/#/PointingToDeclaration/okio/okio/-source/close.html +$dokka.location:okio/Source/read/#okio.Buffer#kotlin.Long/PointingToDeclaration/okio/okio/-source/read.html +$dokka.location:okio/Source/timeout/#/PointingToDeclaration/okio/okio/-source/timeout.html +$dokka.location:okio/Throttler///PointingToDeclaration/okio/okio/-throttler/index.html +$dokka.location:okio/Throttler/Throttler/#/PointingToDeclaration/okio/okio/-throttler/-throttler.html +$dokka.location:okio/Throttler/bytesPerSecond/#kotlin.Long#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-throttler/bytes-per-second.html +$dokka.location:okio/Throttler/condition/#/PointingToDeclaration/okio/okio/-throttler/condition.html +$dokka.location:okio/Throttler/lock/#/PointingToDeclaration/okio/okio/-throttler/lock.html +$dokka.location:okio/Throttler/sink/#okio.Sink/PointingToDeclaration/okio/okio/-throttler/sink.html +$dokka.location:okio/Throttler/source/#okio.Source/PointingToDeclaration/okio/okio/-throttler/source.html +$dokka.location:okio/Timeout.Companion///PointingToDeclaration/okio/okio/-timeout/-companion/index.html +$dokka.location:okio/Timeout.Companion/NONE/#/PointingToDeclaration/okio/okio/-timeout/-companion/-n-o-n-e.html +$dokka.location:okio/Timeout.Companion/minTimeout/#kotlin.Long#kotlin.Long/PointingToDeclaration/okio/okio/-timeout/-companion/min-timeout.html +$dokka.location:okio/Timeout///PointingToDeclaration/okio/okio/-timeout/index.html +$dokka.location:okio/Timeout/Timeout/#/PointingToDeclaration/okio/okio/-timeout/-timeout.html +$dokka.location:okio/Timeout/awaitSignal/#java.util.concurrent.locks.Condition/PointingToDeclaration/okio/okio/-timeout/await-signal.html +$dokka.location:okio/Timeout/clearDeadline/#/PointingToDeclaration/okio/okio/-timeout/clear-deadline.html +$dokka.location:okio/Timeout/clearTimeout/#/PointingToDeclaration/okio/okio/-timeout/clear-timeout.html +$dokka.location:okio/Timeout/deadline/#kotlin.Long#java.util.concurrent.TimeUnit/PointingToDeclaration/okio/okio/-timeout/deadline.html +$dokka.location:okio/Timeout/deadlineNanoTime/#/PointingToDeclaration/okio/okio/-timeout/deadline-nano-time.html +$dokka.location:okio/Timeout/deadlineNanoTime/#kotlin.Long/PointingToDeclaration/okio/okio/-timeout/deadline-nano-time.html +$dokka.location:okio/Timeout/hasDeadline/#/PointingToDeclaration/okio/okio/-timeout/has-deadline.html +$dokka.location:okio/Timeout/intersectWith/#okio.Timeout#kotlin.Function0[TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/okio/okio/-timeout/intersect-with.html +$dokka.location:okio/Timeout/throwIfReached/#/PointingToDeclaration/okio/okio/-timeout/throw-if-reached.html +$dokka.location:okio/Timeout/timeout/#kotlin.Long#java.util.concurrent.TimeUnit/PointingToDeclaration/okio/okio/-timeout/timeout.html +$dokka.location:okio/Timeout/timeoutNanos/#/PointingToDeclaration/okio/okio/-timeout/timeout-nanos.html +$dokka.location:okio/Timeout/waitUntilNotified/#kotlin.Any/PointingToDeclaration/okio/okio/-timeout/wait-until-notified.html +okio + diff --git a/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoBuf.kt b/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoBuf.kt index 6ca6a3ce..92bb2f5e 100644 --- a/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoBuf.kt +++ b/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoBuf.kt @@ -11,12 +11,14 @@ import kotlin.js.* /** * Implements [encoding][encodeToByteArray] and [decoding][decodeFromByteArray] classes to/from bytes - * using [Proto2][https://developers.google.com/protocol-buffers/docs/proto] specification. - * It is typically used by constructing an application-specific instance, with configured specific behaviour + * using [Protocol buffers](https://protobuf.dev/) specification. + * It is typically used by constructing an application-specific instance, with configured specific behavior * and, if necessary, registered custom serializers (in [SerializersModule] provided by [serializersModule] constructor parameter). + * Default encoding is proto2, although proto3 can be used with a number of tweaks (see the section below for details). + * * * ### Correspondence between Protobuf message definitions and Kotlin classes - * Given a ProtoBuf definition with one required field, one optional field and one optional field with a custom default + * Given a ProtoBuf definition with one required field, one optional field, and one optional field with a custom default * value: * ``` * message MyMessage { @@ -32,27 +34,29 @@ import kotlin.js.* * data class MyMessage(val first: Int, val second: Int = 0, val third: Int = 42) * ``` * - * By default, protobuf fields ids are being assigned to Kotlin properties in incremental order, i.e. - * the first property in the class has id 1, the second has id 2, and so forth. - * If you need a more stable order (e.g. to avoid breaking changes when reordering properties), - * provide custom ids using [ProtoNumber] annotation. + * By default, protobuf fields numbers are being assigned to Kotlin properties in incremental order, i.e., + * the first property in the class has number 1, the second has number 2, and so forth. + * If you need a more stable order (e.g., to avoid breaking changes when reordering properties), + * provide custom numbers using [ProtoNumber] annotation. * - * By default, all integer numbers are encoded using [varint][https://developers.google.com/protocol-buffers/docs/encoding#varints] - * encoding. This behaviour can be changed via [ProtoType] annotation. + * By default, all integer values are encoded using [varint](https://protobuf.dev/programming-guides/encoding/#varints) + * encoding. This behavior can be changed via [ProtoType] annotation. * * ### Known caveats and limitations * Lists are represented as repeated fields. Because format spec says that if the list is empty, - * there are no elements in the stream with such tag, you must explicitly mark any - * field of list type with default = emptyList(). Same for maps. - * There's no special support for `oneof` protobuf fields. However, this implementation + * there are no elements in the stream with such tag, you have to explicitly add to any + * property of `List` type a default value equals to `emptyList()`. Same for maps. + * There is no special support for `oneof` protobuf fields. However, this implementation * supports standard kotlinx.serialization's polymorphic and sealed serializers, - * using their default form (message of serialName: string and other embedded message with actual content). + * using their default form (message consisting of `serialName: string` and other embedded message with actual content). * * ### Proto3 support - * This implementation does not support repeated packed fields, so you won't be able to deserialize - * Proto3 lists. However, other messages could be decoded. You have to remember that since fields in Proto3 - * messages by default are implicitly optional, - * corresponding Kotlin properties have to be nullable with default value `null`. + * + * proto2 and proto3 specifications use the same encoding, so you can use this class to decode Proto3 messages. + * However, the message structure is slightly different, so you should remember the following: + * + * - In proto3, fields by default are implicitly optional, so corresponding Kotlin properties have to be nullable and have a default value `null`. + * - In proto3, all lists use packed encoding by default. To be able to decode them, annotation [ProtoPacked] should be used on all properties with type `List`. * * ### Usage example * ``` @@ -112,6 +116,9 @@ import kotlin.js.* * @param encodeDefaults specifies whether default values are encoded. * False by default; meaning that properties with values equal to defaults will be elided. * @param serializersModule application-specific [SerializersModule] to provide custom serializers. + * @see ProtoNumber + * @see ProtoType + * @see ProtoPacked */ @ExperimentalSerializationApi public sealed class ProtoBuf( diff --git a/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoTypes.kt b/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoTypes.kt index 3b62d4dc..109ffb83 100644 --- a/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoTypes.kt +++ b/formats/protobuf/commonMain/src/kotlinx/serialization/protobuf/ProtoTypes.kt @@ -11,7 +11,7 @@ import kotlinx.serialization.descriptors.* * Specifies protobuf field number (a unique number for a field in the protobuf message) * assigned to a Kotlin property. * - * See [https://developers.google.com/protocol-buffers/docs/proto#assigning-field-numbers] + * See [Assigning field numbers](https://protobuf.dev/programming-guides/proto2/#assigning) for details. */ @SerialInfo @Target(AnnotationTarget.PROPERTY) @@ -19,15 +19,14 @@ import kotlinx.serialization.descriptors.* public annotation class ProtoNumber(public val number: Int) /** - * Represents a number format in protobuf encoding. + * Represents a number format in protobuf encoding set by [ProtoType] annotation. * * [DEFAULT] is default varint encoding (intXX), * [SIGNED] is signed ZigZag representation (sintXX), and * [FIXED] is fixedXX type. * uintXX and sfixedXX are not supported yet. * - * See [https://developers.google.com/protocol-buffers/docs/proto#scalar] - * @see ProtoType + * See [Scalar value types](https://protobuf.dev/programming-guides/proto2/#scalar) for details. */ @Suppress("NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING") @ExperimentalSerializationApi @@ -48,7 +47,7 @@ public annotation class ProtoType(public val type: ProtoIntegerType) /** - * Instructs that a particular collection should be written as [packed array](https://developers.google.com/protocol-buffers/docs/encoding#packed) + * Instructs that a particular collection should be written as a [packed array](https://protobuf.dev/programming-guides/encoding/#packed). */ @SerialInfo @Target(AnnotationTarget.PROPERTY) diff --git a/gradle/dokka.gradle b/gradle/dokka.gradle index 1a33fc26..58be66b2 100644 --- a/gradle/dokka.gradle +++ b/gradle/dokka.gradle @@ -7,6 +7,7 @@ apply plugin: 'org.jetbrains.dokka' def documentedSubprojects = ["kotlinx-serialization-core", "kotlinx-serialization-json", + "kotlinx-serialization-json-okio", "kotlinx-serialization-cbor", "kotlinx-serialization-properties", "kotlinx-serialization-hocon", @@ -65,6 +66,12 @@ subprojects { reportUndocumented.set(false) skipDeprecated.set(true) } + + // JS/Native implementation of JVM-only `org.intellij.lang.annotations.Language` class to add syntax support by IDE. + perPackageOption { + matchingRegex.set("org\\.intellij\\.lang\\.annotations(\$|\\.).*") + suppress.set(true) + } } } } |