From 7d51df53f5fcef5946dce46d0bcd9295f37a3b3b Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Mon, 11 Mar 2024 14:01:57 -0400 Subject: [PATCH] Do not allocate path outside conditionals It is not guaranteed to be used at this point and performs a decent amount of allocation and computation. --- .../main/java/com/squareup/moshi/adapters/EnumJsonAdapter.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/moshi-adapters/src/main/java/com/squareup/moshi/adapters/EnumJsonAdapter.kt b/moshi-adapters/src/main/java/com/squareup/moshi/adapters/EnumJsonAdapter.kt index 55b5119..1a95c04 100644 --- a/moshi-adapters/src/main/java/com/squareup/moshi/adapters/EnumJsonAdapter.kt +++ b/moshi-adapters/src/main/java/com/squareup/moshi/adapters/EnumJsonAdapter.kt @@ -74,16 +74,15 @@ public class EnumJsonAdapter> internal constructor( override fun fromJson(reader: JsonReader): T? { val index = reader.selectString(options) if (index != -1) return constants[index] - val path = reader.path if (!useFallbackValue) { val name = reader.nextString() throw JsonDataException( - "Expected one of ${nameStrings.toList()} but was $name at path $path", + "Expected one of ${nameStrings.toList()} but was $name at path ${reader.path}", ) } if (reader.peek() != STRING) { throw JsonDataException( - "Expected a string but was ${reader.peek()} at path $path", + "Expected a string but was ${reader.peek()} at path ${reader.path}", ) } reader.skipValue()