summaryrefslogtreecommitdiff
path: root/formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt
diff options
context:
space:
mode:
authorClara Fok <clarafok@google.com>2024-04-23 10:28:10 -0700
committerColin Cross <ccross@android.com>2024-04-23 14:03:42 -0700
commit3eabe70bae2e9e08a9325f57c4cc558cbb947257 (patch)
tree1e0665b0be3c1eff26b3b737cb3a17a3a3a13388 /formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt
parent45d6ad7772c2ea15a55ef6cf30561583da352e99 (diff)
parent3efe324be422ead21ca44f2f6318e1791c166556 (diff)
downloadkotlinx.serialization-3eabe70bae2e9e08a9325f57c4cc558cbb947257.tar.gz
Upgrade kotlinx.serialization to v1.6.3
This project was upgraded with external_updater. Usage: tools/external_updater/updater.sh update external/kotlinx.serialization For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md Test: TreeHugger Change-Id: I0a33712c9ac0a953307b3e8c3470f29cdd6dcaec
Diffstat (limited to 'formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt')
-rw-r--r--formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt11
1 files changed, 9 insertions, 2 deletions
diff --git a/formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt b/formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt
index d1698db2..c6098dd4 100644
--- a/formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt
+++ b/formats/json/commonMain/src/kotlinx/serialization/json/internal/JsonExceptions.kt
@@ -46,6 +46,13 @@ internal fun AbstractJsonLexer.throwInvalidFloatingPointDecoded(result: Number):
hint = specialFlowingValuesHint)
}
+internal fun AbstractJsonLexer.invalidTrailingComma(entity: String = "object"): Nothing {
+ fail("Trailing comma before the end of JSON $entity",
+ position = currentPosition - 1,
+ hint = "Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingCommas = true' in 'Json {}' builder to support them."
+ )
+}
+
@OptIn(ExperimentalSerializationApi::class)
internal fun InvalidKeyKindException(keyDescriptor: SerialDescriptor) = JsonEncodingException(
"Value of type '${keyDescriptor.serialName}' can't be used in JSON as a key in the map. " +
@@ -70,12 +77,12 @@ private fun unexpectedFpErrorMessage(value: Number, key: String, output: String)
internal fun UnknownKeyException(key: String, input: String) = JsonDecodingException(
-1,
- "Encountered unknown key '$key'.\n" +
+ "Encountered an unknown key '$key'.\n" +
"$ignoreUnknownKeysHint\n" +
"Current input: ${input.minify()}"
)
-private fun CharSequence.minify(offset: Int = -1): CharSequence {
+internal fun CharSequence.minify(offset: Int = -1): CharSequence {
if (length < 200) return this
if (offset == -1) {
val start = this.length - 60