gitextract_wxuqnsxb/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── renovate.json5 │ └── workflows/ │ ├── .java-version │ ├── build.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── build.gradle.kts ├── examples/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── squareup/ │ └── moshi/ │ └── recipes/ │ ├── ByteStrings.java │ ├── CardAdapter.java │ ├── CustomAdapterFactory.java │ ├── CustomAdapterWithDelegate.java │ ├── CustomFieldName.java │ ├── CustomQualifier.java │ ├── CustomTypeAdapter.java │ ├── DefaultOnDataMismatchAdapter.java │ ├── FallbackEnum.java │ ├── FromJsonWithoutStrings.java │ ├── IncludeNullsForAnnotatedTypes.java │ ├── IncludeNullsForOneType.java │ ├── JsonString.kt │ ├── MultipleFormats.java │ ├── ReadAndWriteRfc3339Dates.java │ ├── ReadJson.java │ ├── ReadJsonList.java │ ├── ReadJsonListKt.kt │ ├── RecoverFromTypeMismatch.java │ ├── Unwrap.java │ ├── WriteJson.java │ ├── models/ │ │ ├── BlackjackHand.java │ │ ├── Card.java │ │ ├── Player.java │ │ ├── Suit.java │ │ └── Tournament.java │ └── package-info.java ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── moshi/ │ ├── build.gradle.kts │ ├── gradle.properties │ ├── japicmp/ │ │ └── build.gradle.kts │ ├── records-tests/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── squareup/ │ │ └── moshi/ │ │ └── records/ │ │ └── RecordsTest.java │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── squareup/ │ │ │ └── moshi/ │ │ │ ├── -JsonUtf8Reader.kt │ │ │ ├── -JsonUtf8Writer.kt │ │ │ ├── -JsonValueReader.kt │ │ │ ├── -JsonValueWriter.kt │ │ │ ├── -MoshiKotlinExtensions.kt │ │ │ ├── -MoshiKotlinTypesExtensions.kt │ │ │ ├── FromJson.kt │ │ │ ├── Json.kt │ │ │ ├── JsonAdapter.kt │ │ │ ├── JsonClass.kt │ │ │ ├── JsonDataException.kt │ │ │ ├── JsonEncodingException.kt │ │ │ ├── JsonQualifier.kt │ │ │ ├── JsonReader.kt │ │ │ ├── JsonWriter.kt │ │ │ ├── Moshi.kt │ │ │ ├── ToJson.kt │ │ │ ├── Types.kt │ │ │ ├── internal/ │ │ │ │ ├── AdapterMethodsFactory.kt │ │ │ │ ├── ArrayJsonAdapter.kt │ │ │ │ ├── ClassFactory.kt │ │ │ │ ├── ClassJsonAdapter.kt │ │ │ │ ├── CollectionJsonAdapter.kt │ │ │ │ ├── JsonScope.kt │ │ │ │ ├── JsonValueSource.kt │ │ │ │ ├── KotlinReflectTypes.kt │ │ │ │ ├── LinkedHashTreeMap.kt │ │ │ │ ├── MapJsonAdapter.kt │ │ │ │ ├── NonNullJsonAdapter.kt │ │ │ │ ├── NullSafeJsonAdapter.kt │ │ │ │ ├── RecordJsonAdapter.kt │ │ │ │ ├── StandardJsonAdapters.kt │ │ │ │ └── Util.kt │ │ │ └── package-info.java │ │ ├── java16/ │ │ │ └── com/ │ │ │ └── squareup/ │ │ │ └── moshi/ │ │ │ └── internal/ │ │ │ └── RecordJsonAdapter.kt │ │ └── resources/ │ │ └── META-INF/ │ │ └── proguard/ │ │ └── moshi.pro │ └── test/ │ └── java/ │ ├── android/ │ │ └── util/ │ │ └── Pair.java │ └── com/ │ └── squareup/ │ └── moshi/ │ ├── AdapterMethodsTest.java │ ├── CircularAdaptersTest.java │ ├── DeferredAdapterTest.java │ ├── FlattenTest.java │ ├── JsonAdapterTest.java │ ├── JsonCodecFactory.java │ ├── JsonQualifiersTest.java │ ├── JsonReaderPathTest.java │ ├── JsonReaderTest.java │ ├── JsonUtf8ReaderTest.java │ ├── JsonUtf8WriterTest.java │ ├── JsonValueReaderTest.java │ ├── JsonValueWriterTest.java │ ├── JsonWriterPathTest.java │ ├── JsonWriterTest.java │ ├── KotlinExtensionsTest.kt │ ├── MoshiTest.java │ ├── MoshiTesting.kt │ ├── ObjectAdapterTest.java │ ├── PromoteNameToValueTest.java │ ├── RecursiveTypesResolveTest.java │ ├── TestUtil.java │ ├── TypesTest.java │ └── internal/ │ ├── ClassJsonAdapterTest.java │ ├── JsonValueSourceTest.java │ ├── KotlinReflectTypesTest.kt │ ├── LinkedHashTreeMapTest.java │ └── MapJsonAdapterTest.java ├── moshi-adapters/ │ ├── README.md │ ├── build.gradle.kts │ ├── japicmp/ │ │ └── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── squareup/ │ │ └── moshi/ │ │ ├── Rfc3339DateJsonAdapter.kt │ │ └── adapters/ │ │ ├── EnumJsonAdapter.kt │ │ ├── Iso8601Utils.kt │ │ ├── PolymorphicJsonAdapterFactory.kt │ │ └── Rfc3339DateJsonAdapter.kt │ └── test/ │ └── java/ │ └── com/ │ └── squareup/ │ └── moshi/ │ └── adapters/ │ ├── EnumJsonAdapterTest.java │ ├── PolymorphicJsonAdapterFactoryTest.java │ └── Rfc3339DateJsonAdapterTest.java ├── moshi-kotlin/ │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── squareup/ │ │ │ └── moshi/ │ │ │ ├── KotlinJsonAdapterFactory.kt │ │ │ └── kotlin/ │ │ │ └── reflect/ │ │ │ ├── IndexedParameterMap.kt │ │ │ ├── Invokable.kt │ │ │ ├── JvmDescriptors.kt │ │ │ ├── JvmSignatureSearcher.kt │ │ │ ├── KmExecutable.kt │ │ │ ├── KotlinJsonAdapterFactory.kt │ │ │ └── KtTypes.kt │ │ └── resources/ │ │ └── META-INF/ │ │ └── com.android.tools/ │ │ ├── proguard/ │ │ │ └── moshi-metadata-reflect.pro │ │ ├── r8-from-1.6.0/ │ │ │ └── moshi-metadata-reflect.pro │ │ └── r8-upto-1.6.0/ │ │ └── moshi-metadata-reflect.pro │ └── test/ │ └── java/ │ └── com/ │ └── squareup/ │ └── moshi/ │ └── kotlin/ │ └── reflect/ │ └── KotlinJsonAdapterTest.kt ├── moshi-kotlin-codegen/ │ ├── build.gradle.kts │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── squareup/ │ │ └── moshi/ │ │ └── kotlin/ │ │ └── codegen/ │ │ ├── api/ │ │ │ ├── AdapterGenerator.kt │ │ │ ├── DelegateKey.kt │ │ │ ├── InternalMoshiCodegenApi.kt │ │ │ ├── Options.kt │ │ │ ├── ProguardRules.kt │ │ │ ├── PropertyGenerator.kt │ │ │ ├── TargetConstructor.kt │ │ │ ├── TargetParameter.kt │ │ │ ├── TargetProperty.kt │ │ │ ├── TargetType.kt │ │ │ ├── TypeRenderer.kt │ │ │ ├── kotlintypes.kt │ │ │ └── typeAliasUnwrapping.kt │ │ └── ksp/ │ │ ├── AppliedType.kt │ │ ├── JsonClassSymbolProcessorProvider.kt │ │ ├── KspUtil.kt │ │ ├── MoshiApiUtil.kt │ │ ├── TargetTypes.kt │ │ └── shadedUtil.kt │ └── test/ │ └── java/ │ └── com/ │ └── squareup/ │ └── moshi/ │ └── kotlin/ │ └── codegen/ │ ├── JavaSuperclass.java │ └── ksp/ │ └── JsonClassSymbolProcessorTest.kt ├── moshi-kotlin-tests/ │ ├── build.gradle.kts │ ├── codegen-only/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── test/ │ │ └── kotlin/ │ │ └── com/ │ │ └── squareup/ │ │ └── moshi/ │ │ └── kotlin/ │ │ └── codegen/ │ │ ├── CompileOnlyTests.kt │ │ ├── ComplexGenericsInheritanceTest.kt │ │ ├── DefaultConstructorTest.kt │ │ ├── GeneratedAdaptersTest.kt │ │ ├── GeneratedAdaptersTest_CustomGeneratedClassJsonAdapter.kt │ │ ├── LooksLikeAClass/ │ │ │ └── ClassInPackageThatLooksLikeAClass.kt │ │ ├── MixingReflectAndCodeGen.kt │ │ ├── MoshiKspTest.kt │ │ ├── MultipleMasksTest.kt │ │ └── annotation/ │ │ └── UppercaseInAnnotationPackage.kt │ ├── extra-moshi-test-module/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── main/ │ │ └── kotlin/ │ │ └── com/ │ │ └── squareup/ │ │ └── moshi/ │ │ └── kotlin/ │ │ └── codegen/ │ │ └── test/ │ │ └── extra/ │ │ └── AbstractClassInModuleA.kt │ └── src/ │ └── test/ │ └── kotlin/ │ └── com/ │ └── squareup/ │ └── moshi/ │ └── kotlin/ │ ├── DualKotlinTest.kt │ └── reflect/ │ └── KotlinJsonAdapterTest.kt ├── releasing.md └── settings.gradle.kts