* Initial pass at converting LinkedHashTreeMap to Kotlin
* Update tests as needed
* Remove Arrays use
* Separate find nullability
* Clean up a few expression bodies
* Various little cleanups and warnings
* Sprinkle in some knownNotNulls where useful
* add() is not implemented
* clean up some visibility and properties that can be fields
* Some minor formatting
* Some minor formatting
* Rename AdapterMethodsFactory from java to kt
* Convert AdapterMethodsFactory.java to AdapterMethodsFactory.kt
* Make kotlin more idiomatic
* Use forEach loop
* Spotless
* More idiomatic kotlin
* Inline toString
* Address comments from PR
* Address comments in PR review
* Spotless
* Use templated string for error message
* Add japicmp exclusion for internal AdapterMethodsFacotry#get method
* Convert if to when
* Convert if to when
* Use templated strings
* Replace forEach with for loop
* Simplify expression
* Add local val to avoid cast
* Update moshi/src/main/java/com/squareup/moshi/AdapterMethodsFactory.kt
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Better variable names
* Exclude entire AdapterMethodsFactory class in japicmp
* Update moshi/src/main/java/com/squareup/moshi/AdapterMethodsFactory.kt
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Update moshi/src/main/java/com/squareup/moshi/AdapterMethodsFactory.kt
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Update moshi/src/main/java/com/squareup/moshi/AdapterMethodsFactory.kt
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Update moshi/src/main/java/com/squareup/moshi/AdapterMethodsFactory.kt
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Import knownNotNull
* Add requireNull in Util to create error message
* Rename argument
* Convert error message to raw string
* Use generateSequence to iterate through the superclasses
* Use it rather than complicated name
* Rename requireNull to checkNull, and remove contract
* Fix tests since error type changed
* Update moshi/src/main/java/com/squareup/moshi/internal/Util.kt
Co-authored-by: Spencer Griffin <sgriffin@ancestry.com>
Co-authored-by: Zac Sweers <pandanomic@gmail.com>
* Rename .java to .kt
* Convert JsonReader to Kotlin
Made it sealed along the way like JsonWriter
Some of the properties had different docs for setting and getting, which dokka doesn't seem to have a nice way to differentiate. Went with a little marked up form but open to suggestions.
* Restore isLenient name to lenient
This plays nice for both java and kotlin consumers, as it's still isLenient to java consumers but not a source breaking change for kotlin
* Fix peek nullability and a kotlin source change
* Fix another nullability
* Use collection builders
* Ok this didn't work quite as I expected
* Update moshi/src/main/java/com/squareup/moshi/JsonReader.kt
Co-authored-by: Parth Padgaonkar <1294660+JvmName@users.noreply.github.com>
Co-authored-by: Parth Padgaonkar <1294660+JvmName@users.noreply.github.com>
* Rename .java to .kt
* Convert MapJsonAdapter to Kotlin
* Pull up factory into companion object
* Spotless
* apicmp
* Use knownNotNull
* Use a template
* Rename .java to .kt
* Convert StandardJsonAdapters to Kotlin
* Inline factory to object
* Idiomatic cleanups + japicmp
* Fixes
* Another idiomatatic bit
* Use knownNotNull() where applicable
* Rename .java to .kt
* Convert JsonAdapter to Kotlin
Note that there's more to be done here I think, namely exploring removing the NonNull adapter and making the nullSafe() adapter public so that nullability is directly in the API. Saving that for another day though
* Update a couple usages
* Fix override
* Add exclusion for open
* Add `@Language` annotation for json strings
Allows the IDE to automatically make this pretty
* Spotless
* Nullable
Co-authored-by: Egor Andreevich <egor@squareup.com>
* When
Co-authored-by: Parth Padgaonkar <1294660+JvmName@users.noreply.github.com>
* Another when
* Spotless
Co-authored-by: Egor Andreevich <egor@squareup.com>
Co-authored-by: Parth Padgaonkar <1294660+JvmName@users.noreply.github.com>
* Rename .java to .kt
* Convert NonNullJsonAdapter
* Rename .java to .kt
* Convert NullSafeJsonAdapter
* Fix missing null-check
* Rename .java to .kt
* Convert Util (initial pass)
* Push to top-level Util
* Use extensions and properties where possible
* Use knownNotNull
* Spotless
* Clean up impl type classes a bit
* Update code gen
* Use extension for resolving
* Spotless
* Fix master conflicts
* Rename to toStringWithAnnotations()
* for (t in args.indices) {
* for (i in interfaces.indices) {
* Template
The javadoc task assumes every doc starts with h1 and thus using them anywhere in the body after the start is an error ¯\_(ツ)_/¯. This just changes them to h2
* Fix exhaustive when in JsonUtf8Reader
This accidentally snuck into master because it predates the Kotlin 1.6 upgrade
* Fix nextInt too
* Clean up a few little warnings opportunistically
* Fix comment
* Use knownNotNull
* initial attempt
* passing tests
* cleanup
* Apply suggestions from code review
Co-authored-by: Jake Wharton <github@jakewharton.com>
* split `also` to two lines
* remove !! and labels
* spotless
* Apply suggestions from code review
Co-authored-by: Jake Wharton <github@jakewharton.com>
* clean up a few more things
* pull duplicated code into an inline fun
* missed one
* refactor double field evaluation to inline fun
* spotless
* Apply suggestions from code review
Co-authored-by: Jake Wharton <github@jakewharton.com>
* var -> val
Co-authored-by: Jake Wharton <github@jakewharton.com>